COLLADAFCurve.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
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