xsi_shaderarrayparameter.h
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__