# class ShadingCustomNode

CustomNode describes a custom shading node in a shading network. The output is produced based on customizable user specified operations. The custom node has a user specified amount of input parameters. Use SetInputCount() to specify the number of inputs. The user has to assign and implement event handlers (called observers) for the custom node to be able to evaluate to colors. See CustomNodeExample and API documentation for further explanations and code samples.

# Properties

Property Description
InputCount The number of inputs for this custom node.

# Methods

Method Description
GetClass Get the name of the ShadingCustomNode class.
GetDefaultParameterAlpha The default parameter values.
GetDefaultParameterBlue The default parameter values.
GetDefaultParameterGreen The default parameter values.
GetDefaultParameterRed The default parameter values.
GetInput The default node inputs.
GetInputValue Get color value from node input index.
GetParameterCount The input count.
GetParameterIsInputable Get if the parameter is inputable. If true, a different node can be set as this parameters value. If false, the parameter can only be set manually and not through a node input.
GetParameterName The name of a parameter.
IsA Returns true if ShadingCustomNode is a or is a descendant of the class named as the type parameter.
IsNull Returns true if the ShadingCustomNode object is invalid.
SetCustomShaderCode Set custom shader code from OnShadingCustomNodeGenerateShaderCode observer method.
SetDefaultParameter The default parameter values.
SetInput The default node inputs.

# Static methods

Method Description
IsClassA Returns true if the class is a or is a descendant of the class named as the type parameter.
SafeCast SafeCast makes sure the input object is of a class that can be cast into spShadingCustomNode, and if this is the case, returns the object cast into spShadingCustomNode.

# Properties details

# InputCount

The number of inputs for this custom node.

# Syntax

// Setter
void SetInputCount( unsigned int value );

// Getter
unsigned int GetInputCount();

# SetInputCount parameters

Type Name Min Max Description
unsigned int value The number of inputs for this custom node.

# GetInputCount return value

Type: unsigned int

# Methods details

# GetClass

Get the name of the ShadingCustomNode class.

# Syntax

spString GetClass();

# Parameters

GetClass takes no parameters.

# Return value

Type: spString

# GetDefaultParameterAlpha

The default parameter values.

# Syntax

real GetDefaultParameterAlpha( rid parameter_id );

# Parameters

Type Name Min Max Description
rid parameter_id The id of the input to be fetched.

# Return value

Type: real

# GetDefaultParameterBlue

The default parameter values.

# Syntax

real GetDefaultParameterBlue( rid parameter_id );

# Parameters

Type Name Min Max Description
rid parameter_id The id of the input to be fetched.

# Return value

Type: real

# GetDefaultParameterGreen

The default parameter values.

# Syntax

real GetDefaultParameterGreen( rid parameter_id );

# Parameters

Type Name Min Max Description
rid parameter_id The id of the input to be fetched.

# Return value

Type: real

# GetDefaultParameterRed

The default parameter values.

# Syntax

real GetDefaultParameterRed( rid parameter_id );

# Parameters

Type Name Min Max Description
rid parameter_id The id of the input to be fetched.

# Return value

Type: real

# GetInput

The default node inputs.

# Syntax

spShadingNode GetInput( rid input_id );

# Parameters

Type Name Min Max Description
rid input_id The id of the input to be fetched.

# Return value

Type: ShadingNode

# GetInputValue

Get color value from node input index.

# Syntax

ShadingColor GetInputValue( unsigned int value );

# Parameters

Type Name Min Max Description
unsigned int value Index of node inputs.

# Return value

Type: ShadingColor

# GetParameterCount

The input count.

# Syntax

unsigned int GetParameterCount();

# Parameters

GetParameterCount takes no parameters.

# Return value

Type: unsigned int

# GetParameterIsInputable

Get if the parameter is inputable. If true, a different node can be set as this parameters value. If false, the parameter can only be set manually and not through a node input.

# Syntax

bool GetParameterIsInputable( rid param_id );

# Parameters

Type Name Min Max Description
rid param_id The id of the parameter to be checked.

# Return value

Type: bool

# GetParameterName

The name of a parameter.

# Syntax

spString GetParameterName( rid parameter_id );

# Parameters

Type Name Min Max Description
rid parameter_id The id of the input to fetch the name of.

# Return value

Type: spString

# IsA

Returns true if ShadingCustomNode is a or is a descendant of the class named as the type parameter.

# Syntax

bool IsA( const char * type );

# Parameters

Type Name Min Max Description
const char * type Name of the class to check if ShadingCustomNode is, or is a descendant of.

# Return value

Type: bool

# IsNull

Returns true if the ShadingCustomNode object is invalid.

# Syntax

bool IsNull();

# Parameters

IsNull takes no parameters.

# Return value

Type: bool

# SetCustomShaderCode

Set custom shader code from OnShadingCustomNodeGenerateShaderCode observer method.

# Syntax

void SetCustomShaderCode( const char * value );

# Parameters

Type Name Min Max Description
const char * value Custom shader code.

# SetDefaultParameter

The default parameter values.

# Syntax

void SetDefaultParameter( rid parameter_id , real r , real g , real b , real a );

# Parameters

Type Name Min Max Description
rid parameter_id The id of the input to be set.
real r The value of red to which the default input will be set.
real g The value of green to which the default input will be set.
real b The value of blue to which the default input will be set.
real a The value of alpha to which the default input will be set.

# SetInput

The default node inputs.

# Syntax

bool SetInput( rid input_id , spShadingNode input_node );

# Parameters

Type Name Min Max Description
rid input_id The id of the input to be set.
ShadingNode input_node The node to be set as input.

# Return value

Type: bool

# Static methods details

# IsClassA

Returns true if the class is a or is a descendant of the class named as the type parameter.

# Syntax

static bool IsClassA( const char * type );

# Parameters

Type Name Min Max Description
const char * type Name of the class to check if the class is, or is a descendant of.

# Return value

Type: bool

# SafeCast

SafeCast makes sure the input object is of a class that can be cast into spShadingCustomNode, and if this is the case, returns the object cast into spShadingCustomNode.

# Syntax

static spShadingCustomNode SafeCast( spObject object );

# Parameters

Type Name Min Max Description
Object object Object to cast.

# Return value

Type: ShadingCustomNode