00001 //*************************************************************************************** 00002 // 00003 // File supervisor: Crosswalk team 00004 // 00005 // Copyright 2008 Autodesk, Inc. All rights reserved. 00006 // Use of this software is subject to the terms of the Autodesk license agreement 00007 // provided at the time of installation or download, or which otherwise accompanies 00008 // this software in either electronic or hard copy form. 00009 // 00010 //*************************************************************************************** 00011 00012 #ifndef _FCURVE_H 00013 #define _FCURVE_H 00014 00015 #include "BaseFCurve.h" 00016 #include "SL_Enum.h" 00017 00018 extern XSIEXPORT CEnumDictionary<CSLTemplate::EFCurveType, CSLTemplate::SI_INTENSITY> g_FCurveTypeDictionary; 00019 00020 XSIEXPORT CEnumDictionary<CSLTemplate::EFCurveType, CSLTemplate::SI_INTENSITY>* GetFCurveEnumDictionary(); 00021 00025 class XSIEXPORT CSLFCurve 00026 : public CSLBaseFCurve 00027 { 00028 public: 00029 typedef CSLStrEnumProxy<EFCurveType, SI_INTENSITY> EFCurveTypeProxy; 00030 00039 CSLFCurve 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 ~CSLFCurve(); 00051 00055 CSLModel* Reference(); 00056 00060 EFCurveType GetFCurveType(); 00061 00065 const SI_Char* GetFCurveTypeAsString(); 00066 00071 virtual SI_Error Synchronize(); 00072 00076 virtual ETemplateType Type(); 00077 00078 private: 00079 EFCurveType m_FCurveType; 00080 00081 void *m_pReserved; // reserved for future extension 00082 }; 00083 00084 #endif