00001 //***************************************************************************** 00011 //***************************************************************************** 00012 00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER) 00014 #pragma once 00015 #endif 00016 00017 #ifndef __XSISHADERPARAMDEFCONTAINER_H__ 00018 #define __XSISHADERPARAMDEFCONTAINER_H__ 00019 00020 #include <xsi_siobject.h> 00021 #include <xsi_shaderparamdef.h> 00022 #include <xsi_shaderparamdefoptions.h> 00023 00024 namespace XSI { 00025 00026 //***************************************************************************** 00043 //***************************************************************************** 00044 00045 class SICPPSDKDECL ShaderParamDefContainer : public SIObject 00046 { 00047 public: 00049 ShaderParamDefContainer(); 00050 00052 ~ShaderParamDefContainer(); 00053 00057 ShaderParamDefContainer(const CRef& in_ref); 00058 00062 ShaderParamDefContainer(const ShaderParamDefContainer& in_obj); 00063 00068 bool IsA( siClassID in_ClassID) const; 00069 00073 siClassID GetClassID() const; 00074 00081 ShaderParamDefContainer& operator=(const ShaderParamDefContainer& in_obj); 00082 00089 ShaderParamDefContainer& operator=(const CRef& in_ref); 00090 00108 ShaderParamDef AddArrayParamDef( const CString& in_name, siShaderParameterDataType in_dataType, const ShaderParamDefOptions& in_options=CRef() ); 00109 00131 ShaderParamDef AddArrayParamDef( const CString& in_name, const CString &in_dataType, const ShaderParamDefOptions& in_options=CRef() ); 00132 00150 ShaderParamDef AddParamDef( const CString& in_name, siShaderParameterDataType in_dataType, const ShaderParamDefOptions& in_options=CRef() ); 00151 00173 ShaderParamDef AddParamDef( const CString& in_name, const CString &in_dataType, const ShaderParamDefOptions& in_options=CRef() ); 00174 00180 CRefArray GetDefinitions( ); 00181 00189 ShaderParamDef GetParamDefByName( const CString& in_parameterName ); 00190 00191 private: 00192 ShaderParamDefContainer * operator&() const; 00193 ShaderParamDefContainer * operator&(); 00194 }; 00195 00196 }; 00197 00198 #endif 00199