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(); 00024 00026 void setCenter(const SFVec3f ¢er); 00028 void setRotation(const SFRotation &rotation); 00030 void setScale(const SFVec3f &scale); 00032 void setScaleOrientation(const SFRotation &scaleOrientation); 00034 void setTranslation(const SFVec3f &translation); 00035 00037 inline const SFVec3f &getCenter() const {return _center;}; 00039 inline const SFRotation &getRotation() const {return _rotation;}; 00041 inline const SFVec3f &getScale() const {return _scale;}; 00043 inline const SFRotation &getScaleOrientation() const {return _scaleOrientation;}; 00045 inline const SFVec3f &getTranslation() const {return _translation;}; 00046 00047 private: 00049 SFVec3f _center; 00051 SFRotation _rotation; 00053 SFVec3f _scale; 00055 SFRotation _scaleOrientation; 00057 SFVec3f _translation; 00058 }; 00059 00060 } 00061 } 00062 00063 #endif