# CSLTimeControl Class Reference

`#include <TimeControl.h>`

Inheritance diagram for CSLTimeControl:

List of all members.

## Public Types
enum | EExtrapolationPos { SI_BEFORE, SI_AFTER }
| Specifies where extrapolation occures while processing an CSLActionClip. More...
## Public Member Functions
| CSLTimeControl (CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate)
CSLTemplate::ETemplateType | Type ()
SI_Error | Synchronize ()
SI_Float | GetIn ()
SI_Void | SetIn (SI_Float in_fNew)
SI_Float | GetOut ()
SI_Void | SetOut (SI_Float in_fNew)
SI_Float | GetScale ()
SI_Void | SetScale (SI_Float in_fNew)
SI_Float | GetStartOffset ()
SI_Void | SetStartOffset (SI_Float in_fNew)
CSLExtrapolation * | CreateExtrapolation (EExtrapolationPos in_Pos, CSLExtrapolation::EExtrapolationType in_Type=CSLExtrapolation::SI_NO_CONTRIBUTION)
CSLExtrapolation * | GetExtrapolation (EExtrapolationPos in_Pos)
SI_Void | SetExtrapolation (EExtrapolationPos in_Pos, CSLExtrapolation *in_pExtrapolation)
CSLExtrapolation * | ConnectExtrapolation (EExtrapolationPos in_Pos, CSLExtrapolation *in_pExtrapolation)
CSLXSIClipToParent * | CreateClipToParent ()
CSLXSIClipToParent * | GetClipToParent ()
SI_Void | SetClipToParent (CSLXSIClipToParent *in_pXSIClipToParent)
CSLXSIClipToParent * | ConnectClipToParent (CSLXSIClipToParent *in_pClipToParent)

## Detailed Description

Stores the clipping and offset parameters of an action clip (CSLActionClip--see the XSI_TimeControl template reference). You can add a CSLTimeControl with the CSLActionClip::AddTimeControl method.

Note:
  CSLTimeControl is not supported by SI3D.

See also:
  CSLActionClip

  CSLExtrapolation

## Member Enumeration Documentation

enum EExtrapolationPos

Specifies where extrapolation occures while processing an CSLActionClip.

Enumerator:

  SI_BEFORE | Extrapolation performed before the CSLActionClip.
  SI_AFTER | Extrapolation performed after the CSLActionClip.

## Constructor & Destructor Documentation

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

Constructor

Parameters:

  | in_pScene | Pointer to the scene containing the CSLTimeControl
  | in_pModel | Pointer to the model containing the CSLTimeControl
  | in_pTemplate | Pointer to the CdotXSITemplate containing the CSLTimeControl data

## Member Function Documentation

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

Gets the type of this template

Return values:

  | CSLTemplate::XSI_TIMECONTROL |

Implements CSLTemplate.

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

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

Returns:
  SI_Error Error code

Reimplemented from CSLTemplate.

SI_Float GetIn | ( |  | ) |

Gets the first frame of the source that is used by the clip.

Returns:
  Frame number

SI_Void SetIn | ( | SI_Float | in_fNew | ) |

Sets the first frame of the source that is used by the clip.

Parameters:

  | in_fNew | Frame number

SI_Float GetOut | ( |  | ) |

Gets the last frame of the source that is used by the clip.

Returns:
  Frame number

SI_Void SetOut | ( | SI_Float | in_fNew | ) |

Sets the last frame of the source that is used by the clip.

Parameters:

  | in_fNew | Frame number

SI_Float GetScale | ( |  | ) |

Gets the scaling of the clip in time.

Returns:
  SI_Float The scale value

SI_Void SetScale | ( | SI_Float | in_fNew | ) |

Sets The scaling of the clip in time.

Parameters:

  | in_fNew | Scale factor

Note:
  Increasing this value speeds up the relative time of the clip, decreasing the duration.

SI_Float GetStartOffset | ( |  | ) |

Gets the frame where the clip starts in the local time of the CSLActionClip.

Returns:
  SI_Float The start offset

SI_Void SetStartOffset | ( | SI_Float | in_fNew | ) |

Sets he frame where the clip starts in the local time of the CSLActionClip.

Parameters:

  | in_fNew | The new start offset value

CSLExtrapolation* CreateExtrapolation | ( | EExtrapolationPos | in_Pos,
|  | CSLExtrapolation::EExtrapolationType | in_Type = `CSLExtrapolation::SI_NO_CONTRIBUTION` |
| ) |  |  |

Creates a new extrapolation and connect it

Parameters:

  | in_Pos | Specifies where the extrapolation must be performed
  | in_Type | Type of extrapolation to create

Return values:

  | CSLExtrapolation | Pointer to the newly created extrapolation.
  | NULL | An extrapolation at `in_Pos` already exists.

CSLExtrapolation* GetExtrapolation | ( | EExtrapolationPos | in_Pos | ) |

Gets one of the extrapolation

Parameters:

  | in_Pos | Specifies the extrapolation position to get

Return values:

  | Pointer | to the requested extrapolation
  | NULL | There is no extrapolation at the requested position

SI_Void SetExtrapolation | ( | EExtrapolationPos | in_Pos,
|  | CSLExtrapolation * | in_pExtrapolation |
| ) |  |  |

Sets one of the extrapolation position

Parameters:

  | in_Pos | The extrapolation position to set.
  | in_pExtrapolation | The extrapolation to put at the requested position

Warning:
  This method overwrites any existing extrapolation and might cause leaks. You either have to free previously allocated extrapolation or use the non-destructive CSLTimeControl::ConnectExtrapolation method instead.

See also:
  CSLTimeControl::ConnectExtrapolation

CSLExtrapolation* ConnectExtrapolation | ( | EExtrapolationPos | in_Pos,
|  | CSLExtrapolation * | in_pExtrapolation |
| ) |  |  |

Sets one of the extrapolation values if not already set

Parameters:

  | in_Pos | Specifies the extrapolation position to set
  | in_pExtrapolation | Extrapolation to connect

See also:
  CSLTimeControl::SetExtrapolation

CSLXSIClipToParent* CreateClipToParent | ( |  | ) |

Creates a new ClipToParent and connect it

Return values:

  | CSLXSIClipToParent | Pointer to the newly created ClipToParent.
  | NULL | An ClipToParent already exists.

CSLXSIClipToParent* GetClipToParent | ( |  | ) |

Gets the ClipToParent

Return values:

  | Pointer | to the ClipToParent
  | NULL | There is no ClipToParent

SI_Void SetClipToParent | ( | CSLXSIClipToParent * | in_pXSIClipToParent | ) |

Sets one of the extrapolation position

Parameters:

  | in_pClipToParent | The ClipToParent to set

Warning:
  This method overwrites existing ClipToParent and might cause leaks. You either have to free the previously allocated ClipToParent or use the non-destructive CSLTimeControl::ConnectExtrapolation method instead.

See also:
  CSLTimeControl::ConnectClipToParent

CSLXSIClipToParent* ConnectClipToParent | ( | CSLXSIClipToParent * | in_pClipToParent | ) |

Sets the ClipToParent values if not already set

Parameters:

  | in_pClipToParent | ClipToParent to connect

See also:
  CSLTimeControl::SetClipToParent

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

- TimeControl.h