00001 #ifndef X3DTK_X3D_TRANSFORM_H 00002 #define X3DTK_X3D_TRANSFORM_H 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DGroupingNode.h" 00006 #include "X3D_X3DBoundedObject.h" 00007 00008 namespace X3DTK { 00009 namespace X3D { 00010 00019 class Transform : public X3DGroupingNode, public X3DBoundedObject 00020 { 00021 public: 00023 Transform(); 00025 virtual ~Transform(); 00026 00028 void setCenter(const SFVec3f ¢er); 00030 void setRotation(const SFRotation &rotation); 00032 void setScale(const SFVec3f &scale); 00034 void setScaleOrientation(const SFRotation &scaleOrientation); 00036 void setTranslation(const SFVec3f &translation); 00037 00039 inline const SFVec3f &getCenter() const {return _center;}; 00041 inline const SFRotation &getRotation() const {return _rotation;}; 00043 inline const SFVec3f &getScale() const {return _scale;}; 00045 inline const SFRotation &getScaleOrientation() const {return _scaleOrientation;}; 00047 inline const SFVec3f &getTranslation() const {return _translation;}; 00048 00049 private: 00051 SFVec3f _center; 00053 SFRotation _rotation; 00055 SFVec3f _scale; 00057 SFRotation _scaleOrientation; 00059 SFVec3f _translation; 00060 }; 00061 00062 } 00063 } 00064 00065 #endif