AnimatableType.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef __ANIMATABLETYPE_H__
00015 #define __ANIMATABLETYPE_H__
00016 
00017 #include <dotXSITemplate.h> // CDotXSITemplate
00018 #include <COLLADATemplate.h> // CCOLLADATemplate
00019 #include <dotXSIParam.h>    // CdotXSIParam
00020 
00021 class CSLCOLLADAScene;
00022 class CSLTemplate;
00023 
00025 // Actual definition of the CSLAnimatable class
00027 
00032 class XSIEXPORT CSLAnimatableType
00033 {
00034 public:
00035 
00038     enum EElementType
00039     {
00040         SI_BOOL_TYPE,       
00041         SI_BYTE_TYPE,       
00042         SI_UBYTE_TYPE,      
00043         SI_DOUBLE_TYPE,     
00044         SI_FLOAT_TYPE,      
00045         SI_INT_TYPE,        
00046         SI_LONG_TYPE,       
00047         SI_ULONG_TYPE,      
00048         SI_SHORT_TYPE,      
00049         SI_VARIANT_TYPE,    
00050         SI_ENUM_TYPE,       
00051         SI_STRING_ENUM_TYPE,
00052     };
00053 
00057     virtual EElementType Type() = 0;
00058 
00062     SI_Char* GetName();
00063 
00067     SI_Void SetName( const SI_Char* in_szName );
00068 
00072     virtual SI_Float GetFloatValue() = 0;
00073 
00077     virtual SI_Void SetFloatValue(SI_Float in_fValue) = 0;
00078 
00084     virtual SI_Error Connect ( CdotXSITemplate* in_pTemplate, SI_Int in_iIndex);
00085 
00096     virtual SI_Error ConnectSID (CSLTemplate *in_pTemplate, CCOLLADATemplate *in_pOwner, SI_Int in_nIndex, const char* in_szAddress, CSLCOLLADAScene* in_pScene, int in_CurveType, const char* in_XSIName );
00097 
00101     virtual CdotXSIParam*   ParameterReference();
00102 
00103 protected:
00104 
00107     CSLAnimatableType();
00108 
00111     ~CSLAnimatableType();
00112 
00113 private:
00114     // no copy constructor
00115     CSLAnimatableType(CSLAnimatableType&){};
00116     CdotXSIParam* m_pReference;
00117 };
00118 
00119 #endif //__ANIMATABLETYPE_H__