00001 00020 #ifndef TRANSFORM_H_ 00021 #define TRANSFORM_H_ 00022 00023 #include "Node.hh" 00024 #include "Attribute.hh" 00025 #include "SFVec3f.hh" 00026 #include "SFRotation.hh" 00027 00028 namespace vrml1 00029 { 00030 00031 class Transform : public vrml1::Node 00032 { 00033 public: 00034 Transform(); 00035 00036 void setTranslation(SFVec3f translation); 00037 SFVec3f translation() const; 00038 00039 void setRotation(SFRotation rotation); 00040 SFRotation rotation() const; 00041 00042 void setScaleFactor(SFVec3f scaleFactor); 00043 SFVec3f scaleFactor() const; 00044 00045 void setScaleOrientation(SFRotation scaleOrientation); 00046 SFRotation scaleOrientation() const; 00047 00048 void setCenter(SFVec3f center); 00049 SFVec3f center() const; 00050 00051 virtual void setAttribute(Attribute *A); 00052 00053 private: 00054 SFVec3f m_translation; 00055 SFRotation m_rotation; 00056 SFVec3f m_scaleFactor; 00057 SFRotation m_scaleOrientation; 00058 SFVec3f m_center; 00059 }; 00060 00061 } 00062 00063 #endif /*TRANSFORM_H_*/