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__