Transform.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _TRANSFORM_H
00015 #define _TRANSFORM_H
00016 
00017 #include "Template.h"
00018 
00026 class XSIEXPORT CSLTransform
00027     : public CSLTemplate
00028 {
00029 public:
00030     CSLTransform(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00031     virtual ~CSLTransform();
00032 
00036     CSIBCMatrix4x4 GetMatrix();
00037 
00041     SI_Void SetMatrix(CSIBCMatrix4x4 &in_rValue);
00042 
00046     CSIBCVector3D GetEulerRotation();
00047 
00051     SI_Void SetEulerRotation(CSIBCVector3D &in_rValue);
00052 
00056     CSIBCVector3D GetScale();
00057 
00061     SI_Void SetScale(CSIBCVector3D &in_rValue);
00062 
00066     CSIBCVector3D GetTranslation();
00067 
00071     SI_Void SetTranslation(CSIBCVector3D &in_rValue);
00072 
00076     SI_Error ComputeLocalMatrix();
00077 
00081     SI_Error ComputeGlobalMatrix();
00082 
00086     CSIBCMatrix4x4 &GetGlobalMatrix();
00087 
00091     SI_Void SetGlobalMatrix(CSIBCMatrix4x4 &in_rValue);
00092 
00093     virtual CSLAnimatableType* ParameterFromName(SI_Char *in_szName);
00094     virtual CSLAnimatableType* ParameterFromType(EFCurveType in_Type, SI_Char *in_szParameterName);
00095 
00099     virtual ETemplateType Type();
00100 
00101 private:
00102     CSLVector3DProxy m_Scale;
00103     CSLVector3DProxy m_Rotation;
00104     CSLVector3DProxy m_Translation;
00105     CSIBCMatrix4x4 m_TransformMatrix;
00106     CSIBCMatrix4x4 m_GlobalMatrix;
00107 
00108     void *m_pReserved;  // reserved for future extension
00109 };
00110 
00111 #endif