XSILimit.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _LIMIT_H
00015 #define _LIMIT_H
00016 
00017 #include "Template.h"
00018 
00019 
00020 
00028 class XSIEXPORT CSLXSILimit
00029     : public CSLTemplate
00030 {
00031 public:
00037     CSLXSILimit
00038     (
00039         CSLScene* in_pScene,
00040         CSLModel *in_pModel,
00041         CdotXSITemplate* in_pTemplate
00042     );
00044     virtual ~CSLXSILimit();
00045 
00049     ETemplateType Type(){ return XSI_LIMIT; }
00050 
00054     CSLAnimatableType* GetParameter();
00055 
00061     CSLAnimatableType* ConnectParameter(CSLAnimatableType* in_pNewParameter);
00062 
00066     virtual SI_Float    GetMinimum();
00067 
00071     virtual SI_Void     SetMinimum(SI_Float in_fMin);
00072 
00076     virtual SI_Float    GetMaximum();
00077 
00081     virtual SI_Void     SetMaximum(SI_Float in_fMax);
00082 
00086     virtual SI_Bool GetMinimumActive();
00087 
00091     virtual SI_Void     SetMinimumActive(SI_Bool in_bActive);
00092 
00096     virtual SI_Bool GetMaximumActive();
00097 
00101     virtual SI_Void     SetMaximumActive(SI_Bool in_bActive);
00102 
00106     SI_Char* GetParameterName();
00107 
00111     SI_Void SetParameterName(SI_Char *in_szParameterName);
00112 
00117     virtual const SI_Char* GetParameterName(CSLAnimatableType* in_pParameter);
00118 
00123     virtual CSLAnimatableType *ParameterFromName(SI_Char *in_szName);
00124 
00130     virtual CSLAnimatableType *ParameterFromType(EFCurveType in_Type, SI_Char *in_szParameterName);
00131 
00136     virtual SI_Error    Evaluate();
00137 
00138 
00139 private:
00140 
00141     CSLAnimatableType*  m_pParameter;
00142     CSLStringProxy      m_szParameterName;
00143     CSLFloatProxy       m_fMin;
00144     CSLFloatProxy       m_fMax;
00145     CSLBoolProxy        m_bMinActive;
00146     CSLBoolProxy        m_bMaxActive;
00147 
00148     void *m_pReserved;  // reserved for future extension
00149 };
00150 
00151 #endif