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__