00001
00002
00012
00013
00014 #ifndef _COLLADAFCURVE_H
00015 #define _COLLADAFCURVE_H
00016
00017 #include "FCurve.h"
00018 #include "SL_Enum.h"
00019
00020 #define ELEM_TIME 0
00021 #define ELEM_VALUE 1
00022 #define ELEM_IN_TAN 2
00023 #define ELEM_OUT_TAN 3
00024 #define ELEM_INTERP 4
00025
00026
00029 class XSIEXPORT CSLCOLLADAFCurve
00030 : public CSLFCurve
00031 {
00032 public:
00041 CSLCOLLADAFCurve
00042 (
00043 CSLScene* in_pScene,
00044 CSLModel *in_pModel,
00045 CdotXSITemplate* in_pTemplate,
00046 EFCurveType in_Type,
00047 EFCurveInterpolationType in_InterpolationType
00048 );
00049
00052 virtual ~CSLCOLLADAFCurve();
00053
00057 virtual SI_Error Synchronize();
00058
00064 virtual SI_Error ConnectCOLLADAAnimation( CCOLLADATemplate* in_pChannel, const int in_offset = 0);
00065
00066 private:
00067
00068 SI_Void GetFloatArrayFromCurve ( CSIBCArray<float>& inout_Array, int in_iElement );
00069 SI_Void AddSource ( CCOLLADATemplate* in_pAnimation,
00070 int in_iElement,
00071 SI_Char* in_szPrefix,
00072 SI_Char* in_szID,
00073 SI_Char* in_szOutput,
00074 CCOLLADATemplate* in_pSampler);
00075
00076 };
00077
00078 #endif