25 #ifndef PXR_BASE_TS_SPLINE_KEY_FRAMES_H
26 #define PXR_BASE_TS_SPLINE_KEY_FRAMES_H
78 *intervalAffected=NULL );
82 *intervalAffected=NULL );
119 void _SetLoopedFromNormal();
123 void _SetNormalFromLooped();
127 void _UnrollMaster();
139 std::vector<TsTime> *times = NULL);
146 _KeyFrameRange _GetKeyFrameRange(
TsTime time );
151 _KeyFrameRange _GetKeyFrameRange(
TsTime leftTime,
TsTime rightTime );
164 const TsSide &side)
const;
167 void _LoopParamsChanged(
bool loopingChanged,
bool valueOffsetChanged,
const TsExtrapolationPair & GetExtrapolation() const
Get the left and right extrapolation.
TsExtrapolationType
Spline extrapolation types.
const TsLoopParams & GetLoopParams() const
Get the loop parameters.
GT_API const UT_StringHolder time
void SetExtrapolation(const TsExtrapolationPair &extrapolation)
Sets the left and right extrapolation.
GLenum const GLfloat * params
An ordered sequence of keyframes with STL-compliant API for finding, inserting, and erasing keyframes...
friend class TsKeyFrameEvalUtil
void SetLoopParams(const TsLoopParams &loopParams)
Sets the loop parameters.
std::vector< TsKeyFrame >::iterator iterator
void RemoveKeyFrame(TsTime t, GfInterval *intervalAffected=NULL)
If looping, just affects the non unrolled intervals.
Specifies the value of an TsSpline object at a particular point in time.
PXR_NAMESPACE_OPEN_SCOPE typedef double TsTime
The time type used by Ts.
void SwapKeyFrames(std::vector< TsKeyFrame > *keyFrames)
TsSide
Dual-value keyframe side.
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Maintains the keyframes for a spline.
const TsKeyFrameMap & GetNormalKeyFrames() const
Gets the underlying normal keys.
#define PXR_NAMESPACE_CLOSE_SCOPE
bool operator==(const TsSpline_KeyFrames &rhs) const
std::pair< TsExtrapolationType, TsExtrapolationType > TsExtrapolationPair
A pair of TsExtrapolationTypes indicating left and right extrapolation in first and second...
void SetKeyFrames(const TsKeyFrameMap &)
If looping, just writes to the non unrolled intervals.
void SetKeyFrame(TsKeyFrame kf, GfInterval *intervalAffected=NULL)
If looping, just writes to the non unrolled intervals.
const TsKeyFrameMap & GetKeyFrames() const
void Clear()
Clears both maps.