class SG_EXPORT osg::MatrixOld

4x4 MatrixOld for storage & manipulation of transformations in scene graph.

Inheritance:


Public Fields

[more]float _mat[4][4]

Public Methods

[more] MatrixOld()
[more] MatrixOld(const MatrixOld& MatrixOld)
[more] MatrixOld( float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)
[more]MatrixOld& operator = (const MatrixOld& MatrixOld)
[more]virtual ~MatrixOld()
[more]virtual Object* clone() const
[more]virtual bool isSameKindAs(const Object* obj) const
[more]virtual const char* className() const
[more]int compare(const MatrixOld& m) const
[more]bool operator < (const MatrixOld& m) const
[more]bool operator == (const MatrixOld& m) const
[more]bool operator != (const MatrixOld& m) const
[more]void makeIdent()
[more]void set(const float* m)
[more]void set( float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)
[more]void copy(const MatrixOld& MatrixOld)
[more]void makeScale(float sx, float sy, float sz)
[more]void preScale( float sx, float sy, float sz, const MatrixOld& m )
[more]void postScale( const MatrixOld& m, float sx, float sy, float sz )
[more]void preScale( float sx, float sy, float sz )
[more]void postScale( float sx, float sy, float sz )
[more]void makeTrans( float tx, float ty, float tz )
[more]void preTrans( float tx, float ty, float tz, const MatrixOld& m )
[more]void postTrans( const MatrixOld& m, float tx, float ty, float tz )
[more]void preTrans( float tx, float ty, float tz )
[more]void postTrans( float tx, float ty, float tz )
[more]void makeRot( const Vec3& old_vec, const Vec3& new_vec )
Calc the rotation MatrixOld which aligns vector \a old_vec with vector \a new_vec.
[more]void makeRot( float deg, float x, float y, float z )
[more]void preRot( float deg, float x, float y, float z, const MatrixOld& m )
[more]void postRot( const MatrixOld& m, float deg, float x, float y, float z )
[more]void preRot( float deg, float x, float y, float z )
[more]void postRot( float deg, float x, float y, float z )
[more]void setTrans( float tx, float ty, float tz )
[more]void setTrans( const Vec3& v )
[more]Vec3 getTrans() const
[more]void preMult(const MatrixOld& m)
[more]void postMult(const MatrixOld& m)
[more]void mult(const MatrixOld& lhs, const MatrixOld& rhs)
[more]MatrixOld operator * (const MatrixOld& m) const
[more]inline static Vec3 transform3x3(const Vec3& v, const MatrixOld& m)
apply apply an 3x3 transform of v*M[02,02]
[more]inline static Vec3 transform3x3(const MatrixOld& m, const Vec3& v)
apply apply an 3x3 transform of M[02,02]*v
[more]bool invert(const MatrixOld& m)
[more]inline Vec3 operator * (const Vec3& v) const
post multipy v.
[more]inline Vec4 operator * (const Vec4& v) const
post multipy v.
[more]inline Vec3 transform3x3(const Vec3& v, const MatrixOld& m)
[more]inline Vec3 transform3x3(const MatrixOld& m, const Vec3& v)


Inherited from Object:


Inherited from Referenced:

Public Methods

oinline void ref() const
oinline void unref() const
oinline const int referenceCount() const

Protected Fields

omutable int _refCount


Documentation

4x4 MatrixOld for storage & manipulation of transformations in scene graph. Provides basic maths operations, IO and via osg::Object reference counting. You can directly load the MatrixOld with OpenGL's LoadMatrixOldf() function via the public member _mat as the MatrixOld is stored in the OpenGL format. Caution: The disadvantage of this feature is, that the MatrixOld access is 'transposed' if you compare it with the standard C/C++ 2d-array-access convention . I.e. _mat[i][j] accesses the ith column of the jth row in the 4x4 MatrixOld.
o MatrixOld()

o MatrixOld(const MatrixOld& MatrixOld)

o MatrixOld( float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)

oMatrixOld& operator = (const MatrixOld& MatrixOld)

ovirtual ~MatrixOld()

ovirtual Object* clone() const

ovirtual bool isSameKindAs(const Object* obj) const

ovirtual const char* className() const

oint compare(const MatrixOld& m) const

obool operator < (const MatrixOld& m) const

obool operator == (const MatrixOld& m) const

obool operator != (const MatrixOld& m) const

ovoid makeIdent()

ovoid set(const float* m)

ovoid set( float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)

ovoid copy(const MatrixOld& MatrixOld)

ovoid makeScale(float sx, float sy, float sz)

ovoid preScale( float sx, float sy, float sz, const MatrixOld& m )

ovoid postScale( const MatrixOld& m, float sx, float sy, float sz )

ovoid preScale( float sx, float sy, float sz )

ovoid postScale( float sx, float sy, float sz )

ovoid makeTrans( float tx, float ty, float tz )

ovoid preTrans( float tx, float ty, float tz, const MatrixOld& m )

ovoid postTrans( const MatrixOld& m, float tx, float ty, float tz )

ovoid preTrans( float tx, float ty, float tz )

ovoid postTrans( float tx, float ty, float tz )

ovoid makeRot( const Vec3& old_vec, const Vec3& new_vec )
Calc the rotation MatrixOld which aligns vector \a old_vec with vector \a new_vec. Both \a old_vec and \a new_vec must have length 1.0.

ovoid makeRot( float deg, float x, float y, float z )

ovoid preRot( float deg, float x, float y, float z, const MatrixOld& m )

ovoid postRot( const MatrixOld& m, float deg, float x, float y, float z )

ovoid preRot( float deg, float x, float y, float z )

ovoid postRot( float deg, float x, float y, float z )

ovoid setTrans( float tx, float ty, float tz )

ovoid setTrans( const Vec3& v )

oVec3 getTrans() const

ovoid preMult(const MatrixOld& m)

ovoid postMult(const MatrixOld& m)

ovoid mult(const MatrixOld& lhs, const MatrixOld& rhs)

oMatrixOld operator * (const MatrixOld& m) const

oinline static Vec3 transform3x3(const Vec3& v, const MatrixOld& m)
apply apply an 3x3 transform of v*M[02,02]

oinline static Vec3 transform3x3(const MatrixOld& m, const Vec3& v)
apply apply an 3x3 transform of M[02,02]*v

obool invert(const MatrixOld& m)

ofloat _mat[4][4]

oinline Vec3 operator * (const Vec3& v) const
post multipy v. ie. (m*v)

oinline Vec4 operator * (const Vec4& v) const
post multipy v. ie. (m*v)

oinline Vec3 transform3x3(const Vec3& v, const MatrixOld& m)

oinline Vec3 transform3x3(const MatrixOld& m, const Vec3& v)


This class has no child classes.
Friends:
inline Vec3 operator * (const Vec3& v,const MatrixOld& m)
inline Vec4 operator * (const Vec4& v,const MatrixOld& m)
inline ostream& operator << (ostream& output, const MatrixOld& MatrixOld)

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.