25 #ifndef PXR_BASE_TS_KEY_FRAME_UTILS_H
26 #define PXR_BASE_TS_KEY_FRAME_UTILS_H
60 std::pair<const TsKeyFrame *, const TsKeyFrame *>
std::pair< const TsKeyFrame *, const TsKeyFrame * > Ts_GetClosestKeyFramesSurrounding(const TsKeyFrameMap &keyframes, const TsTime targetTime)
Equivalant to calling Ts_GetClosestKeyFrameBefore and Ts_GetClosestKeyFrameAfter, but twice the speed...
bool Ts_IsSegmentFlat(const TsKeyFrame &kf1, const TsKeyFrame &kf2)
Returns true if the segment between the given (adjacent) key frames is flat.
const TsKeyFrame * Ts_GetClosestKeyFrameAfter(const TsKeyFrameMap &keyframes, const TsTime targetTime)
Finds the closest keyframe in keyframes after the given time. Returns NULL if no such keyframe exists...
bool Ts_IsKeyFrameRedundant(const TsKeyFrameMap &keyframes, const TsKeyFrame &keyFrame, const TsLoopParams &loopParams=TsLoopParams(), const VtValue &defaultValue=VtValue())
Returns true if the given key frame is redundant.
An ordered sequence of keyframes with STL-compliant API for finding, inserting, and erasing keyframes...
TS_API Ts_Data * Ts_GetKeyFrameData(TsKeyFrame &kf)
const TsKeyFrame * Ts_GetClosestKeyFrame(const TsKeyFrameMap &keyframes, const TsTime targetTime)
Finds the keyframe in keyframes closest to the given time. Returns NULL if there are no keyframes...
const TsKeyFrame * Ts_GetClosestKeyFrameBefore(const TsKeyFrameMap &keyframes, const TsTime targetTime)
Finds the closest keyframe in keyframes before the given time. Returns NULL if no such keyframe exist...
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.
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Holds the data for an TsKeyFrame.
#define PXR_NAMESPACE_CLOSE_SCOPE
bool Ts_IsClose(const VtValue &v0, const VtValue &v1)