SL_Byte.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 _SL_BYTE_H
00013 #define _SL_BYTE_H
00014 
00015 #include "AnimatableType.h" // CSLAnimatableType
00016 class CCOLLADATemplate;
00017 class CSLCOLLADAScene;
00018 
00020 class XSIEXPORT CSLByteProxy : public CSLAnimatableType
00021 {
00022 public:
00027     CSLByteProxy(CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
00028 
00033     CSLByteProxy& operator =(const CSLByteProxy &in_Value);
00034 
00039     CSLByteProxy& operator =(const SI_Byte &in_Value);
00040 
00045     SI_Bool operator ==(const CSLByteProxy &in_ToCompare);
00046 
00051     SI_Bool operator ==(const SI_Byte &in_ToCompare);
00052 
00054     operator SI_Byte();
00055 
00059     virtual EElementType Type();
00060 
00064     virtual SI_Float GetFloatValue();
00065 
00069     virtual SI_Void SetFloatValue(SI_Float in_fValue);
00070 
00076     virtual SI_Error Connect (CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
00077 
00078 private:
00079     CSLByteProxy( CSLByteProxy &in_pBasicType ){}
00080     SI_Byte* m_pValue;
00081 };
00082 
00084 
00086 class XSIEXPORT CSLUByteProxy : public CSLAnimatableType
00087 {
00088 public:
00093     CSLUByteProxy(CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
00094 
00099     CSLUByteProxy& operator =(const CSLUByteProxy &in_Value);
00100 
00105     CSLUByteProxy& operator =(const SI_UByte &in_Value);
00106 
00111     SI_Bool operator ==(const CSLUByteProxy &in_ToCompare);
00112 
00117     SI_Bool operator ==(const SI_UByte &in_ToCompare);
00118 
00120     operator SI_UByte();
00121 
00125     virtual EElementType Type();
00126 
00130     virtual SI_Float GetFloatValue();
00131 
00135     virtual SI_Void SetFloatValue(SI_Float in_fValue);
00136         
00142     virtual SI_Error Connect (CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
00143 
00144 private:
00145     CSLUByteProxy( CSLUByteProxy &in_pBasicType ){}
00146     SI_UByte* m_pValue;
00147 };
00148 
00149 #endif