00001 //*************************************************************************************** 00002 // 00003 // File supervisor: Softimage 3D Games & 3D Bridge team 00004 // 00005 // (c) Copyright 2001-2002 Avid Technology, Inc. . All rights reserved. 00006 // 00007 //*************************************************************************************** 00008 00009 /**************************************************************************************** 00010 THIS CODE IS PUBLISHED AS A SAMPLE ONLY AND IS PROVIDED "AS IS". 00011 IN NO EVENT SHALL SOFTIMAGE, AVID TECHNOLOGY, INC. AND/OR THEIR RESPECTIVE 00012 SUPPLIERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 00013 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 00014 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 00015 CONNECTION WITH THE USE OR PERFORMANCE OF THIS CODE . 00016 00017 COPYRIGHT NOTICE. Copyright © 1999-2002 Avid Technology Inc. . All rights reserved. 00018 00019 SOFTIMAGE is a registered trademark of Avid Technology Inc. or its subsidiaries 00020 or divisions. Windows NT is a registered trademark of Microsoft Corp. All other 00021 trademarks contained herein are the property of their respective owners. 00022 ****************************************************************************************/ 00023 00024 00025 #ifndef _LIMIT_H 00026 #define _LIMIT_H 00027 00028 #include "Template.h" 00029 00030 00031 00033 00037 class XSIEXPORT CSLXSILimit 00038 : public CSLTemplate 00039 { 00040 public: 00046 CSLXSILimit 00047 ( 00048 CSLScene* in_pScene, 00049 CSLModel *in_pModel, 00050 CdotXSITemplate* in_pTemplate 00051 ); 00053 virtual ~CSLXSILimit(); 00054 00055 ETemplateType Type(){ return XSI_LIMIT; } 00056 00060 CSLAnimatableType* GetParameter(); 00061 00067 CSLAnimatableType* ConnectParameter(CSLAnimatableType* in_pNewParameter); 00068 00072 virtual SI_Float GetMinimum(); 00073 00077 virtual SI_Void SetMinimum(SI_Float in_fMin); 00078 00082 virtual SI_Float GetMaximum(); 00083 00087 virtual SI_Void SetMaximum(SI_Float in_fMax); 00088 00092 virtual SI_Bool GetMinimumActive(); 00093 00097 virtual SI_Void SetMinimumActive(SI_Bool in_bActive); 00098 00102 virtual SI_Bool GetMaximumActive(); 00103 00107 virtual SI_Void SetMaximumActive(SI_Bool in_bActive); 00108 00112 SI_Char* GetParameterName(); 00113 00117 SI_Void SetParameterName(SI_Char *in_szParameterName); 00118 00123 virtual const SI_Char* GetParameterName(CSLAnimatableType* in_pParameter); 00124 00129 virtual CSLAnimatableType *ParameterFromName(SI_Char *in_szName); 00130 00136 virtual CSLAnimatableType *ParameterFromType(EFCurveType in_Type, SI_Char *in_szParameterName); 00137 00141 virtual SI_Error Evaluate(); 00142 00143 00144 private: 00145 00146 CSLAnimatableType* m_pParameter; 00147 CSLStringProxy m_szParameterName; 00148 CSLFloatProxy m_fMin; 00149 CSLFloatProxy m_fMax; 00150 CSLBoolProxy m_bMinActive; 00151 CSLBoolProxy m_bMaxActive; 00152 00153 void *m_pReserved; // reserved for future extension 00154 }; 00155 00156 #endif