# FCurve.h

    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