From Paul Obermeier, "Please find enclosed some changed OSG header files.
The changes are more or less just beautifications (when looked at them from the C++ view), but make wrapping OSG with SWIG easier. I have tested the changes with both 2.8.1-rc4 and the current head and would appreciate to incorporate the changes in both branches. Here is a description of the changes: osg/BoundingSphere: Use the following typedef (like used in BoundingBox) typedef typename VT::value_type value_type; instead of typedef typename vec_type::value_type value_type; SWIG reports errors on the latter construct. Also makes it consistent with BoundingBox. osg/Vec4ub: Consistent use of "value_type" throughout the file. osg/Vec?b: Consistent use of "value_type" throughout the files. Also changed typedef char value_type; to typedef signed char value_type; In the case of a simple "char", SWIG assumes a string. Using "signed char" instead of "char" does not change the behaviour of the class. "
This commit is contained in:
parent
47c922b0e5
commit
7dead3f52d
@ -35,7 +35,7 @@ class BoundingSphereImpl
|
||||
{
|
||||
public:
|
||||
typedef VT vec_type;
|
||||
typedef typename vec_type::value_type value_type;
|
||||
typedef typename VT::value_type value_type;
|
||||
|
||||
vec_type _center;
|
||||
value_type _radius;
|
||||
|
@ -29,7 +29,7 @@ class Vec2b
|
||||
// Methods are defined here so that they are implicitly inlined
|
||||
|
||||
/** Type of Vec class.*/
|
||||
typedef char value_type;
|
||||
typedef signed char value_type;
|
||||
|
||||
/** Number of vector components. */
|
||||
enum { num_components = 2 };
|
||||
@ -39,7 +39,7 @@ class Vec2b
|
||||
|
||||
Vec2b() { _v[0]=0; _v[1]=0; }
|
||||
|
||||
Vec2b(char r, char g)
|
||||
Vec2b(value_type r, value_type g)
|
||||
{
|
||||
_v[0]=r; _v[1]=g;
|
||||
}
|
||||
@ -94,8 +94,8 @@ class Vec2b
|
||||
/** Unary multiply by scalar. */
|
||||
inline Vec2b& operator *= (float rhs)
|
||||
{
|
||||
_v[0]=(char)((float)_v[0]*rhs);
|
||||
_v[1]=(char)((float)_v[1]*rhs);
|
||||
_v[0]=(value_type)((float)_v[0]*rhs);
|
||||
_v[1]=(value_type)((float)_v[1]*rhs);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@ class Vec3b
|
||||
public:
|
||||
|
||||
/** Type of Vec class.*/
|
||||
typedef char value_type;
|
||||
typedef signed char value_type;
|
||||
|
||||
/** Number of vector components. */
|
||||
enum { num_components = 3 };
|
||||
@ -94,9 +94,9 @@ class Vec3b
|
||||
/** Unary multiply by scalar. */
|
||||
inline Vec3b& operator *= (float rhs)
|
||||
{
|
||||
_v[0]=(char)((float)_v[0]*rhs);
|
||||
_v[1]=(char)((float)_v[1]*rhs);
|
||||
_v[2]=(char)((float)_v[2]*rhs);
|
||||
_v[0]=(value_type)((float)_v[0]*rhs);
|
||||
_v[1]=(value_type)((float)_v[1]*rhs);
|
||||
_v[2]=(value_type)((float)_v[2]*rhs);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@ class Vec4b
|
||||
public:
|
||||
|
||||
/** Type of Vec class.*/
|
||||
typedef char value_type;
|
||||
typedef signed char value_type;
|
||||
|
||||
/** Number of vector components. */
|
||||
enum { num_components = 4 };
|
||||
@ -101,10 +101,10 @@ class Vec4b
|
||||
/** Unary multiply by scalar. */
|
||||
inline Vec4b& operator *= (float rhs)
|
||||
{
|
||||
_v[0]=(char)((float)_v[0]*rhs);
|
||||
_v[1]=(char)((float)_v[1]*rhs);
|
||||
_v[2]=(char)((float)_v[2]*rhs);
|
||||
_v[3]=(char)((float)_v[3]*rhs);
|
||||
_v[0]=(value_type)((float)_v[0]*rhs);
|
||||
_v[1]=(value_type)((float)_v[1]*rhs);
|
||||
_v[2]=(value_type)((float)_v[2]*rhs);
|
||||
_v[3]=(value_type)((float)_v[3]*rhs);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
@ -62,26 +62,26 @@ class Vec4ub
|
||||
else return (_v[3]<v._v[3]);
|
||||
}
|
||||
|
||||
inline unsigned char* ptr() { return _v; }
|
||||
inline const unsigned char* ptr() const { return _v; }
|
||||
inline value_type* ptr() { return _v; }
|
||||
inline const value_type* ptr() const { return _v; }
|
||||
|
||||
inline void set(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
|
||||
inline void set(value_type r, value_type g, value_type b, value_type a)
|
||||
{
|
||||
_v[0]=r; _v[1]=g; _v[2]=b; _v[3]=a;
|
||||
}
|
||||
|
||||
inline unsigned char& operator [] (unsigned int i) { return _v[i]; }
|
||||
inline unsigned char operator [] (unsigned int i) const { return _v[i]; }
|
||||
inline value_type& operator [] (unsigned int i) { return _v[i]; }
|
||||
inline value_type operator [] (unsigned int i) const { return _v[i]; }
|
||||
|
||||
inline unsigned char& r() { return _v[0]; }
|
||||
inline unsigned char& g() { return _v[1]; }
|
||||
inline unsigned char& b() { return _v[2]; }
|
||||
inline unsigned char& a() { return _v[3]; }
|
||||
inline value_type& r() { return _v[0]; }
|
||||
inline value_type& g() { return _v[1]; }
|
||||
inline value_type& b() { return _v[2]; }
|
||||
inline value_type& a() { return _v[3]; }
|
||||
|
||||
inline unsigned char r() const { return _v[0]; }
|
||||
inline unsigned char g() const { return _v[1]; }
|
||||
inline unsigned char b() const { return _v[2]; }
|
||||
inline unsigned char a() const { return _v[3]; }
|
||||
inline value_type r() const { return _v[0]; }
|
||||
inline value_type g() const { return _v[1]; }
|
||||
inline value_type b() const { return _v[2]; }
|
||||
inline value_type a() const { return _v[3]; }
|
||||
|
||||
/** Multiply by scalar. */
|
||||
inline Vec4ub operator * (float rhs) const
|
||||
@ -94,10 +94,10 @@ class Vec4ub
|
||||
/** Unary multiply by scalar. */
|
||||
inline Vec4ub& operator *= (float rhs)
|
||||
{
|
||||
_v[0]=(unsigned char)((float)_v[0]*rhs);
|
||||
_v[1]=(unsigned char)((float)_v[1]*rhs);
|
||||
_v[2]=(unsigned char)((float)_v[2]*rhs);
|
||||
_v[3]=(unsigned char)((float)_v[3]*rhs);
|
||||
_v[0]=(value_type)((float)_v[0]*rhs);
|
||||
_v[1]=(value_type)((float)_v[1]*rhs);
|
||||
_v[2]=(value_type)((float)_v[2]*rhs);
|
||||
_v[3]=(value_type)((float)_v[3]*rhs);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user