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 virtual ~Transform(); 00022 00024 void setCenter(const SFVec3f ¢er); 00026 void setRotation(const SFRotation &rotation); 00028 void setScale(const SFVec3f &scale); 00030 void setScaleOrientation(const SFRotation &scaleOrientation); 00032 void setTranslation(const SFVec3f &translation); 00033 00035 inline const SFVec3f &getCenter() const {return _center;}; 00037 inline const SFRotation &getRotation() const {return _rotation;}; 00039 inline const SFVec3f &getScale() const {return _scale;}; 00041 inline const SFRotation &getScaleOrientation() const {return _scaleOrientation;}; 00043 inline const SFVec3f &getTranslation() const {return _translation;}; 00044 00046 SFMatrix34f getTransform() const; 00047 00048 private: 00049 SFVec3f _center; 00050 SFRotation _rotation; 00051 SFVec3f _scale; 00052 SFRotation _scaleOrientation; 00053 SFVec3f _translation; 00054 }; 00055 00056 } 00057 } 00058 00059 #endif