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:
[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
ShaderParamDefOptions & | operator= (const ShaderParamDefOptions &in_obj)
ShaderParamDefOptions & | operator= (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

ShaderParamDefOptions | ( |  | ) |

Default constructor.

~ShaderParamDefOptions | ( |  | ) |

Default destructor.

ShaderParamDefOptions | ( | const CRef & | in_ref | ) |

Constructor.

Parameters:

  in_ref | constant reference object.

ShaderParamDefOptions | ( | const ShaderParamDefOptions & | in_obj | ) |

Copy constructor.

Parameters:

  in_obj | constant 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_ClassID | class 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_obj | constant 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_ref | constant 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_v | true 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_v | Default 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_vMin | Minimum allowable value.
  in_vMax | Maximum 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_v | true 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_str | parameter 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_str | The `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_vMin | Minimum suggested value.
  in_vMax | Maximum 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_v | true 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_name | Name of the attribute to set. Can be one of the siShaderParameterAttribute string constants or a string that you define, such as `"version"`.
  in_value | Value 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_v | true 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:

- xsi_shaderparamdefoptions.h