# CSLXSIShapeAnimation Class Reference

`#include <XSIShapeAnimation.h>`

Inheritance diagram for CSLXSIShapeAnimation:

List of all members.

## Public Member Functions
| CSLXSIShapeAnimation (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate, EFCurveInterpolationType in_Type)
CSLXSIShape * | AddXSIShape ()
CSLXSIShape * | InsertXSIShape (SI_Int in_nIndex)
SI_Int | GetXSIShapeCount ()
CSLXSIShape ** | XSIShapes ()
SI_Error | RemoveXSIShape (SI_Int in_nIndex)
SI_Error | RemoveXSIShape (CSLXSIShape *in_pObject)
SI_Error | ClearXSIShapes ()
CSLFCurve * | Animation ()
CSLFCurve * | AddAnimation ()
CSLActionClip * | GetFirstActionClipByShape (CSLXSIShape *in_pShape)
virtual SI_Error | Fix ()
virtual SI_Error | Synchronize ()
virtual ETemplateType | Type ()

## Detailed Description

Describes a mesh shape animation for dotXSI 5.0+ (see the XSI_ShapeAnimation template reference).

See also:
  CSLAction

## Constructor & Destructor Documentation

CSLXSIShapeAnimation | ( | CSLScene * | in_pScene,
|  | CSLModel * | in_pModel,
|  | CdotXSITemplate * | in_pTemplate,
|  | EFCurveInterpolationType | in_Type |
| ) |  |  |

Constructor

Parameters:

  | in_pScene | Parent scene
  | in_pModel | Parent model
  | in_pTemplate | referred template
  | in_Type | Default interpolation type

## Member Function Documentation

CSLXSIShape* AddXSIShape | ( |  | ) |

Add a new shape at the end of the animation.

Returns:
  CSLXSIShape* Pointer to the newly created shape.

CSLXSIShape* InsertXSIShape | ( | SI_Int | in_nIndex | ) |

Insert a new shape into the animation.

Parameters:

  | SI_Int | Index of insertion of the new shape.

Returns:
  Pointer to the newly created shape.

Note:
  Animation is inserted at the end of the list if the index is out of bounds

SI_Int GetXSIShapeCount | ( |  | ) |

Return the number of shapes in the animation.

Returns:
  SI_Int Number of shapes.

CSLXSIShape** XSIShapes | ( |  | ) |

Return an array of all shapes in the animation.

Returns:
  Pointer to the array of pointers to shape objects.

SI_Error RemoveXSIShape | ( | SI_Int | in_nIndex | ) |

Remove a single shape from the animation.

Parameters:

  | SI_Int | Index of the shape to remove.

Return values:

  | SI_SUCCESS | The animation was removed
  | SI_ERR_BAD_ARGUMENT | Invalid index

SI_Error RemoveXSIShape | ( | CSLXSIShape * | in_pObject | ) |

Remove a single shape from the animation.

Parameters:

  | CSLXSIShape* | Pointer to the shape to remove.

Return values:

  | SI_SUCCESS | The animation was removed
  | SI_ERR_BAD_ARGUMENT | Shape was not found

SI_Error ClearXSIShapes | ( |  | ) |

Remove all shapes from the shape animation.

Returns:
  SI_SUCCESS

CSLFCurve* Animation | ( |  | ) |

Return the fcurve containing the animation of the shape.

Returns:
  CSLFCurve* Pointer to a fcurve object.

CSLFCurve* AddAnimation | ( |  | ) |

Verify if we have an animation fcurve, if not, it creates the template of the fcurve, creates the semantic layer object of the fcurve and connect it to the template.

Returns:
  CSLFCurve* Pointer to a fcurve containing the animation of the shape (new or existing one).

CSLActionClip* GetFirstActionClipByShape | ( | CSLXSIShape * | in_pShape | ) |

Return the first action clip that uses this shape as a source.

Returns:
  CSLActionClip* Pointer on the action clip if found, NULL if not.

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

Clean invalid data from the template.

Returns:
  SI_Error Error code

Reimplemented from CSLTemplate.

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

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

Returns:
  SI_Error Error code

Reimplemented from CSLTemplate.

Reimplemented in CSLCOLLADAShapeAnimation.

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

Returns the type of this template

Return values:

  | CSLTemplate::XSI_SHAPE_ANIMATION |

Implements CSLTemplate.

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

- XSIShapeAnimation.h