# SL_Float.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 _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