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 _COLLADAACTION_H
00025 #define _COLLADAACTION_H
00026
00027 #include "Action.h"
00028 #include "ActionFCurve.h"
00029
00042 class XSIEXPORT CSLCOLLADAAction
00043 : public CSLAction
00044 {
00045 public:
00051 CSLCOLLADAAction(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00052
00055 virtual ~CSLCOLLADAAction();
00056
00060 virtual SI_Error Synchronize();
00061
00065 virtual SI_Error Fix();
00066
00070 virtual SI_Float GetEndTime();
00071
00075 virtual SI_Void SetEndTime( SI_Float in_fTime );
00076
00080 virtual SI_Float GetStartTime();
00081
00085 virtual SI_Void SetStartTime( SI_Float in_fTime );
00086
00090 virtual CSLActionFCurve* AddAnimation();
00091
00096 virtual CSLActionFCurve* AddAnimation( EFCurveInterpolationType in_InterpolationType );
00097
00098 private:
00099
00100 SI_Void *m_pReserved;
00101 CdotXSIParam *m_pStart;
00102 CdotXSIParam *m_pEnd;
00103
00104 };
00105
00106 #include "BaseFCurve.h"
00107
00112 class XSIEXPORT CSLCOLLADAActionFCurve
00113 : public CSLActionFCurve
00114 {
00115 public:
00116
00124 CSLCOLLADAActionFCurve(CSLScene* in_pScene,
00125 CSLModel *in_pModel,
00126 CdotXSITemplate* in_pTemplate,
00127 EFCurveInterpolationType in_InterpolationType);
00128
00131 virtual ~CSLCOLLADAActionFCurve();
00132
00136 virtual SI_Error Synchronize();
00137
00142 virtual SI_Error ConnectCOLLADAAnimation( CCOLLADATemplate* in_pChannel, const int in_offset = 0);
00143
00148 virtual CSLAnimatableType* ParameterReference();
00149
00150 private:
00151
00152 SI_Void GetFloatArrayFromCurve ( CSIBCArray<float>& inout_Array, int in_iElement );
00153 SI_Void AddSource ( CCOLLADATemplate* in_pAnimation,
00154 int in_iElement,
00155 SI_Char* in_szPrefix,
00156 SI_Char* in_szID,
00157 SI_Char* in_szOutput,
00158 CCOLLADATemplate* in_pSampler);
00159
00160 CSLAnimatableType *m_pParamReference;
00161 SI_Void *m_pReserved;
00162 };
00163
00164
00165 #endif _COLLADAACTION_H