FCurve.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _FCURVE_H
00015 #define _FCURVE_H
00016 
00017 #include "BaseFCurve.h"
00018 #include "SL_Enum.h"
00019 
00020 extern XSIEXPORT CEnumDictionary<CSLTemplate::EFCurveType, CSLTemplate::SI_INTENSITY> g_FCurveTypeDictionary;
00021 
00022 XSIEXPORT   CEnumDictionary<CSLTemplate::EFCurveType, CSLTemplate::SI_INTENSITY>* GetFCurveEnumDictionary();
00023 
00029 class XSIEXPORT CSLFCurve
00030     : public CSLBaseFCurve
00031 {
00032 public:
00033     typedef CSLStrEnumProxy<EFCurveType, SI_INTENSITY> EFCurveTypeProxy;
00034 
00043     CSLFCurve
00044     (
00045         CSLScene* in_pScene,
00046         CSLModel *in_pModel,
00047         CdotXSITemplate* in_pTemplate,
00048         EFCurveType in_Type,
00049         EFCurveInterpolationType in_InterpolationType
00050     );
00051 
00054     virtual ~CSLFCurve();
00055 
00059     CSLModel* Reference();
00060 
00064     EFCurveType GetFCurveType();
00065 
00069     const SI_Char* GetFCurveTypeAsString();
00070 
00074     virtual SI_Error Synchronize();
00075 
00079     virtual ETemplateType Type();
00080 
00081 private:
00082    EFCurveType m_FCurveType;
00083 
00084     void *m_pReserved;  // reserved for future extension
00085 };
00086 
00087 #endif