# CSLTemplate Class Reference

Describes a dotXSI template. More...

`#include <Template.h>`

Inheritance diagram for CSLTemplate:

List of all members.

## Public Types
enum | ETemplateType { SI_ACTION_FCURVE, SI_ANGLE, SI_AMBIENCE, SI_BASE_SHAPE, SI_CAMERA, SI_CLUSTER, SI_CONSTRAINT, SI_COORDINATE_SYSTEM, SI_CURVE_LIST, SI_CUSTOM_PSET, SI_CUSTOM_PARAM_INFO, SI_DIRECTIONAL_LIGHT, SI_ENVELOPE, SI_ENVELOPE_LIST, SI_FCURVE, SI_FILE_INFO, SI_FOG, SI_GLOBAL_MATERIAL, SI_IK_EFFECTOR, SI_IK_JOINT, SI_IK_ROOT, SI_INFINITE_LIGHT, SI_INSTANCE, SI_LIGHT_INFO, SI_MATERIAL, SI_MATERIAL_LIBRARY, SI_MESH, SI_MODEL, SI_NULL_OBJECT, SI_NURBS_CURVE, SI_NURBS_SURFACE, SI_POINT_LIGHT, SI_POLYGON_LIST, SI_SCENE_INFO, SI_SHAPE, SI_SHAPE35, SI_SHAPE_ANIMATION, SI_SPOT_LIGHT, SI_SURFACE_MESH, SI_TEXTURE_2D, SI_TRANSFORM, SI_TRIANGLE_LIST, SI_TRIANGLE_STRIP, SI_TRIANGLE_STRIP_LIST, SI_VISIBILITY, XSI_ACTION, XSI_ACTIONCLIP, XSI_CUSTOM_PARAM_INFO, XSI_EXTRAPOLATION, XSI_FXOPERATOR, XSI_FXTREE, XSI_IMAGE, XSI_IMAGE_DATA, XSI_IMAGE_FX, XSI_IMAGE_LIBRARY, XSI_MATERIAL, XSI_MATERIAL_INFO, XSI_MIXER, XSI_NURBS_PROJECTION, XSI_NURBS_TRIM, XSI_SHADER, XSI_SHADER_INSTANCE_DATA, XSI_STATIC_VALUES, XSI_TIMECONTROL, XSI_TRACK, XSI_USER_DATA, XSI_USER_DATA_LIST, XSI_SUB_COMPONENT_ATTRIBUTE_LIST, XSI_TRIANGLE_STRIP_LIST, XSI_TRIANGLE_LIST, XSI_POLYGON_LIST, XSI_VERTEX_LIST, XSI_SHAPE, XSI_MESH, XSI_SHAPE_ANIMATION, XSI_CLUSTER_INFO, XSI_USER_DATA_BLOB, XSI_TRANSFORM, XSI_LIMIT, XSI_BASEPOSE, COLLADA_MATERIAL, COLLADA_EFFECT_LIBRARY, COLLADA_EFFECT, COLLADA_EFFECT_COMMON_PROFILE, COLLADA_EFFECT_CG_PROFILE, COLLADA_EFFECT_COMMON_PARAM, COLLADA_EFFECT_COMMON_FLOAT, COLLADA_EFFECT_COMMON_COLOR, COLLADA_EFFECT_COMMON_TEXTURE, COLLADA_EFFECT_COMMON_FLOAT_OR_PARAM, COLLADA_EFFECT_COMMON_COLOR_OR_TEXTURE, COLLADA_EFFECT_COMMON_SHADER, COLLADA_EFFECT_SETPARAM, XSI_IK_RESOLUTIONPLANE, XSI_CAMERA, XSI_POLYMATRICKS, XSI_TRANSLATE, XSI_ROTATE, XSI_SCALE, XSI_SHEAR, XSI_LOOKAT, XSI_MATRIX, XSI_SHAPEREFERENCE, XSI_ACTIONCLIPCONTAINER, XSI_INDEX_LIST, XSI_CAMERA_FOCALLENGTH, XSI_SHADER_MULTI_PORT_CONNECTION, XSI_IMAGE_FX2, XSI_TEXTURE_LAYER, XSI_TEXTURE_LAYER_PORT, XSI_USER_KEYWORD, XSI_CLIP_TO_PARENT, XSI_SHADER_COMPOUND, XSI_SHADER_COMPOUND_PORT }
enum | EFCurveType { SI_COLOR_R, SI_COLOR_G, SI_COLOR_B, SI_POSITION_X, SI_POSITION_Y, SI_POSITION_Z, SI_ROLL, SI_FOV, SI_NEAR, SI_FAR, SI_INTEREST_X, SI_INTEREST_Y, SI_INTEREST_Z, SI_CONE, SI_SPREAD, SI_ORIENTATION_X, SI_ORIENTATION_Y, SI_ORIENTATION_Z, SI_DIFFUSE_R, SI_DIFFUSE_G, SI_DIFFUSE_B, SI_DIFFUSE, SI_PARAMETER, SI_POWER, SI_SPECULAR_R, SI_SPECULAR_G, SI_SPECULAR_B, SI_EMISSIVE_R, SI_EMISSIVE_G, SI_EMISSIVE_B, SI_AMBIENT_R, SI_AMBIENT_G, SI_AMBIENT_B, SI_SCALING_X, SI_SCALING_Y, SI_SCALING_Z, SI_ROTATION_X, SI_ROTATION_Y, SI_ROTATION_Z, SI_TRANSLATION_X, SI_TRANSLATION_Y, SI_TRANSLATION_Z, SI_SHPANIM, SI_NODEVIS, SI_HUE, SI_GAIN, SI_SATURATION, SI_BRIGHTNESS, SI_BLUR_RADIUS, SI_BLUR_AMOUNT, SI_BLUR_ALPHA, SI_SCALING_TYPE, SI_SCALE_X, SI_SCALE_Y, SI_FLIP_X, SI_FLIP_Y, SI_RGBA2GRAYSCALE, SI_BITS_PER_CHANNEL, SI_CROP_MIN_X, SI_CROP_MAX_X, SI_CROP_MIN_Y, SI_CROP_MAX_Y, SI_FALLOFF_ACTIVE, SI_FALLOFF_START, SI_FALLOFF_END, SI_SHADOWS_ENABLED, SI_UMBRA, SI_LIGHT_AS_ENERGY, SI_ENERGY_FACTOR, SI_INTENSITY }
enum | EFCurveInterpolationType
enum | ERotationOrder
## Public Member Functions
| CSLTemplate (CSLScene *in_pScene, CSLModel *in_pParentModel, CdotXSITemplate *in_pTemplate)
SI_Void | SetName (SI_Char *in_szNewName)
SI_Char * | GetName ()
CSLModel * | ParentModel ()
CSLScene * | Scene ()
CdotXSITemplate * | Template ()
CSLFCurve * | CreateFCurve (EFCurveType in_Type, EFCurveInterpolationType in_InterpolationType)
virtual CSLFCurve * | CreateParameterFCurve (SI_Char *in_szParameterName, EFCurveInterpolationType in_InterpolationType)
SI_Error | DestroyFCurve (EFCurveType in_Type)
CSLFCurve * | RemoveFCurveAt (SI_Int in_Index)
CSLFCurve ** | FCurves ()
SI_Int | GetFCurveCount ()
CSLFCurve * | GetSpecificFCurve (EFCurveType in_Type)
CSLFCurve * | GetParameterFCurve (SI_Char *in_szParameterName)
SI_Error | ClearFCurves ()
CSLCustomPSet * | AddCustomPSet ()
SI_Error | ClearCustomPSets ()
CSLCustomPSet ** | GetCustomPSetList ()
CSLCustomPSet * | FindCustomPSet (char *in_pName)
SI_Int | GetCustomPSetCount ()
SI_Error | RemoveCustomPSet (SI_Int in_nIndex)
SI_Error | RemoveCustomPSet (CSLCustomPSet *in_pToRemove)
CSLFCurve * | ConnectFCurve (CSLFCurve *in_pNewFCurve)
CSLCustomPSet * | ConnectCustomPSet (CSLCustomPSet *in_pNewCustomPSet)
virtual SI_Error | Fix ()
virtual SI_Error | Synchronize ()
virtual ETemplateType | Type ()=0
virtual CSLAnimatableType * | ParameterFromName (SI_Char *in_szName)
virtual CSLAnimatableType * | ParameterFromType (EFCurveType in_Type, SI_Char *in_szParameterName)
virtual SI_Char * | FullName ()
CSLUserDataBlob * | ConnectUserDataBlob (CSLUserDataBlob *in_pNewUserDataBlob)
CSLUserDataBlob * | AddUserDataBlob ()
SI_Error | ClearUserDataBlobs ()
CSLUserDataBlob ** | GetUserDataBlobList ()
SI_Int | GetUserDataBlobCount ()
SI_Error | RemoveUserDataBlob (SI_Int in_nIndex)
SI_Error | RemoveUserDataBlob (CSLUserDataBlob *in_pToRemove)
CSLXSIUserKeyword * | GetUserKeyword ()
CSLXSIUserKeyword * | CreateUserKeyword ()
CSLXSIUserKeyword * | ConnectUserKeyword (CSLXSIUserKeyword *in_pToConnect)
virtual const SI_Char * | GetParameterName (CSLAnimatableType *in_pParameter)
SI_Bool | AreFullNamesExported ()
virtual SI_Error | Evaluate (SI_Float in_fTime)
## Protected Member Functions
SI_Error | SetParent (CSLModel *in_pNewParent)

## Detailed Description

Describes a dotXSI template.

The CSLTemplate class is the base class for all classes in the semantic layer that describes a specific dotXSI template.

The class contains generic data manipulation, such as FCurve manipulation, custom parameter set manipulation and I/O synchronization.

This class is pure virtual, meaning you can't instantiate it directly. However, since you can obtain a pointer to a CSLTemplate, if you want to know which derived class was instantied, use the function Type.

## Member Enumeration Documentation

enum ETemplateType

This enum lists all templates supported by the semantic layer.

Enumerator:

  SI_ACTION_FCURVE | Action FCUrve template
  SI_ANGLE | SI_Angle template
  SI_AMBIENCE | SI_Ambience template
  SI_BASE_SHAPE | Base Shape template
  SI_CAMERA | SI_Camera template
  SI_CLUSTER | SI_Cluster template
  SI_CONSTRAINT | SI_Constraint template
  SI_COORDINATE_SYSTEM | SI_CoordinateSystem template
  SI_CURVE_LIST | SI_CurveList template
  SI_CUSTOM_PSET | XSI_CustomPSet template
  SI_CUSTOM_PARAM_INFO | XSI_CustomPSetInfo template
  SI_DIRECTIONAL_LIGHT | Directional light template
  SI_ENVELOPE | SI_Envelope template
  SI_ENVELOPE_LIST | SI_EnvelopeList template
  SI_FCURVE | SI_FCurve template
  SI_FILE_INFO | SI_FileInfo template
  SI_FOG | SI_Fog template
  SI_GLOBAL_MATERIAL | SI_GlobalMaterial template
  SI_IK_EFFECTOR | SI_IK_Effector template
  SI_IK_JOINT | SI_IK_Joint template
  SI_IK_ROOT | SI_IK_Root template
  SI_INFINITE_LIGHT | Infinite light
  SI_INSTANCE | SI_Instance template
  SI_LIGHT_INFO | Light info template
  SI_MATERIAL | Legacy SI_Material template
  SI_MATERIAL_LIBRARY | SI_MaterialLibrary template
  SI_MESH | SI_Mesh template
  SI_MODEL | SI_Model template
  SI_NULL_OBJECT | SI_Null template
  SI_NURBS_CURVE | SI_NurbsCurve template
  SI_NURBS_SURFACE | SI_NurbsSurface template
  SI_POINT_LIGHT | Point Light
  SI_POLYGON_LIST | SI_PolygonList template
  SI_SCENE_INFO | SI_SceneInfo template
  SI_SHAPE | SI_Shape template
  SI_SHAPE35 | SI_Shape dotXSI Version 3.5+
  SI_SHAPE_ANIMATION | SI_ShapeAnimation Template
  SI_SPOT_LIGHT | Spot light
  SI_SURFACE_MESH | SI_SurfaceMesh template
  SI_TEXTURE_2D | Legacy SI_Texture2D template
  SI_TRANSFORM | SI_Transform template
  SI_TRIANGLE_LIST | SI_TriangleList template
  SI_TRIANGLE_STRIP | SI_TriangleStrip template
  SI_TRIANGLE_STRIP_LIST | SI_TriangleStripList template
  SI_VISIBILITY | SI_Visibility template
  XSI_ACTION | XSI_Action template
  XSI_ACTIONCLIP | XSI_ActionClip template
  XSI_CUSTOM_PARAM_INFO | XSI_CustomPSet template
  XSI_EXTRAPOLATION | XSI_Extrapolation template
  XSI_FXOPERATOR | XSI_FXOperator template
  XSI_FXTREE | XSI_FXTree template
  XSI_IMAGE | XSI_Image template
  XSI_IMAGE_DATA | XSI_ImageData template
  XSI_IMAGE_FX | XSI_ImageFX template
  XSI_IMAGE_LIBRARY | XSI_ImageLibrary template
  XSI_MATERIAL | XSI_Material template
  XSI_MATERIAL_INFO | XSI_MaterialInfo template
  XSI_MIXER | XSI_Mixer template
  XSI_NURBS_PROJECTION | XSI_NurbsProjection template
  XSI_NURBS_TRIM | XSI_NurbsTrim template
  XSI_SHADER | XSI_Shader template
  XSI_SHADER_INSTANCE_DATA | XSI_ShaderInstanceData template
  XSI_STATIC_VALUES | XSI_StaticValue template
  XSI_TIMECONTROL | XSI_TimeControl template
  XSI_TRACK | XSI_Track template
  XSI_USER_DATA | XSI_UserData template
  XSI_USER_DATA_LIST | XSI_UserDataList template
  XSI_SUB_COMPONENT_ATTRIBUTE_LIST | XSI_SubComponentAttributeList template
  XSI_TRIANGLE_STRIP_LIST | XSI_TriangleStripList template
  XSI_TRIANGLE_LIST | XSI_TriangleList template
  XSI_POLYGON_LIST | XSI_PolygonList template
  XSI_VERTEX_LIST | XSI_VertexList template
  XSI_SHAPE | XSI_Shape template
  XSI_MESH | XSI_Mesh template
  XSI_SHAPE_ANIMATION | XSI_ShapeAnimation template
  XSI_CLUSTER_INFO | XSI_ClusterInfo template
  XSI_USER_DATA_BLOB | XSI_UserDataBlob template
  XSI_TRANSFORM | XSI_Transform template
  XSI_LIMIT | XSI_Limit template
  XSI_BASEPOSE | XSI_BasePose template
  COLLADA_MATERIAL | COLLADA material template
  COLLADA_EFFECT_LIBRARY | COLLADA effect library template
  COLLADA_EFFECT | COLLADA effect template
  COLLADA_EFFECT_COMMON_PROFILE | COLLADA effect common profile template
  COLLADA_EFFECT_CG_PROFILE | COLLADA effect Cg profile template
  COLLADA_EFFECT_COMMON_PARAM | COLLADA effect common profile param template
  COLLADA_EFFECT_COMMON_FLOAT | COLLADA effect common profile float template
  COLLADA_EFFECT_COMMON_COLOR | COLLADA effect common profile color template
  COLLADA_EFFECT_COMMON_TEXTURE | COLLADA effect common profile texture template
  COLLADA_EFFECT_COMMON_FLOAT_OR_PARAM | COLLADA effect common profile float/param switch template
  COLLADA_EFFECT_COMMON_COLOR_OR_TEXTURE | COLLADA effect common profile color/param/texture switch template
  COLLADA_EFFECT_COMMON_SHADER | COLLADA effect common profile shader
  COLLADA_EFFECT_SETPARAM | COLLADA setparam template
  XSI_IK_RESOLUTIONPLANE | Softimage IK resolution plane template
  XSI_CAMERA | XSI_Camera template
  XSI_POLYMATRICKS | XSI_Polymatricks template
  XSI_TRANSLATE | XSI_Translate template
  XSI_ROTATE | XSI_Rotate template
  XSI_SCALE | XSI_Scale template
  XSI_SHEAR | XSI_Shear template
  XSI_LOOKAT | XSI_Lookat template
  XSI_MATRIX | XSI_Matrix template
  XSI_SHAPEREFERENCE | XSI_ShapeReference template
  XSI_ACTIONCLIPCONTAINER | XSI_ActionClipContainer template
  XSI_INDEX_LIST | XSI_IndexList template
  XSI_CAMERA_FOCALLENGTH | XSI_CameraFocalLength template
  XSI_SHADER_MULTI_PORT_CONNECTION | XSI_ShaderMultiPortConnection template
  XSI_IMAGE_FX2 | XSI_ImageFX2 template
  XSI_TEXTURE_LAYER | XSI_TextureLayer template
  XSI_TEXTURE_LAYER_PORT | XSI_TextureLayerPort template
  XSI_USER_KEYWORD | XSI_UserKeyword template
  XSI_CLIP_TO_PARENT | XSI_ClipToParent
  XSI_SHADER_COMPOUND | XSI_ShaderCompound
  XSI_SHADER_COMPOUND_PORT | XSI_ShaderCompoundPort

enum EFCurveType

The EFCurveType enum lists all animatable parameters.

Enumerator:

  SI_COLOR_R | Color
  SI_COLOR_G | Color
  SI_COLOR_B | Color
  SI_POSITION_X | Camera position
  SI_POSITION_Y | Camera position
  SI_POSITION_Z | Camera position
  SI_ROLL | Camera roll
  SI_FOV | Camera fov
  SI_NEAR | Camera near plane
  SI_FAR | Camera far plane
  SI_INTEREST_X | Camera interest position
  SI_INTEREST_Y | Camera interest position
  SI_INTEREST_Z | Camera interest position
  SI_CONE | Light cone angle
  SI_SPREAD | Light spread
  SI_ORIENTATION_X | Light orientation
  SI_ORIENTATION_Y | Light orientation
  SI_ORIENTATION_Z | Light orientation
  SI_DIFFUSE_R | Material diffuse
  SI_DIFFUSE_G | Material diffuse
  SI_DIFFUSE_B | Material diffuse
  SI_DIFFUSE | Material diffuse
  SI_PARAMETER | Named parameter
  SI_POWER | Material specular power
  SI_SPECULAR_R | Material specular
  SI_SPECULAR_G | Material specular
  SI_SPECULAR_B | Material specular
  SI_EMISSIVE_R | Material emissive
  SI_EMISSIVE_G | Material emissive
  SI_EMISSIVE_B | Material emissive
  SI_AMBIENT_R | Material ambient
  SI_AMBIENT_G | Material ambient
  SI_AMBIENT_B | Material ambient
  SI_SCALING_X | Scaling
  SI_SCALING_Y | Scaling
  SI_SCALING_Z | Scaling
  SI_ROTATION_X | Rotation
  SI_ROTATION_Y | Rotation
  SI_ROTATION_Z | Rotation
  SI_TRANSLATION_X | Translation
  SI_TRANSLATION_Y | Translation
  SI_TRANSLATION_Z | Translation
  SI_SHPANIM | ShapeAnimation
  SI_NODEVIS | Visibility
  SI_HUE | ImageFX hue
  SI_GAIN | ImageFX gain
  SI_SATURATION | ImageFX saturation
  SI_BRIGHTNESS | ImageFX brightness
  SI_BLUR_RADIUS | ImageFX blur
  SI_BLUR_AMOUNT | ImageFX blur
  SI_BLUR_ALPHA | ImageFX blur
  SI_SCALING_TYPE | ImageFX scale type
  SI_SCALE_X | ImageFX scale
  SI_SCALE_Y | ImageFX scale
  SI_FLIP_X | ImageFX flip
  SI_FLIP_Y | ImageFX flip
  SI_RGBA2GRAYSCALE | ImageFX rgba to grayscale
  SI_BITS_PER_CHANNEL | ImageFX bits per channel
  SI_CROP_MIN_X | ImageClip crop
  SI_CROP_MAX_X | ImageClip crop
  SI_CROP_MIN_Y | ImageClip crop
  SI_CROP_MAX_Y | ImageClip crop
  SI_FALLOFF_ACTIVE | Light falloff active
  SI_FALLOFF_START | Light falloff start
  SI_FALLOFF_END | Light falloff end
  SI_SHADOWS_ENABLED | Light shadows enabled
  SI_UMBRA | Light umbra
  SI_LIGHT_AS_ENERGY | Light as energy
  SI_ENERGY_FACTOR | Light energy factor
  SI_INTENSITY | Light intensity

enum EFCurveInterpolationType

The EFCurveInterpolationType enum contains possible interpolation types for an fcurve

enum ERotationOrder

The ERotationOrder enum contains possible rotation order for the XSITransform template.

## Constructor & Destructor Documentation

CSLTemplate | ( | CSLScene * | in_pScene,
|  | CSLModel * | in_pParentModel,
|  | CdotXSITemplate * | in_pTemplate |
| ) |  |  |

Constructor

## Member Function Documentation

SI_Void SetName | ( | SI_Char * | in_szNewName | ) |

Sets the template name.

SI_Char* GetName | ( |  | ) |

Gets the template name.

CSLModel* ParentModel | ( |  | ) |

Return the model parent of this template.

Returns:
  CSLModel* Pointer to the parent model.

CSLScene* Scene | ( |  | ) |

Return the current scene object.

Returns:
  CSLScene* Pointer to the scene.

CdotXSITemplate* Template | ( |  | ) |

Return the FTK object associated with this template.

Returns:
  CdotXSITemplate* Pointer to a FTK template.

CSLFCurve* CreateFCurve | ( | EFCurveType | in_Type,
|  | EFCurveInterpolationType | in_InterpolationType |
| ) |  |  |

Create a new FCurve on this template.

Parameters:

  | in_Type | Type of fcurve to create
  | in_InterpolationType | Type of interpolation for the fcurve

Returns:
  CSLFCurve* Pointer to the newly created fcurve.

virtual CSLFCurve* CreateParameterFCurve | ( | SI_Char * | in_szParameterName,
|  | EFCurveInterpolationType | in_InterpolationType |
| ) |  |  | `[virtual]`

Create a new FCurve on this template.

Parameters:

  | in_szParameterName | Name of the parameter
  | in_InterpolationType | Type of interpolation for the fcurve

Returns:
  CSLFCurve* Pointer to the newly created fcurve.

SI_Error DestroyFCurve | ( | EFCurveType | in_Type | ) |

Destroy an existing FCurve on this template.

Parameters:

  | in_Type | Type of fcurve to destroy

Returns:
  SI_Error Error code.

CSLFCurve* RemoveFCurveAt | ( | SI_Int | in_Index | ) |

Remove a specific FCurve on this template.

Parameters:

  | in_Index |

Returns:
  CSLFCurve* FCurve removed.

CSLFCurve** FCurves | ( |  | ) |

List all fcurves on the template.

Returns:
  CSLFCurve** Array of pointers to fcurves.

SI_Int GetFCurveCount | ( |  | ) |

Return the number of fcurves currently present on the template.

Returns:
  SI_Int Number of fcurves.

CSLFCurve* GetSpecificFCurve | ( | EFCurveType | in_Type | ) |

Return a specific fcurve on the template.

Parameters:

  | in_Type | Type of fcurve to retrieve.

Returns:
  CSLFCurve* Pointer to the specified fcurve.

CSLFCurve* GetParameterFCurve | ( | SI_Char * | in_szParameterName | ) |

Return a specific fcurve on the template.

Parameters:

  | in_szParameterName | Name of the parameter's FCurve to find

Returns:
  CSLFCurve* Pointer to the specified fcurve.

SI_Error ClearFCurves | ( |  | ) |

Remove all fcurves on the template.

Returns:
  SI_Error Error code.

CSLCustomPSet* AddCustomPSet | ( |  | ) |

Adds a custom pset to the template

Returns:
  CSLCustomPSet* Pointer to the newly created custom pset, NULL if failed

SI_Error ClearCustomPSets | ( |  | ) |

Clears all the custom psets on that template

Returns:
  SI_Error whether the function failed or succeeded

CSLCustomPSet** GetCustomPSetList | ( |  | ) |

Return the list of custom psets on that template

Returns:
  CSLCustomPSet** array of custom psets instances

CSLCustomPSet* FindCustomPSet | ( | char * | in_pName | ) |

Return the custom pset with that name

Returns:
  CSLCustomPSet* the found custom pset

SI_Int GetCustomPSetCount | ( |  | ) |

Return the number of custom psets on that template

Returns:
  SI_Int the number of custom psets on that template

SI_Error RemoveCustomPSet | ( | SI_Int | in_nIndex | ) |

Removes a custom pset by index

Returns:
  SI_Error whether the function failed or succeeded

SI_Error RemoveCustomPSet | ( | CSLCustomPSet * | in_pToRemove | ) |

Removes a custom pset by name

Returns:
  SI_Error whether the function failed or succeeded

CSLFCurve* ConnectFCurve | ( | CSLFCurve * | in_pNewFCurve | ) |

Connects an fcurve to this template

Parameters:

  | CSLFCurve* | the fcurve to connect

Returns:
  CSLFCurve* Pointer to the specified fcurve.

CSLCustomPSet* ConnectCustomPSet | ( | CSLCustomPSet * | in_pNewCustomPSet | ) |

Connects a custom pset to this template

Parameters:

  | CSLCustomPSet* | the custom pset to connect

Returns:
  CSLCustomPSet* Pointer to the specified custom pset

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

Clean invalid data from the template.

Returns:
  SI_Error Error code

Reimplemented in CSLBaseShape, CSLCluster, CSLCOLLADAAction, CSLCOLLADAMesh, CSLCOLLADAModel, CSLMesh, CSLModel, CSLNurbsSurface, CSLShapeAnimation, CSLXSIMesh, CSLNurbsProjection, CSLNurbsTrim, and CSLXSIShapeAnimation.

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

Synchronize will ensure that the animated parameter is up to date.

Returns:
  SI_Error Error code

Reimplemented in CSLAction, CSLActionClip, CSLActionClipContainer, CSLActionFCurve, CSLBaseFCurve, CSLBaseShape, CSLCluster, CSLCOLLADAAction, CSLCOLLADAActionFCurve, CSLCOLLADAEnvelope, CSLCOLLADAEnvelopeList, CSLCOLLADAFCurve, CSLCOLLADAIndexList, CSLCOLLADAInstance, CSLCOLLADAMesh, CSLCOLLADAModel, CSLCOLLADAShapeAnimation, CSLCOLLADASpotLight, CSLCOLLADASubComponentAttributeList, CSLCOLLADATriangleList, CSLCOLLADAVertexList, CSLConstraint, CSLCurveList, CSLXSICustomParamInfo, CSLCustomPSet, CSLDirectionalLight, CSLEnvelope, CSLEnvelopeList, CSLFCurve, CSLFileInfo, CSLFXOperator, CSLFXTree, CSLGeometry, CSLGlobalMaterial, CSLIKEffector, CSLIKResolutionPlane, CSLIKJoint, CSLIKRoot, CSLInfiniteLight, CSLInstance, CSLLight, CSLBaseMaterial, CSLMaterial, CSLMaterialLibrary, CSLMesh, CSLMixer, CSLModel, CSLNull, CSLNurbsCurve, CSLNurbsSurface, CSLPointLight, CSLPolygonList, CSLShaderInstanceData, CSLShape, CSLShape_35, CSLShapeAnimation, CSLSpotLight, CSLSurfaceMesh, CSLTimeControl, CSLTrack, CSLTriangleList, CSLTriangleStrip, CSLTriangleStripList, CSLXSICamera, CSLXSICameraFocalLength, CSLXSIClusterInfo, CSLXSIGeometry, CSLImage, CSLImageData, CSLImageLibrary, CSLXSIIndexList, CSLXSIMaterial, CSLXSIMesh, CSLNurbsProjection, CSLNurbsTrim, CSLXSIPolygonList, CSLXSIShader, CSLXSIShaderCompound, CSLXSIShaderCompoundPort, CSLXSIShaderMultiPortConnection, CSLXSIShape, CSLXSIShapeAnimation, CSLXSIShapeReference, CSLXSISubComponentAttributeList, CSLXSITextureLayer, CSLXSITranslate, CSLXSIRotate, CSLXSIScale, CSLXSIShear, CSLXSILookat, CSLXSIMatrix, CSLXSIPolymatricks, CSLXSITransform, CSLXSIBasePose, CSLXSITriangleList, CSLXSITriangleStripList, CSLUserData, CSLUserDataBlob, CSLUserDataList, and CSLXSIVertexList.

virtual ETemplateType Type | ( |  | ) | `[pure virtual]`

Indicate which dotXSI template this object describes.

Returns:
  ETemplateType Type of template

Implemented in CSLAction, CSLActionClip, CSLActionClipContainer, CSLActionFCurve, CSLAmbience, CSLAngle, CSLCamera, CSLCluster, CSLConstraint, CSLCoordinateSystem, CSLCurveList, CSLXSICustomParamInfo, CSLCustomPSet, CSLDirectionalLight, CSLEnvelope, CSLEnvelopeList, CSLExtrapolation, CSLFCurve, CSLFileInfo, CSLFog, CSLFXOperator, CSLFXTree, CSLGlobalMaterial, CSLIKEffector, CSLIKResolutionPlane, CSLIKJoint, CSLIKRoot, CSLInfiniteLight, CSLInstance, CSLLightInfo, CSLMaterial, CSLMaterialLibrary, CSLMesh, CSLMixer, CSLModel, CSLNull, CSLNurbsCurve, CSLNurbsSurface, CSLPointLight, CSLPolygonList, CSLSceneInfo, CSLShaderInstanceData, CSLShape, CSLShape_35, CSLShapeAnimation, CSLSpotLight, CSLStaticValue, CSLSurfaceMesh, CSLTexture2D, CSLTimeControl, CSLTrack, CSLTransform, CSLTriangleList, CSLTriangleStrip, CSLTriangleStripList, CSLVisibility, CSLXSICamera, CSLXSICameraFocalLength, CSLXSIClipToParent, CSLXSIClusterInfo, CSLImage, CSLImageData, CSLImageFX, CSLImageFX2, CSLImageLibrary, CSLXSIIndexList, CSLXSILimit, CSLXSIMaterial, CSLXSIMaterialInfo, CSLXSIMesh, CSLNurbsProjection, CSLNurbsTrim, CSLXSIPolygonList, CSLXSIShader, CSLXSIShaderCompound, CSLXSIShaderCompoundPort, CSLXSIShaderMultiPortConnection, CSLXSIShape, CSLXSIShapeAnimation, CSLXSIShapeReference, CSLXSISubComponentAttributeList, CSLXSITextureLayer, CSLXSITextureLayerPort, CSLXSITranslate, CSLXSIRotate, CSLXSIScale, CSLXSIShear, CSLXSILookat, CSLXSIMatrix, CSLXSIPolymatricks, CSLXSITransform, CSLXSIBasePose, CSLXSITriangleList, CSLXSITriangleStripList, CSLUserData, CSLUserDataBlob, CSLUserDataList, CSLXSIUserKeyword, and CSLXSIVertexList.

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

Return a proxy to the specified parameter.

Parameters:

  | in_szName | Name of the parameter

Returns:
  CSLAnimatableType* Pointer to a parameter proxy.

Reimplemented in CSLActionClip, CSLAmbience, CSLCamera, CSLCustomPSet, CSLDirectionalLight, CSLFog, CSLFXOperator, CSLFXTree, CSLGeometry, CSLIKEffector, CSLIKResolutionPlane, CSLIKJoint, CSLLight, CSLLightInfo, CSLMaterial, CSLMesh, CSLModel, CSLPolygonList, CSLSceneInfo, CSLShaderInstanceData, CSLSpotLight, CSLTransform, CSLTriangleList, CSLTriangleStripList, CSLVisibility, CSLXSICamera, CSLXSICameraFocalLength, CSLXSIClipToParent, CSLXSIGeometry, CSLImage, CSLImageFX, CSLImageFX2, CSLImageLibrary, CSLXSILimit, CSLXSIMaterial, CSLXSIMaterialInfo, CSLXSIMesh, CSLXSIShader, CSLXSITextureLayer, CSLXSITextureLayerPort, CSLXSITranslate, CSLXSIRotate, CSLXSIScale, CSLXSIShear, CSLXSILookat, CSLXSIMatrix, CSLXSITransform, and CSLXSIBasePose.

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

Return a proxy to the specified parameter.

Parameters:

  | in_Type | Type of parameter
  | in_szParameterName | Name of the parameter if the type is SI_PARAMETER

Returns:
  CSLAnimatableType* Pointer to a parameter proxy.

Reimplemented in CSLActionClip, CSLAmbience, CSLCamera, CSLCustomPSet, CSLDirectionalLight, CSLFog, CSLFXOperator, CSLLight, CSLLightInfo, CSLMaterial, CSLShaderInstanceData, CSLSpotLight, CSLTransform, CSLVisibility, CSLXSICamera, CSLXSICameraFocalLength, CSLXSIClipToParent, CSLImage, CSLImageFX, CSLImageFX2, CSLXSILimit, CSLXSIShader, CSLXSITextureLayer, CSLXSITextureLayerPort, CSLXSITranslate, CSLXSIRotate, CSLXSIScale, CSLXSIShear, CSLXSILookat, CSLXSIMatrix, CSLXSITransform, and CSLXSIBasePose.

virtual SI_Char* FullName | ( |  | ) | `[virtual]`

Return the object's fullname (Softimage path).

Returns:
  SI_Char* Pointer to a string containing the object's fullname (Softimage path).

CSLUserDataBlob* ConnectUserDataBlob | ( | CSLUserDataBlob * | in_pNewUserDataBlob | ) |

Connects a user data blob to this template

Parameters:

  | CSLUserDataBlob* | the user data blob to connect

Returns:
  CSLUserDataBlob* Pointer to the specified user data blob

CSLUserDataBlob* AddUserDataBlob | ( |  | ) |

Adds a user data blob to the template

Returns:
  CSLUserDataBlob* Pointer to the newly created user data blob, NULL if failed

SI_Error ClearUserDataBlobs | ( |  | ) |

Clears all the user data blobs on that template

Returns:
  SI_Error whether the function failed or succeeded

CSLUserDataBlob** GetUserDataBlobList | ( |  | ) |

Return the list of user data blobs on that template

Returns:
  CSLUserDataBlob** array of user data blobs instances

SI_Int GetUserDataBlobCount | ( |  | ) |

Return the number of user data blobs on that template

Returns:
  SI_Int the number of user data blobs on that template

SI_Error RemoveUserDataBlob | ( | SI_Int | in_nIndex | ) |

Removes a user data blob by index

Returns:
  SI_Error whether the function failed or succeeded

SI_Error RemoveUserDataBlob | ( | CSLUserDataBlob * | in_pToRemove | ) |

Removes a user data blob by name

Returns:
  SI_Error whether the function failed or succeeded

CSLXSIUserKeyword* GetUserKeyword | ( |  | ) |

Gets the CSLXSIUserKeyword object

Returns:
  CSLXSIUserKeyword* The CSLXSIUserKeyword object if it exists, NULL if not.

CSLXSIUserKeyword* CreateUserKeyword | ( |  | ) |

Creates a CSLXSIUserKeyword object

Returns:
  CSLXSIUserKeyword* The CSLXSIUserKeyword object

CSLXSIUserKeyword* ConnectUserKeyword | ( | CSLXSIUserKeyword * | in_pToConnect | ) |

Connect an existing CSLXSIUserKeyword object to the template

Parameters:

  | CSLXSIUserKeyword* | The new CSLXSIUserKeyword

Returns:
  CSLXSIUserKeyword* The old CSLXSIUserKeyword

virtual const SI_Char* GetParameterName | ( | CSLAnimatableType * | in_pParameter | ) | `[virtual]`

Return the name (string) of a specified parameter.

Parameters:

  | in_pParameter | The parameter

Returns:
  SI_Char* Name of the parameter.

Reimplemented in CSLCOLLADAModel, CSLModel, CSLXSICamera, CSLXSICameraFocalLength, CSLXSILimit, CSLXSITranslate, CSLXSIRotate, CSLXSIScale, CSLXSIShear, CSLXSILookat, CSLXSIMatrix, CSLXSIPolymatricks, CSLXSITransform, and CSLXSIBasePose.

SI_Bool AreFullNamesExported | ( |  | ) |

Checks if the version of dotXSI file exports with full names (e.g. "model.name") or just the name

Returns:
  SI_Bool True if the full name is exported for this version

virtual SI_Error Evaluate | ( | SI_Float | in_fTime | ) | `[virtual]`

Evalutes this class using the given time value

Parameters:

  | in_fTime | The time

Return values:

  | SI_SUCCESS |

Reimplemented in CSLBaseFCurve.

SI_Error SetParent | ( | CSLModel * | in_pNewParent | ) | `[protected]`

Resets the Parent to the given parent

Parameters:

  | in_pNewParent |

Returns:
  SI_SUCCESS if successfull

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

- Template.h