00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __ANIMATABLETYPE_H__
00025 #define __ANIMATABLETYPE_H__
00026
00027 #include <dotXSITemplate.h>
00028 #include <COLLADATemplate.h>
00029 #include <dotXSIParam.h>
00030
00031 class CSLCOLLADAScene;
00032 class CSLTemplate;
00033
00035
00037
00039
00043 class XSIEXPORT CSLAnimatableType
00044 {
00045 public:
00046
00050 enum EElementType
00051 {
00052 SI_BOOL_TYPE,
00053 SI_BYTE_TYPE,
00054 SI_UBYTE_TYPE,
00055 SI_DOUBLE_TYPE,
00056 SI_FLOAT_TYPE,
00057 SI_INT_TYPE,
00058 SI_LONG_TYPE,
00059 SI_ULONG_TYPE,
00060 SI_SHORT_TYPE,
00061 SI_VARIANT_TYPE,
00062 SI_ENUM_TYPE,
00063 SI_STRING_ENUM_TYPE,
00064 };
00065
00069 virtual EElementType Type() = 0;
00070
00074 virtual SI_Float GetFloatValue() = 0;
00075
00079 virtual SI_Void SetFloatValue(SI_Float in_fValue) = 0;
00080
00086 virtual SI_Error Connect ( CdotXSITemplate* in_pTemplate, SI_Int in_iIndex);
00087
00098 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 );
00099
00103 virtual CdotXSIParam* ParameterReference();
00104
00105 protected:
00106
00109 CSLAnimatableType();
00110
00113 ~CSLAnimatableType();
00114
00115 private:
00116
00117 CSLAnimatableType(CSLAnimatableType&){};
00118 CdotXSIParam* m_pReference;
00119 };
00120
00121 #endif //__ANIMATABLETYPE_H__