# SL_Double.h

    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 _DOUBLE_H
    00013 #define _DOUBLE_H
    00014
    00015 #include <SIBCMath.h>       // SI_EPSILON
    00016 #include "AnimatableType.h" // CSLAnimatableType
    00017 class CCOLLADATemplate;
    00018 class CSLCOLLADAScene;
    00019
    00021 class XSIEXPORT CSLDoubleProxy : public CSLAnimatableType
    00022 {
    00023 public:
    00031     CSLDoubleProxy(CdotXSITemplate *in_pTemplate, SI_Int in_nIndex, SI_Double in_dThreshold = SI_EPSILON);
    00032
    00037     CSLDoubleProxy& operator =(const CSLDoubleProxy &in_Value);
    00038
    00043     CSLDoubleProxy& operator =(const SI_Double &in_Value);
    00044
    00053     SI_Bool operator ==(const CSLDoubleProxy &in_ToCompare);
    00054
    00063     SI_Bool operator ==(const SI_Double &in_ToCompare);
    00064
    00066     operator SI_Double();
    00067
    00072     SI_Double Threshold();
    00073
    00098     void SetThreshold( SI_Double in_dThreshold );
    00099
    00103     virtual EElementType Type();
    00104
    00108     virtual SI_Float GetFloatValue();
    00109
    00113     virtual SI_Void SetFloatValue(SI_Float in_fValue);
    00114
    00120     virtual SI_Error Connect (CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
    00121
    00122 private:
    00123     CSLDoubleProxy( CSLDoubleProxy &in_pBasicType ){}
    00124     SI_Bool Equal( SI_Double in_Double1, SI_Double in_Double2 );
    00125
    00126     SI_Double m_dThreshold;
    00127     SI_Double* m_pValue;
    00128 };
    00129
    00130 #endif