SL_Double.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _DOUBLE_H
00015 #define _DOUBLE_H
00016 
00017 #include <SIBCMath.h>       // SI_EPSILON
00018 #include "AnimatableType.h" // CSLAnimatableType
00019 class CCOLLADATemplate;
00020 class CSLCOLLADAScene;
00021 
00024 class XSIEXPORT CSLDoubleProxy : public CSLAnimatableType
00025 {
00026 public:
00034     CSLDoubleProxy(CdotXSITemplate *in_pTemplate, SI_Int in_nIndex, SI_Double in_dThreshold = SI_EPSILON);
00035 
00040     CSLDoubleProxy& operator =(const CSLDoubleProxy &in_Value);
00041 
00046     CSLDoubleProxy& operator =(const SI_Double &in_Value);
00047 
00056     SI_Bool operator ==(const CSLDoubleProxy &in_ToCompare);
00057 
00066     SI_Bool operator ==(const SI_Double &in_ToCompare);
00067 
00069     operator SI_Double();
00070 
00075     SI_Double Threshold();
00076 
00101     void SetThreshold( SI_Double in_dThreshold );
00102 
00106     virtual EElementType Type();
00107 
00111     virtual SI_Float GetFloatValue();
00112 
00116     virtual SI_Void SetFloatValue(SI_Float in_fValue);
00117 
00123     virtual SI_Error Connect (CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
00124 
00125 private:
00126     CSLDoubleProxy( CSLDoubleProxy &in_pBasicType ){}
00127     SI_Bool Equal( SI_Double in_Double1, SI_Double in_Double2 );
00128 
00129     SI_Double m_dThreshold;
00130     SI_Double* m_pValue;
00131 };
00132 
00133 #endif