From 14980872a7f0aa9519fd803482b7608c2b79b669 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Sun, 4 Sep 2005 11:17:00 +0000 Subject: [PATCH] Standardised the Vec* class interfaces, and added num_components enum to aid generic programming. --- include/osg/Vec2b | 42 +++++-- include/osg/Vec2d | 6 + include/osg/Vec2f | 7 ++ include/osg/Vec2s | 137 ++++++++++++--------- include/osg/Vec3b | 51 +++++--- include/osg/Vec3d | 6 + include/osg/Vec3f | 8 +- include/osg/Vec3s | 151 +++++++++++++++--------- include/osg/Vec4b | 60 ++++++---- include/osg/Vec4d | 9 +- include/osg/Vec4f | 7 +- include/osg/Vec4s | 151 +++++++++++++++--------- include/osg/Vec4ub | 22 ++-- src/osgPlugins/ive/DataOutputStream.cpp | 18 +-- 14 files changed, 431 insertions(+), 244 deletions(-) diff --git a/include/osg/Vec2b b/include/osg/Vec2b index 930ceb5fd..dae8f8029 100644 --- a/include/osg/Vec2b +++ b/include/osg/Vec2b @@ -28,6 +28,15 @@ class Vec2b // Methods are defined here so that they are implicitly inlined + /** Type of Vec class.*/ + typedef char value_type; + + /** Number of vector components. */ + enum { num_components = 2 }; + + /** Vec member varaible. */ + value_type _v[2]; + Vec2b() { _v[0]=0; _v[1]=0; } Vec2b(char r, char g) @@ -35,8 +44,6 @@ class Vec2b _v[0]=r; _v[1]=g; } - char _v[2]; - inline bool operator == (const Vec2b& v) const { return _v[0]==v._v[0] && _v[1]==v._v[1]; } inline bool operator != (const Vec2b& v) const { return _v[0]!=v._v[0] || _v[1]!=v._v[1]; } @@ -48,22 +55,33 @@ class Vec2b else return (_v[1]v._v[0]) return false; - else return (_v[1]v._v[0]) return false; + else return (_v[1]v._v[0]) return false; - else if (_v[1]v._v[1]) return false; - else return (_v[2]v._v[0]) return false; + else if (_v[1]v._v[1]) return false; + else return (_v[2]v._v[0]) return false; + else if (_v[1]v._v[1]) return false; + else if (_v[2]v._v[2]) return false; + else return (_v[3]v._v[0]) return false; - else if (_v[1]v._v[1]) return false; - else if (_v[2]v._v[2]) return false; - else return (_v[3]getNumElements(); writeInt(size); for(int i =0; igetNumElements(); writeInt(size); for(int i =0; igetNumElements(); writeInt(size); for(int i =0; i