SL_Byte.h

00001 //***************************************************************************************
00002 //
00003 // File supervisor: Softimage 3D Games & 3D Bridge team
00004 //
00005 // (c) Copyright 2001-2002 Avid Technology, Inc. . All rights reserved.
00006 //
00007 //***************************************************************************************
00008 
00009 /****************************************************************************************
00010 THIS CODE IS PUBLISHED AS A SAMPLE ONLY AND IS PROVIDED "AS IS".
00011 IN NO EVENT SHALL SOFTIMAGE, AVID TECHNOLOGY, INC. AND/OR THEIR RESPECTIVE
00012 SUPPLIERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
00013 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00014 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
00015 CONNECTION WITH THE USE OR PERFORMANCE OF THIS CODE .
00016 
00017 COPYRIGHT NOTICE. Copyright © 1999-2002 Avid Technology Inc. . All rights reserved. 
00018 
00019 SOFTIMAGE is a registered trademark of Avid Technology Inc. or its subsidiaries 
00020 or divisions. Windows NT is a registered trademark of Microsoft Corp. All other
00021 trademarks contained herein are the property of their respective owners. 
00022 ****************************************************************************************/
00023 
00024 #ifndef _SL_BYTE_H
00025 #define _SL_BYTE_H
00026 
00027 #include "AnimatableType.h" // CSLAnimatableType
00028 class CCOLLADATemplate;
00029 class CSLCOLLADAScene;
00030 
00032 class XSIEXPORT CSLByteProxy : public CSLAnimatableType
00033 {
00034 public:
00039     CSLByteProxy(CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
00040 
00045     CSLByteProxy& operator =(const CSLByteProxy &in_Value);
00046 
00051     CSLByteProxy& operator =(const SI_Byte &in_Value);
00052 
00057     SI_Bool operator ==(const CSLByteProxy &in_ToCompare);
00058 
00063     SI_Bool operator ==(const SI_Byte &in_ToCompare);
00064 
00066     operator SI_Byte();
00067 
00071     virtual EElementType Type();
00072 
00076     virtual SI_Float GetFloatValue();
00077 
00081     virtual SI_Void SetFloatValue(SI_Float in_fValue);
00082 
00088     virtual SI_Error Connect (CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
00089 
00090 private:
00091     CSLByteProxy( CSLByteProxy &in_pBasicType ){}
00092     SI_Byte* m_pValue;
00093 };
00094 
00096 
00098 class XSIEXPORT CSLUByteProxy : public CSLAnimatableType
00099 {
00100 public:
00105     CSLUByteProxy(CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
00106 
00111     CSLUByteProxy& operator =(const CSLUByteProxy &in_Value);
00112 
00117     CSLUByteProxy& operator =(const SI_UByte &in_Value);
00118 
00123     SI_Bool operator ==(const CSLUByteProxy &in_ToCompare);
00124 
00129     SI_Bool operator ==(const SI_UByte &in_ToCompare);
00130 
00132     operator SI_UByte();
00133 
00137     virtual EElementType Type();
00138 
00142     virtual SI_Float GetFloatValue();
00143 
00147     virtual SI_Void SetFloatValue(SI_Float in_fValue);
00148         
00154     virtual SI_Error Connect (CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
00155 
00156 private:
00157     CSLUByteProxy( CSLUByteProxy &in_pBasicType ){}
00158     SI_UByte* m_pValue;
00159 };
00160 
00161 #endif