# CSLCustomPSet Class Reference

`#include <CustomPSet.h>`

Inheritance diagram for CSLCustomPSet:

List of all members.

## Public Types
enum | EPropagationType { SI_BRANCH, SI_NODE, SI_INHERITED }
| Defines the various propagation types. More...
## Public Member Functions
| CSLCustomPSet (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate)
virtual | ~CSLCustomPSet ()
| Destructor.
virtual SI_Error | Synchronize ()
virtual ETemplateType | Type ()
EPropagationType | GetPropagationType ()
| Get the propagation type.
SI_Void | SetPropagationType (EPropagationType in_PropagationType)
| Set the propagation type.
CSLVariantParameter * | AddParameter ()
SI_Error | RemoveParameter (SI_Int in_nIndex)
SI_Error | RemoveParameter (CSLVariantParameter *in_pToRemove)
SI_Error | ClearParameters ()
CSLVariantParameter * | ConnectParameter (CSLVariantParameter *in_pToConnect)
CSLVariantParameter ** | GetParameterList ()
SI_Int | GetParameterCount ()
virtual CSLAnimatableType * | ParameterFromName (SI_Char *in_szName)
virtual CSLAnimatableType * | ParameterFromType (EFCurveType in_Type, SI_Char *in_szParameterName)
CSLXSICustomParamInfo * | CreateCustomParamInfo (SI_Int in_nIndex)
CSLXSICustomParamInfo * | CreateCustomParamInfo (CSLVariantParameter *in_pParam)
CSLXSICustomParamInfo * | ConnectCustomParamInfo (CSLXSICustomParamInfo *in_pToConnect)
char * | GetType ()
void | SetType (char *in_pType)

## Detailed Description

Class representing customer parameter sets (see the XSI_CustomPSet template reference)

## Member Enumeration Documentation

enum EPropagationType

Defines the various propagation types.

Enumerator:

  SI_BRANCH | Branch propagation
  SI_NODE | Node propagation
  SI_INHERITED | Inherited propagation

## Constructor & Destructor Documentation

CSLCustomPSet | ( | CSLScene * | in_pScene,
|  | CSLModel * | in_pModel,
|  | CdotXSITemplate * | in_pTemplate |
| ) |  |  |

Constructor

Parameters:

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

Returns:
  an instance of CSLCustomPSet

## Member Function Documentation

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

Commit the current template information

Returns:
  SI_Error Whether or not the commit was successful

Reimplemented from CSLTemplate.

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

Returns the type of this template (SI_CUSTOM_PSET)

Returns:
  CSLTemplate::ETemplateType The type of this template (SI_CUSTOM_PSET)

Implements CSLTemplate.

EPropagationType GetPropagationType | ( |  | ) |

Get the propagation type.

Returns:
  EPropagationType The propagation type

SI_Void SetPropagationType | ( | EPropagationType | in_PropagationType | ) |

Set the propagation type.

Parameters:

  | in_PropagationType | New type of propagation tp use

Returns:
  SI_Void

CSLVariantParameter* AddParameter | ( |  | ) |

Add a parameter to the parameter list

Returns:
  CSLParameter Pointer to the newly added parameter

SI_Error RemoveParameter | ( | SI_Int | in_nIndex | ) |

Removes a parameter from the parameter list

Parameters:

  | in_nIndex | Index of the parameter to remove

Returns:
  SI_Error Whether or not the parameter could be removed

SI_Error RemoveParameter | ( | CSLVariantParameter * | in_pToRemove | ) |

Removes a parameter from the parameter list

Parameters:

  | in_pToRemove | Pointer to the parameter to remove

Returns:
  SI_Error Whether or not the parameter could be removed

SI_Error ClearParameters | ( |  | ) |

Removes all connections points from the parameter list

Returns:
  SI_Error Whether or not the list could be cleared

CSLVariantParameter* ConnectParameter | ( | CSLVariantParameter * | in_pToConnect | ) |

Adds an exisiting parameter to the parameter list

Parameters:

  | in_pToConnect | Pointer to the parameter to add

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

CSLVariantParameter** GetParameterList | ( |  | ) |

Gets a pointer to the internally-stored parameter pointer list

Returns:
  CSLParameter Pointer to the list

SI_Int GetParameterCount | ( |  | ) |

Gets the total number of parameters

Returns:
  SI_Int Number of parameters

virtual CSLAnimatableType* ParameterFromName | ( | SI_Char * | in_szName | ) | `[virtual]`

Searches for a parameter by name

Parameters:

  | in_szName | Name of the parameter to look for

Returns:
  CSLAnimatableType Pointer to the found parameter or null if not found

Reimplemented from CSLTemplate.

virtual CSLAnimatableType* ParameterFromType | ( | EFCurveType | in_Type,
|  | SI_Char * | in_szParameterName |
| ) |  |  | `[virtual]`

Searches for a parameter by name and type

Parameters:

  | in_Type | Type of the parameter to look for
  | in_szName | Name of the parameter to look for

Returns:
  CSLAnimatableType Pointer to the found parameter or null if not found

Reimplemented from CSLTemplate.

CSLXSICustomParamInfo* CreateCustomParamInfo | ( | SI_Int | in_nIndex | ) |

Creates a new custom parameter information

Parameters:

  | in_nIndex | Index of the parameter where to attach the new custom parameter information

Returns:
  CSLXSICustomParamInfo Pointer to the new custom parameter information or null creation could not be done

Note:
  Introduced in 3.6

CSLXSICustomParamInfo* CreateCustomParamInfo | ( | CSLVariantParameter * | in_pParam | ) |

Creates a new custom parameter information

Parameters:

  | in_pParam | Pointer to the parameter object on which to attach the new custom parameter information; it is the caller's responsibility to ensure that the param ptr points to a parameter from this PSet, if unsure, then use CreateCustomParamInfo( SI_Int in_nIndex )

Returns:
  CSLXSICustomParamInfo Pointer to the new custom parameter information or null if creation could not be done

Note:
  Introduced in 3.6

CSLXSICustomParamInfo* ConnectCustomParamInfo | ( | CSLXSICustomParamInfo * | in_pToConnect | ) |

Connects custom parameter information

Parameters:

  | in_pToConnect | Pointer to the custom parameter information

Returns:
  CSLXSICustomParamInfo Pointer to the newly connected parameter information or null if the refered parameter does not exist or if there's already a custom parameter information

Note:
  Introduced in 3.6

char* GetType | ( |  | ) |

Gets the custom parameter information type

Returns:
  char* NULL if there is no type. NULL if the file is < 5.0

Note:
  Introduced in 5.0

void SetType | ( | char * | in_pType | ) |

Sets the custom parameter information type. Note, this only works with 5.0 files

Parameters:

  | in_pType | The new type

Returns:
  void

Note:
  Introduced in 5.0

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

- CustomPSet.h