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