xsi_shaderparamdef.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 __XSISHADERPARAMDEF_H__
00018 #define __XSISHADERPARAMDEF_H__
00019 
00020 #include <xsi_valuemap.h>
00021 #include <xsi_siobject.h>
00022 
00023 namespace XSI {
00024 
00025 //*****************************************************************************
00052 //*****************************************************************************
00053 
00054 class SICPPSDKDECL ShaderParamDef : public SIObject
00055 {
00056 public:
00058     ShaderParamDef();
00059 
00061     ~ShaderParamDef();
00062 
00066     ShaderParamDef(const CRef& in_ref);
00067 
00071     ShaderParamDef(const ShaderParamDef& in_obj);
00072 
00077     bool IsA( siClassID in_ClassID) const;
00078 
00082     siClassID GetClassID() const;
00083 
00089     ShaderParamDef& operator=(const ShaderParamDef& in_obj);
00090 
00096     ShaderParamDef& operator=(const CRef& in_ref);
00097 
00098 
00104     ValueMap GetAttributes(  ) const;
00105 
00119     LONG GetCapabilities(  ) const;
00120 
00125     CValue GetDefaultValue(  ) const;
00126 
00132      CStatus SetDefaultValue( const CValue& in_value );
00133 
00142     CString GetDisplayName(  ) const;
00143 
00151     bool HasDefaultValue(  ) const;
00152 
00162     bool IsArray(  ) const;
00163 
00164     // Not implemented
00165     bool IsArrayItem(  ) const;
00166 
00173     bool IsInput(  ) const;
00174 
00181     bool IsOutput(  ) const;
00182 
00192     bool IsStructure(  ) const;
00193 
00199     bool GetMainPort(  ) const;
00200 
00205     CStatus PutMainPort( bool in_main );
00206 
00213     CValue GetMaxValue(  ) const;
00214 
00222      CStatus SetMaxValue( const CValue& in_value );
00223 
00230     CValue GetMinValue(  ) const;
00231 
00239      CStatus SetMinValue( const CValue& in_value );
00240 
00246     siShaderParameterDataType GetDataType(  ) const;
00247 
00254     CValue GetSuggestedMaxValue(  ) const;
00255 
00263      CStatus SetSuggestedMaxValue( const CValue& in_value );
00264 
00271     CValue GetSuggestedMinValue(  ) const;
00272 
00280      CStatus SetSuggestedMinValue( const CValue& in_value );
00281 
00290     bool GetTexturable(  ) const;
00291 
00300     CStatus SetTexturable( bool in_value );
00301 
00307     CStatus SetDisplayName( const CString &in_str );
00308 
00309     private:
00310     ShaderParamDef * operator&() const;
00311     ShaderParamDef * operator&();
00312 };
00313 
00314 };
00315 
00316 #endif
00317