00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef _COLLADAFCURVE_H
00013 #define _COLLADAFCURVE_H
00014
00015 #include "FCurve.h"
00016 #include "SL_Enum.h"
00017
00018 #define ELEM_TIME 0
00019 #define ELEM_VALUE 1
00020 #define ELEM_IN_TAN 2
00021 #define ELEM_OUT_TAN 3
00022 #define ELEM_INTERP 4
00023
00024
00026 class XSIEXPORT CSLCOLLADAFCurve
00027 : public CSLFCurve
00028 {
00029 public:
00039 CSLCOLLADAFCurve
00040 (
00041 CSLScene* in_pScene,
00042 CSLModel *in_pModel,
00043 CdotXSITemplate* in_pTemplate,
00044 EFCurveType in_Type,
00045 EFCurveInterpolationType in_InterpolationType
00046 );
00047
00050 virtual ~CSLCOLLADAFCurve();
00051
00056 virtual SI_Error Synchronize();
00057
00062 virtual SI_Error ConnectCOLLADAAnimation( CCOLLADATemplate* in_pChannel, const int in_offset = 0);
00063
00064 private:
00065
00066 SI_Void GetFloatArrayFromCurve ( CSIBCArray<float>& inout_Array, int in_iElement );
00067 SI_Void AddSource ( CCOLLADATemplate* in_pAnimation,
00068 int in_iElement,
00069 SI_Char* in_szPrefix,
00070 SI_Char* in_szID,
00071 SI_Char* in_szOutput,
00072 CCOLLADATemplate* in_pSampler);
00073
00074 };
00075
00076 #endif