Added support for osg::Transform::asMatrixTransform, asPositionAttitudeTransform

and as DOFTransform.
This commit is contained in:
Robert Osfield 2003-01-24 09:37:56 +00:00
parent 1ce53fcfba
commit 0d4e969746
4 changed files with 18 additions and 0 deletions

View File

@ -52,6 +52,9 @@ class SG_EXPORT DOFTransform : public Transform
META_Node(osg, DOFTransform);
virtual DOFTransform* asDOFTransform() { return this; }
virtual const DOFTransform* asDOFTransform() const { return this; }
virtual void traverse(NodeVisitor& nv);
void setMinHPR(const Vec3& hpr) { _minHPR = hpr;}

View File

@ -37,6 +37,10 @@ class SG_EXPORT MatrixTransform : public Transform
META_Node(osg, MatrixTransform);
virtual MatrixTransform* asMatrixTransform() { return this; }
virtual const MatrixTransform* asMatrixTransform() const { return this; }
/** Set the transform's matrix.*/
void setMatrix(const Matrix& mat) { _matrix = mat; _inverseDirty=true; dirtyBound(); }

View File

@ -38,6 +38,8 @@ class SG_EXPORT PositionAttitudeTransform : public Transform
META_Node(osg, PositionAttitudeTransform);
virtual PositionAttitudeTransform* asPositionAttitudeTransform() { return this; }
virtual const PositionAttitudeTransform* asPositionAttitudeTransform() const { return this; }
inline void setPosition(const Vec3& pos) { _position = pos; dirtyBound(); }

View File

@ -57,6 +57,15 @@ class SG_EXPORT Transform : public Group
virtual Transform* asTransform() { return this; }
virtual const Transform* asTransform() const { return this; }
virtual MatrixTransform* asMatrixTransform() { return 0; }
virtual const MatrixTransform* asMatrixTransform() const { return 0; }
virtual PositionAttitudeTransform* asPositionAttitudeTransform() { return 0; }
virtual const PositionAttitudeTransform* asPositionAttitudeTransform() const { return 0; }
virtual DOFTransform* asDOFTransform() { return 0; }
virtual const DOFTransform* asDOFTransform() const { return 0; }
enum ReferenceFrame
{
RELATIVE_TO_PARENTS,