Loading...
Searching...
No Matches
TsSpline_KeyFrames Class Reference

Maintains the keyframes for a spline. More...

#include <spline_KeyFrames.h>

Public Member Functions

 TsSpline_KeyFrames (TsSpline_KeyFrames const &other, TsKeyFrameMap const *keyFrames=NULL)
 Generalized copy constructor.
 
const TsKeyFrameMapGetKeyFrames () const
 Gets the looped or unlooped keys, according to whether the spline is looping.
 
void SetKeyFrames (const TsKeyFrameMap &)
 If looping, just writes to the non unrolled intervals.
 
void SwapKeyFrames (std::vector< TsKeyFrame > *keyFrames)
 Replaces the key frames of this spline with keyFrames, and replaces the contents of keyFrames with the key frames in this spline.
 
void SetKeyFrame (TsKeyFrame kf, GfInterval *intervalAffected=NULL)
 If looping, just writes to the non unrolled intervals.
 
void RemoveKeyFrame (TsTime t, GfInterval *intervalAffected=NULL)
 If looping, just affects the non unrolled intervals.
 
void Clear ()
 Clears both maps.
 
const TsKeyFrameMapGetNormalKeyFrames () const
 Gets the underlying normal keys.
 
const TsLoopParams & GetLoopParams () const
 Get the loop parameters.
 
void SetLoopParams (const TsLoopParams &loopParams)
 Sets the loop parameters.
 
const TsExtrapolationPair & GetExtrapolation () const
 Get the left and right extrapolation.
 
void SetExtrapolation (const TsExtrapolationPair &extrapolation)
 Sets the left and right extrapolation.
 
bool operator== (const TsSpline_KeyFrames &rhs) const
 
void BakeSplineLoops ()
 

Friends

class TsKeyFrameEvalUtil
 
class TsSpline
 

Detailed Description

Maintains the keyframes for a spline.

The TsSpline_KeyFrames is a private class that holds onto and provides API for interacting with the spline's keyframes. Its principle duty is to manage the looping/non-looping representations of the spline. This class should only be held by TsSpline.

Definition at line 49 of file spline_KeyFrames.h.

Constructor & Destructor Documentation

◆ TsSpline_KeyFrames()

TsSpline_KeyFrames ( TsSpline_KeyFrames const &  other,
TsKeyFrameMap const *  keyFrames = NULL 
)

Generalized copy constructor.

If keyFrames is not NULL, this constructor has the same behavior as first copying other, then calling SetKeyFrames with keyFrames.

Member Function Documentation

◆ Clear()

void Clear ( )

Clears both maps.

◆ GetExtrapolation()

const TsExtrapolationPair & GetExtrapolation ( ) const

Get the left and right extrapolation.

◆ GetKeyFrames()

const TsKeyFrameMap & GetKeyFrames ( ) const

Gets the looped or unlooped keys, according to whether the spline is looping.

◆ GetLoopParams()

const TsLoopParams & GetLoopParams ( ) const

Get the loop parameters.

◆ GetNormalKeyFrames()

const TsKeyFrameMap & GetNormalKeyFrames ( ) const

Gets the underlying normal keys.

◆ RemoveKeyFrame()

void RemoveKeyFrame ( TsTime  t,
GfInterval intervalAffected = NULL 
)

If looping, just affects the non unrolled intervals.

◆ SetExtrapolation()

void SetExtrapolation ( const TsExtrapolationPair &  extrapolation)

Sets the left and right extrapolation.

◆ SetKeyFrame()

void SetKeyFrame ( TsKeyFrame  kf,
GfInterval intervalAffected = NULL 
)

If looping, just writes to the non unrolled intervals.

◆ SetKeyFrames()

void SetKeyFrames ( const TsKeyFrameMap )

If looping, just writes to the non unrolled intervals.

◆ SetLoopParams()

void SetLoopParams ( const TsLoopParams &  loopParams)

Sets the loop parameters.

◆ SwapKeyFrames()

void SwapKeyFrames ( std::vector< TsKeyFrame > *  keyFrames)

Replaces the key frames of this spline with keyFrames, and replaces the contents of keyFrames with the key frames in this spline.

If the spline is looping, the data put into keyFrames will be the key frames from the looped view of the spline, and hidden keys will be preserved when keyFrames is swapped into this spline.

Friends And Related Function Documentation

◆ TsKeyFrameEvalUtil

friend class TsKeyFrameEvalUtil
friend

Definition at line 171 of file spline_KeyFrames.h.

◆ TsSpline

friend class TsSpline
friend

Definition at line 172 of file spline_KeyFrames.h.


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