SL_Float.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _FLOAT_H
00015 #define _FLOAT_H
00016 
00017 #include <SIBCMath.h>           // SI_EPSILON
00018 #include "AnimatableType.h"     // CSLAnimatableType
00019 class CCOLLADATemplate;
00020 class CSLCOLLADAScene;
00021 
00024 class XSIEXPORT CSLFloatProxy : public CSLAnimatableType
00025 {
00026 public:
00034     CSLFloatProxy(CdotXSITemplate *in_pTemplate, SI_Int in_nIndex, SI_Float in_fThreshold = SI_EPSILON);
00035 
00040     CSLFloatProxy& operator =(const CSLFloatProxy &in_Value);
00041 
00046     CSLFloatProxy& operator =(const SI_Float &in_Value);
00047 
00057     SI_Bool operator ==(const CSLFloatProxy &in_ToCompare);
00058 
00067     SI_Bool operator ==(const SI_Float &in_ToCompare);
00068 
00070     operator SI_Float();
00071 
00076     SI_Float Threshold();
00077 
00102     void SetThreshold( SI_Float in_fThreshold );
00103 
00107     virtual EElementType Type();
00108 
00112     virtual SI_Float GetFloatValue();
00113 
00117     virtual SI_Void SetFloatValue(SI_Float in_fValue);
00118 
00124     virtual SI_Error Connect (CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
00125 
00126 private:
00127     // no copy constructor
00128     CSLFloatProxy( CSLFloatProxy &in_pBasicType ){}
00129 
00130     SI_Bool Equal( SI_Float in_Float1, SI_Float in_Float2 );
00131 
00132     SI_Float m_fThreshold;
00133     SI_Float* m_pValue;
00134 };
00135 
00136 #endif