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 SI_Char* GetName();
00075
00079 SI_Void SetName( const SI_Char* in_szName );
00080
00084 virtual SI_Float GetFloatValue() = 0;
00085
00089 virtual SI_Void SetFloatValue(SI_Float in_fValue) = 0;
00090
00096 virtual SI_Error Connect ( CdotXSITemplate* in_pTemplate, SI_Int in_iIndex);
00097
00108 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 );
00109
00113 virtual CdotXSIParam* ParameterReference();
00114
00115 protected:
00116
00119 CSLAnimatableType();
00120
00123 ~CSLAnimatableType();
00124
00125 private:
00126
00127 CSLAnimatableType(CSLAnimatableType&){};
00128 CdotXSIParam* m_pReference;
00129 };
00130
00131 #endif //__ANIMATABLETYPE_H__