xsi_hardwareattribute.h Source File
 
 
 
xsi_hardwareattribute.h
Go to the documentation of this file.
00001 //*****************************************************************************
00011 //*****************************************************************************
00012 
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016 
00017 #ifndef __XSIHARDWAREATTRIBUTE_H__
00018 #define __XSIHARDWAREATTRIBUTE_H__
00019 
00020 #include "sicppsdk.h"
00021 #include "xsi_ref.h"
00022 #include "xsi_value.h"
00023 #include "xsi_string.h"
00024 
00025 namespace XSI {
00026 
00027 class CHardwareAttributeArray;
00028 
00029 //*****************************************************************************
00040 //*****************************************************************************
00041 
00042 class SICPPSDKDECL CHardwareAttribute
00043 {
00044 public:
00045 
00047         CHardwareAttribute();
00048 
00050         virtual ~CHardwareAttribute();
00051 
00055         CHardwareAttribute(const CHardwareAttribute& valSrc);
00056 
00060         CHardwareAttribute& operator=(const CHardwareAttribute& valSrc);
00061 
00065         bool operator==(const CHardwareAttribute& valSrc) const;
00066 
00070         bool operator!=(const CHardwareAttribute& valSrc) const;
00071 
00076         CStatus PutSemanticValue ( const siHardwareInputSemantic inSemantic, const CValue& valSrc);
00077 
00080         XSI::siHardwareInputSemantic GetSemantic() const;
00081 
00084         XSI::CValue GetSemanticValue () const;
00085 
00088         CStatus SetAttributeData (XSI::CValue in_data, XSI::siShaderParameterType in_type, ULONG in_ulArraySize );
00089 
00092         XSI::CValue GetAttributeData ();
00093 
00096         XSI::siShaderParameterType GetAttributeType ();
00097 
00100         ULONG GetAttributeArraySize();
00101 
00102         void*   m_pImpl;
00103 
00104 };
00105 
00106 //*************************************************************************
00115 //*************************************************************************
00116 class SICPPSDKDECL CHardwareAttributeArray
00117 {
00118 public:
00122         CHardwareAttributeArray(LONG in_size=0);
00123 
00127         CHardwareAttributeArray(const CHardwareAttributeArray& in_array);
00128 
00130         ~CHardwareAttributeArray();
00131 
00136         CHardwareAttributeArray& operator=( const CHardwareAttributeArray& in_array );
00137 
00141         LONG GetCount() const;
00142 
00147         CStatus Add( const CHardwareAttribute& in_item );
00148 
00152         CStatus Clear();
00153 
00160         CStatus Resize( LONG in_size);
00161 
00168         const CHardwareAttribute& operator[]( LONG in_index ) const;
00169 
00175         CHardwareAttribute& operator[]( LONG in_index );
00176 
00182         bool operator==(const CHardwareAttributeArray& in_array) const;
00183 
00189         bool operator!=(const CHardwareAttributeArray& in_array) const;
00190 
00191 
00192 private:
00193 
00194         void* m_ptr;
00195 };
00196 
00197 
00198 };
00199 
00200 #endif // __XSIHARDWAREATTRIBUTE_H__