00001 //***************************************************************************** 00011 //***************************************************************************** 00012 00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER) 00014 #pragma once 00015 #endif 00016 00017 #ifndef __XSI_ARRAYPARAMETER_H__ 00018 #define __XSI_ARRAYPARAMETER_H__ 00019 00020 #include <xsi_status.h> 00021 #include <xsi_shaderparameter.h> 00022 00023 namespace XSI { 00024 00025 // ******************************************************************* 00041 // ******************************************************************* 00042 00043 class SICPPSDKDECL ShaderArrayParameter : public ShaderParameter 00044 { 00045 public: 00047 ShaderArrayParameter( ); 00048 00050 ~ShaderArrayParameter( ); 00051 00055 ShaderArrayParameter(const CRef& in_ref); 00056 00060 ShaderArrayParameter(const ShaderArrayParameter& in_obj); 00061 00068 bool IsA( siClassID in_ClassID) const; 00069 00073 siClassID GetClassID() const; 00074 00079 ShaderArrayParameter& operator=(const ShaderArrayParameter& in_obj); 00080 00086 ShaderArrayParameter& operator=(const CRef& in_ref); 00087 00094 ShaderParameter operator[]( LONG in_index ); 00095 00100 LONG GetCount( ) const; 00101 00110 ShaderParameter Add( ); 00111 00120 CStatus Remove( LONG in_lIndex ); 00121 00130 CStatus Remove( const ShaderParameter &in_parameter ); 00131 00137 CStatus Clear( ); 00138 00148 CStatus Move( LONG in_lIndex, LONG in_lUpDown ); 00149 00159 CStatus Move( const ShaderParameter &in_parameter, LONG in_lUpDown ); 00160 00161 private: 00162 ShaderArrayParameter* operator&() const; 00163 ShaderArrayParameter* operator&(); 00164 00165 }; 00166 00167 }; 00168 00169 #endif // __XSI_ARRAYPARAMETER_H__