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 _FLOAT_H 00013 #define _FLOAT_H 00014 00015 #include <SIBCMath.h> // SI_EPSILON 00016 #include "AnimatableType.h" // CSLAnimatableType 00017 class CCOLLADATemplate; 00018 class CSLCOLLADAScene; 00019 00021 class XSIEXPORT CSLFloatProxy : public CSLAnimatableType 00022 { 00023 public: 00031 CSLFloatProxy(CdotXSITemplate *in_pTemplate, SI_Int in_nIndex, SI_Float in_fThreshold = SI_EPSILON); 00032 00037 CSLFloatProxy& operator =(const CSLFloatProxy &in_Value); 00038 00043 CSLFloatProxy& operator =(const SI_Float &in_Value); 00044 00055 SI_Bool operator ==(const CSLFloatProxy &in_ToCompare); 00056 00065 SI_Bool operator ==(const SI_Float &in_ToCompare); 00066 00068 operator SI_Float(); 00069 00074 SI_Float Threshold(); 00075 00100 void SetThreshold( SI_Float in_fThreshold ); 00101 00105 virtual EElementType Type(); 00106 00110 virtual SI_Float GetFloatValue(); 00111 00115 virtual SI_Void SetFloatValue(SI_Float in_fValue); 00116 00122 virtual SI_Error Connect (CdotXSITemplate *in_pTemplate, SI_Int in_nIndex ); 00123 00124 private: 00125 // no copy constructor 00126 CSLFloatProxy( CSLFloatProxy &in_pBasicType ){} 00127 00128 SI_Bool Equal( SI_Float in_Float1, SI_Float in_Float2 ); 00129 00130 SI_Float m_fThreshold; 00131 SI_Float* m_pValue; 00132 }; 00133 00134 #endif