Main Page | Modules | Namespace List | Class Hierarchy | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages

MESH_Transform.h

Go to the documentation of this file.
00001 #ifndef X3DTK_MESH_TRANSFORM_H
00002 #define X3DTK_MESH_TRANSFORM_H
00003 
00004 #include "MESH_X3DGroupingNode.h"
00005 
00006 namespace X3DTK {
00007 namespace MESH {
00008 
00015 class Transform : public X3DGroupingNode
00016 {
00017 public:
00019   Transform();
00021   Transform(const SFVec3f &center, 
00022             const SFRotation &rotation, 
00023             const SFVec3f &scale,  
00024             const SFRotation &scaleOrientation,  
00025             const SFVec3f &translation);
00027   virtual SFNode clone() const;
00029   virtual ~Transform();
00030   
00032   void setCenter(const SFVec3f &center);
00034   void setRotation(const SFRotation &rotation);
00036   void setScale(const SFVec3f &scale);
00038   void setScaleOrientation(const SFRotation &scaleOrientation);
00040   void setTranslation(const SFVec3f &translation);
00041 
00043   inline const SFVec3f &getCenter() const {return _center;};
00045   inline const SFRotation &getRotation() const {return _rotation;};
00047   inline const SFVec3f &getScale() const {return _scale;};
00049   inline const SFRotation &getScaleOrientation() const {return _scaleOrientation;};
00051   inline const SFVec3f &getTranslation() const {return _translation;};
00052   
00054   SFMatrix34f getTransform() const;
00055   
00056 protected:
00058   Transform(const Transform &T);
00059   
00060 private:
00061   SFVec3f _center;
00062   SFRotation _rotation;
00063   SFVec3f _scale;
00064   SFRotation _scaleOrientation;
00065   SFVec3f _translation;
00066 };
00067 
00068 }
00069 }
00070 
00071 #endif

Generated on Wed Apr 7 12:15:20 2004 for X3DToolKit by doxygen 1.3.3