Added DOFTransform, MatrixTransform and PositionAttitudeTransform to NodeVisitor.
Added osg::Matrix/Quat::makeRotate(angle1,axis1,angle2,axis2,angle3,axis3) and osg::Matrix::rotate(angle1,axis1,angle2,axis2,angle3,axis3) method. Made osg::Matrix/Quat::makeRotate(heading,pitch,roll) and osg::Matrix::rotate(heading,pitch,roll) all deprecated API. Fixed the Quat*Quat & Quat*=Quat multiplication methods so that they multiplied in the correct order - they were reversed originally due to the Quat code being based on code example which used the v' = M v ordering, rather than the OSG's v' = v M ordering.
This commit is contained in:
@@ -17,6 +17,9 @@ class LightSource;
|
||||
class ClipNode;
|
||||
class Group;
|
||||
class Transform;
|
||||
class DOFTransform;
|
||||
class MatrixTransform;
|
||||
class PositionAttitudeTransform;
|
||||
class Projection;
|
||||
class LOD;
|
||||
class Switch;
|
||||
@@ -187,22 +190,28 @@ class SG_EXPORT NodeVisitor : public Referenced
|
||||
const bool getWorldToLocalMatrix(Matrix& matrix, Node* node);
|
||||
|
||||
|
||||
virtual void apply(Node& node) { traverse(node);}
|
||||
virtual void apply(Node& node) { traverse(node);}
|
||||
|
||||
virtual void apply(Geode& node) { apply((Node&)node); }
|
||||
virtual void apply(Billboard& node) { apply((Geode&)node); }
|
||||
virtual void apply(LightSource& node) { apply((Node&)node); }
|
||||
virtual void apply(ClipNode& node) { apply((Node&)node); }
|
||||
virtual void apply(Geode& node) { apply((Node&)node); }
|
||||
virtual void apply(Billboard& node) { apply((Geode&)node); }
|
||||
virtual void apply(LightSource& node) { apply((Node&)node); }
|
||||
virtual void apply(ClipNode& node) { apply((Node&)node); }
|
||||
|
||||
virtual void apply(Group& node) { apply((Node&)node); }
|
||||
virtual void apply(Projection& node) { apply((Group&)node); }
|
||||
virtual void apply(Transform& node) { apply((Group&)node); }
|
||||
virtual void apply(Switch& node) { apply((Group&)node); }
|
||||
virtual void apply(Sequence& node) { apply((Switch&)node); }
|
||||
virtual void apply(LOD& node) { apply((Group&)node); }
|
||||
virtual void apply(Impostor& node) { apply((LOD&)node); }
|
||||
virtual void apply(EarthSky& node) { apply((Group&)node); }
|
||||
virtual void apply(OccluderNode& node) { apply((Group&)node); }
|
||||
virtual void apply(Group& node) { apply((Node&)node); }
|
||||
|
||||
virtual void apply(Projection& node) { apply((Group&)node); }
|
||||
|
||||
virtual void apply(Transform& node) { apply((Group&)node); }
|
||||
virtual void apply(DOFTransform& node) { apply((Transform&)node); }
|
||||
virtual void apply(MatrixTransform& node) { apply((Transform&)node); }
|
||||
virtual void apply(PositionAttitudeTransform& node) { apply((Transform&)node); }
|
||||
|
||||
virtual void apply(Switch& node) { apply((Group&)node); }
|
||||
virtual void apply(Sequence& node) { apply((Switch&)node); }
|
||||
virtual void apply(LOD& node) { apply((Group&)node); }
|
||||
virtual void apply(Impostor& node) { apply((LOD&)node); }
|
||||
virtual void apply(EarthSky& node) { apply((Group&)node); }
|
||||
virtual void apply(OccluderNode& node) { apply((Group&)node); }
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
Reference in New Issue
Block a user