# CSLXSIShaderCompound Class Reference

`#include <XSIShaderCompound.h>`

Inheritance diagram for CSLXSIShaderCompound:

List of all members.

## Public Member Functions
| CSLXSIShaderCompound (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate, CSLXSIShader *in_pParentShader)
virtual | ~CSLXSIShaderCompound ()
| Destructor.
ETemplateType | Type ()
SI_Error | Synchronize ()
SI_Char * | GetCategory ()
SI_Void | SetCategory (SI_Char *in_pValue)
SI_Char * | GetDescription ()
SI_Void | SetDescription (SI_Char *in_pValue)
SI_Char * | GetAuthor ()
SI_Void | SetAuthor (SI_Char *in_pValue)
SI_Char * | GetDate ()
SI_Void | SetDate (SI_Char *in_pValue)
SI_Char * | GetVersionTag ()
SI_Void | SetVersionTag (SI_Char *in_pValue)
SI_Int | GetVersionMajor ()
SI_Void | SetVersionMajor (SI_Int in_nValue)
SI_Int | GetVersionMinor ()
SI_Void | SetVersionMinor (SI_Int in_nValue)
SI_Char * | GetPPGLogic ()
SI_Void | SetPPGLogic (SI_Char *in_pValue)
SI_Char * | GetPPGLogicLanguage ()
SI_Void | SetPPGLogicLanguage (SI_Char *in_pValue)
SI_Int | GetBackgroundColor ()
SI_Void | SetBackgroundColor (SI_Int in_nValue)
void | SetParentShader (CSLXSIShader *in_pParentShader)
CSLXSIShader * | ParentShader ()
CSLXSIShaderCompoundPort * | AddShaderCompoundPort ()
SI_Error | RemoveShaderCompoundPort (SI_Int in_nIndex)
SI_Error | RemoveShaderCompoundPort (CSLXSIShaderCompoundPort *in_pToRemove)
CSLXSIShaderCompoundPort * | GetShaderCompoundPort (SI_Int in_nIndex)
SI_Int | GetShaderCompoundPortCount ()
SI_Error | ClearShaderCompoundPorts ()
CSLXSIShaderCompoundPort ** | GetShaderCompoundPortList ()
CSLXSIShaderCompoundPort * | ConnectShaderCompoundPort (CSLXSIShaderCompoundPort *in_pToConnect)
CSLXSIShaderCompoundPort * | FindShaderCompoundPort (SI_Char *in_szPortName)
CSLXSIShader * | AddShader ()
SI_Error | RemoveShader (SI_Int in_nIndex)
SI_Error | RemoveShader (CSLXSIShader *in_pToRemove)
SI_Error | ClearShaders ()
CSLXSIShader * | ConnectShader (CSLXSIShader *in_pToConnect)
CSLXSIShader ** | GetShaderList ()
SI_Int | GetShaderCount ()
CSLXSIShader * | FindShader (SI_Char *in_szShaderName)

## Detailed Description

Defines a shader compound (see the XSI_ShaderCompound template reference).

Note:
  This template was introduced in dotXSI Version 6.0

## Constructor & Destructor Documentation

CSLXSIShaderCompound | ( | CSLScene * | in_pScene,
|  | CSLModel * | in_pModel,
|  | CdotXSITemplate * | in_pTemplate,
|  | CSLXSIShader * | in_pParentShader |
| ) |  |  |

Constructor

Parameters:

  | in_pScene | Parent scene
  | in_pModel | Parent model
  | in_pTemplate | Refered template
  | in_pParentShader | Parent shader

## Member Function Documentation

ETemplateType Type | ( |  | ) | `[inline, virtual]`

Gets the type of this template

Returns:
  ETemplateType The type of this template (XSI_SHADER_COMPOUND)

Implements CSLTemplate.

SI_Error Synchronize | ( |  | ) | `[virtual]`

Commit the current template information

Returns:
  SI_Error Whether or not the commit was successful

Reimplemented from CSLTemplate.

SI_Char* GetCategory | ( |  | ) |

Get the Category value

Returns:
  SI_Char* Category

SI_Void SetCategory | ( | SI_Char * | in_pValue | ) |

Set the Category value

Parameters:

  | SI_Char* | new Category value

SI_Char* GetDescription | ( |  | ) |

Get the Description value

Returns:
  SI_Char* Description

SI_Void SetDescription | ( | SI_Char * | in_pValue | ) |

Set the Description value

Parameters:

  | SI_Char* | new Description value

SI_Char* GetAuthor | ( |  | ) |

Get the Author value

Returns:
  SI_Char* Author

SI_Void SetAuthor | ( | SI_Char * | in_pValue | ) |

Set the Author value

Parameters:

  | SI_Char* | new Author value

SI_Char* GetDate | ( |  | ) |

Get the Date value

Returns:
  SI_Char* Date

SI_Void SetDate | ( | SI_Char * | in_pValue | ) |

Set the Date value

Parameters:

  | SI_Char* | new Date value

SI_Char* GetVersionTag | ( |  | ) |

Get the VersionTag value

Returns:
  SI_Char* VersionTag

SI_Void SetVersionTag | ( | SI_Char * | in_pValue | ) |

Set the VersionTag value

Parameters:

  | SI_Char* | new VersionTag value

SI_Int GetVersionMajor | ( |  | ) |

Get the VersionMajor value

Returns:
  SI_Int VersionMajor

SI_Void SetVersionMajor | ( | SI_Int | in_nValue | ) |

Set the VersionMajor value

Parameters:

  | SI_Int | new VersionMajor value

SI_Int GetVersionMinor | ( |  | ) |

Get the VersionMinor value

Returns:
  SI_Int VersionMinor

SI_Void SetVersionMinor | ( | SI_Int | in_nValue | ) |

Set the VersionMinor value

Parameters:

  | SI_Int | new VersionMinor value

SI_Char* GetPPGLogic | ( |  | ) |

Get the PPGLogic value

Returns:
  SI_Char* PPGLogic

SI_Void SetPPGLogic | ( | SI_Char * | in_pValue | ) |

Set the PPGLogic value

Parameters:

  | SI_Char* | new PPGLogic value

SI_Char* GetPPGLogicLanguage | ( |  | ) |

Get the PPGLogicLanguage value

Returns:
  SI_Char* PPGLogicLanguage

SI_Void SetPPGLogicLanguage | ( | SI_Char * | in_pValue | ) |

Set the PPGLogicLanguage value

Parameters:

  | SI_Char* | new PPGLogicLanguage value

SI_Int GetBackgroundColor | ( |  | ) |

Get the BackgroundColor value

Returns:
  SI_Int BackgroundColor

SI_Void SetBackgroundColor | ( | SI_Int | in_nValue | ) |

Set the BackgroundColor value

Parameters:

  | SI_Int | new BackgroundColor value

void SetParentShader | ( | CSLXSIShader * | in_pParentShader | ) |

Set the shader parent of this template.

Parameters:

  | in_pParentShader | Pointer to the parent shader.

CSLXSIShader* ParentShader | ( |  | ) |

Return the shader parent of this template.

Returns:
  CSLModel* Pointer to the parent shader.

CSLXSIShaderCompoundPort* AddShaderCompoundPort | ( |  | ) |

Add a shader compound port to the shader compound port list

Returns:
  The added shader compound port

SI_Error RemoveShaderCompoundPort | ( | SI_Int | in_nIndex | ) |

Remove a shader compound port from the shader compound port list

Parameters:

  | in_nIndex | Index of the shader compound port to remove

SI_Error RemoveShaderCompoundPort | ( | CSLXSIShaderCompoundPort * | in_pToRemove | ) |

Remove a shader compound port from the shader compound port list

Parameters:

  | in_pToRemove | The shader compound port to remove

CSLXSIShaderCompoundPort* GetShaderCompoundPort | ( | SI_Int | in_nIndex | ) |

Get a CSLXSIShaderCompoundPort object by index.

Parameters:

  | in_nIndex | Index of the shader compound port to get

Returns:
  CSLXSIShaderCompoundPort The CSLXSIShaderCompoundPort object.

SI_Int GetShaderCompoundPortCount | ( |  | ) |

Get the number of shader compound port in the shader compound port list

Returns:
  SI_Int The number of shader compound port in the shader compound port list

SI_Error ClearShaderCompoundPorts | ( |  | ) |

Deletes all the shader compound port form the shader compound port list

CSLXSIShaderCompoundPort** GetShaderCompoundPortList | ( |  | ) |

Gets a pointer to the internally-stored shader compound port pointer list

Returns:
  CSLXSIShaderCompoundPort Pointer to the list

CSLXSIShaderCompoundPort* ConnectShaderCompoundPort | ( | CSLXSIShaderCompoundPort * | in_pToConnect | ) |

Adds an exisiting shader compound port to the shader compound port list

Parameters:

  | in_pToConnect | Pointer to the shader compound port to add

Returns:
  The added shader compound port

CSLXSIShaderCompoundPort* FindShaderCompoundPort | ( | SI_Char * | in_szPortName | ) |

Searches for a given shader compound port

Parameters:

  | in_szPortName | Name of the shader compound port to look for

Returns:
  CSLXSIShader Pointer to the shader compound port or null if it cannot be found

CSLXSIShader* AddShader | ( |  | ) |

Adds a shader to the shader list

Returns:
  CSLXSIShaderPointer to the newly added shader

SI_Error RemoveShader | ( | SI_Int | in_nIndex | ) |

Removes a shader from the shader list

Parameters:

  | in_nIndex | Index of the shader to remove

Returns:
  SI_Error Whether or not the shader could be removed

SI_Error RemoveShader | ( | CSLXSIShader * | in_pToRemove | ) |

Removes a shader from the shader list

Parameters:

  | in_pToRemove | Pointer to the shader to remove

Returns:
  SI_Error Whether or not the shader could be removed

SI_Error ClearShaders | ( |  | ) |

Removes all connections points from the shader list

Returns:
  SI_Error Whether or not the list could be cleared

CSLXSIShader* ConnectShader | ( | CSLXSIShader * | in_pToConnect | ) |

Adds an exisiting shader to the shader list

Parameters:

  | in_pToConnect | Pointer to the shader to add

Returns:
  The added shader or null if it already exists in the list

CSLXSIShader** GetShaderList | ( |  | ) |

Gets a pointer to the internally-stored shader pointer list

Returns:
  CSLXSIShader Pointer to the list

SI_Int GetShaderCount | ( |  | ) |

Gets the total number of Shaders

Returns:
  SI_Int Number of Shaders

CSLXSIShader* FindShader | ( | SI_Char * | in_szShaderName | ) |

Searches for a given shader

Parameters:

  | in_szShaderName | Name of the shader to look for

Returns:
  CSLXSIShader Pointer to the shader or null if it cannot be found

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

- XSIShaderCompound.h