Public Member Functions
ShaderParamDefOptions Class Reference

Detailed Description

Represents the advanced options for a shader parameter definition (ShaderParamDef) object.

This object provides a convenient way to specify certain characteristics for each shader parameter definition (for example, display name, default values, capabilities, etc.). You can use the same ShaderParamDefOptions object for multiple parameters, changing only the display name (and any other characteristics you need to).

The Factory::CreateShaderParamDefOptions function creates a new ShaderParamDefOptions object which you need to pass to the ShaderParamDefContainer::AddParamDef or ShaderParamDefContainer::AddArrayParamDef when adding parameter definitions.

See also:
Factory::CreateShaderParamDefOptions, ShaderParamDefContainer::AddParamDef, ShaderParamDefContainer::AddArrayParamDef, ShaderParamDef, cus_shaders_ParamsAdding Adding Parameter Definitions , ShaderDefinitions/netview_ShaderDefs Color Sampler example
Since:
9.0 (2011)

#include <xsi_shaderparamdefoptions.h>

Inheritance diagram for ShaderParamDefOptions:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 ShaderParamDefOptions ()
 ~ShaderParamDefOptions ()
 ShaderParamDefOptions (const CRef &in_ref)
 ShaderParamDefOptions (const ShaderParamDefOptions &in_obj)
bool IsA (siClassID in_ClassID) const
siClassID GetClassID () const
ShaderParamDefOptionsoperator= (const ShaderParamDefOptions &in_obj)
ShaderParamDefOptionsoperator= (const CRef &in_ref)
CStatus SetAnimatable (bool in_v)
CStatus SetDefaultValue (const CValue &in_v)
CStatus SetHardLimit (const CValue &in_vMin, const CValue &in_vMax)
CStatus SetInspectable (bool in_v)
CStatus SetLongName (const CString &in_str)
CStatus SetShortName (const CString &in_str)
CStatus SetSoftLimit (const CValue &in_vMin, const CValue &in_vMax)
CStatus SetTexturable (bool in_v)
CStatus SetAttribute (const CString &in_name, const CValue &in_value)
CStatus SetReadOnly (bool in_v)

Constructor & Destructor Documentation

Default constructor.

Default destructor.

ShaderParamDefOptions ( const CRef in_ref)

Constructor.

Parameters:
in_refconstant reference object.

Copy constructor.

Parameters:
in_objconstant class object.

Member Function Documentation

bool IsA ( siClassID  in_ClassID) const [virtual]

Returns true if a given class type is compatible with this API class.

Parameters:
in_ClassIDclass type.
Returns:
true if the class is compatible, false otherwise.

Reimplemented from SIObject.

siClassID GetClassID ( ) const [virtual]

Returns the type of the API class.

Returns:
The class type.

Reimplemented from SIObject.

ShaderParamDefOptions& operator= ( const ShaderParamDefOptions in_obj)

Creates an object from another object. The newly created object is set to empty if the input object is not compatible.

Parameters:
in_objconstant class object.
Returns:
The new ShaderParamDefOptions object.
Since:
9.0 (2011)
ShaderParamDefOptions& operator= ( const CRef in_ref)

Creates an object from a reference object. The newly created object is set to empty if the input reference object is not compatible.

Parameters:
in_refconstant class object.
Returns:
The new ShaderParamDefOptions object.
Since:
9.0 (2011)

Reimplemented from SIObject.

CStatus SetAnimatable ( bool  in_v)

Sets whether or not this shader parameter can be animated.

Parameters:
in_vtrue if animatable
Returns:
Success/failure
See also:
ShaderParamDefOptions::SetTexturable, ShaderParamDefOptions::SetInspectable, ShaderParamDef::GetCapabilities, siCapabilities, Parameter::PutCapabilityFlag, Parameter::GetCapabilities
Since:
9.0 (2011)
CStatus SetDefaultValue ( const CValue in_v)

Sets the default value for this parameter definition. This defines the value that will be set on the instantiated ShaderParameter (Parameter::GetDefault).

Parameters:
in_vDefault value to use.
Returns:
Success/failure
See also:
ShaderParamDef::HasDefaultValue, ShaderParamDef::GetDefaultValue, ShaderParamDef::SetDefaultValue, Parameter::GetDefault, Parameter::PutValue
Since:
9.0 (2011)
CStatus SetHardLimit ( const CValue in_vMin,
const CValue in_vMax 
)

Sets the minimum and maximum values for this parameter definition. This defines the valid value range when instantiated (Parameter::GetMin and Parameter::GetMax).

Parameters:
in_vMinMinimum allowable value.
in_vMaxMaximum allowable value.
Returns:
Success/failure
See also:
ShaderParamDefOptions::SetSoftLimit, Parameter::GetMin, Parameter::GetMax
Since:
9.0 (2011)
CStatus SetInspectable ( bool  in_v)

Sets whether or not this parameter definition will appear on the property page associated with the instantiated Shader.

Parameters:
in_vtrue if inspectable (will appear on the property page).
Returns:
Success/failure
See also:
ShaderParamDefOptions::SetAnimatable, ShaderParamDefOptions::SetTexturable, siCapabilities, Parameter::PutCapabilityFlag, Parameter::GetCapabilities
Since:
9.0 (2011)
CStatus SetLongName ( const CString in_str)

Sets the a user-friendly version of the parameter name that will appear in the UI. This is the value that the Parameter::GetScriptName function returns on the instance (ShaderParameter).

Note:
If you don't set this option, the name you pass to the ShaderParamDefContainer::AddParamDef or ShaderParamDefContainer::AddArrayParamDef function when adding the ShaderParamDef will appear in the UI instead. Alternatively, you could also specify the UI name when you add this parameter as a PPGItem on the property page or render tree layout via the PPGLayout::AddItem function.
Parameters:
in_strparameter name to be displayed in the UI (either on the shader node or on the associated property page).
Returns:
Success/failure
See also:
ShaderParamDefOptions::SetShortName, PPGLayout::AddItem, cus_shaders_ParamsControls Refining UI Controls for Parameter Definitions
Since:
9.0 (2011)
CStatus SetShortName ( const CString in_str)

Sets the short version of the parameter name (the ShaderParamDef::GetDisplayName). This is the name that appears in the Scene Explorer (with the View > Use Script Names option turned OFF). It is also the same value that SIObject::GetName returns on the instance (ShaderParameter).

Note:
If you don't set this option, the name you pass to the ShaderParamDefContainer::AddParamDef or ShaderParamDefContainer::AddArrayParamDef function when adding the ShaderParamDef will be used instead.
Parameters:
in_strThe DisplayName as it will appear in the Scene Explorer
Returns:
Success/failure
See also:
ShaderParamDef::GetDisplayName, SIObject::GetName, ShaderParamDefOptions::SetLongName
Since:
9.0 (2011)
CStatus SetSoftLimit ( const CValue in_vMin,
const CValue in_vMax 
)

Sets the suggested minimum and maximum values for this parameter definition. This defines the value range that is displayed in the property page when instantiated (Parameter::GetSuggestedMin and Parameter::GetSuggestedMax).

Parameters:
in_vMinMinimum suggested value.
in_vMaxMaximum suggested value.
Returns:
Success/failure
See also:
ShaderParamDefOptions::SetHardLimit, Parameter::GetSuggestedMin, Parameter::GetSuggestedMax
Since:
9.0 (2011)
CStatus SetTexturable ( bool  in_v)

Sets whether or not this parameter definition will be a shader node port when instantiated (supports being connected to a rendering node).

Parameters:
in_vtrue if texturable.
Returns:
Success/failure
See also:
ShaderParamDef::SetTexturable, ShaderParamDefOptions::SetAnimatable, ShaderParamDefOptions::SetInspectable, siCapabilities, Parameter::PutCapabilityFlag, Parameter::GetCapabilities
Since:
9.0 (2011)
CStatus SetAttribute ( const CString in_name,
const CValue in_value 
)

Sets an attribute by name. The attribute can be named anything and can contain any value. A list of attributes that Softimage understands can be found in siShaderParameterAttribute.

Parameters:
in_nameName of the attribute to set. Can be one of the siShaderParameterAttribute string constants or a string that you define, such as "version".
in_valueValue to set. This could be one of the Softimage shader string constants (siShaderReferenceFilterType, siShaderPropertyFilterType, siShaderCustomDataType), or a custom value.
Returns:
CStatus::OK
See also:
siShaderReferenceFilterType, siShaderPropertyFilterType, siShaderCustomDataType, cus_shaders_Params Shader Parameter Definitions
Since:
9.0 (2011)
CStatus SetReadOnly ( bool  in_v)

Sets the ReadOnly capability.

Parameters:
in_vtrue if texturable.
Returns:
Success/failure
See also:
ShaderParamDef::SetTexturable, ShaderParamDefOptions::SetAnimatable, ShaderParamDefOptions::SetInspectable, siCapabilities, Parameter::PutCapabilityFlag, Parameter::GetCapabilities
Since:
11.0 (2013)

The documentation for this class was generated from the following file: