HDK
|
#include <CL_SimpleChannel.h>
Public Member Functions | |
CL_Cubic () | |
CL_Cubic (const CL_SegmentValues &sv) | |
CL_Cubic (fpreal iv, fpreal ov, fpreal im, fpreal om, fpreal it, fpreal ot) | |
void | init (const CL_SegmentValues &sv) |
void | getValues (CL_SegmentValues &v) const |
fpreal | timeToParametric (fpreal t) const |
fpreal | reverseEvalP (fpreal y) const |
fpreal | evalP (fpreal u) const |
fpreal | eval (fpreal t) const |
fpreal | calculateSlopeP (fpreal u) const |
fpreal | calculateAccelP (fpreal u) const |
bool | getMonotoneInterval (UT_IntervalR &range, bool lock_in) |
void | getWeakMonotoneInterval (UT_IntervalR &range, bool lock_in) |
void | display () const |
Static Public Member Functions | |
static fpreal | reverseEvalP (const fpreal x[4], fpreal y) |
static fpreal | reverseEvalP (const CL_SimpleSegment &seg, fpreal y) |
static bool | isMonotone (fpreal iv, fpreal ov, fpreal im, fpreal om, fpreal dt) |
static void | clampSlopesToMonotone (fpreal &in, fpreal &out, fpreal in_val, fpreal out_val, fpreal dt) |
static fpreal | getMonotoneSlopeSDDE (fpreal v0, fpreal v1, fpreal v2, fpreal t0, fpreal t1, fpreal t2, fpreal m0, fpreal m2) |
static void | getMonotoneSlopeSDDE2 (fpreal v0, fpreal v1, fpreal v2, fpreal v3, fpreal t0, fpreal t1, fpreal t2, fpreal t3, fpreal m0, fpreal &m1, fpreal &m2, fpreal m3) |
Public Attributes | |
fpreal | t0 |
fpreal | t1 |
fpreal | x0 |
fpreal | x1 |
fpreal | x2 |
fpreal | x3 |
Definition at line 83 of file CL_SimpleChannel.h.
|
inline |
Definition at line 89 of file CL_SimpleChannel.h.
CL_Cubic::CL_Cubic | ( | const CL_SegmentValues & | sv | ) |
|
static |
void CL_Cubic::display | ( | ) | const |
Definition at line 102 of file CL_SimpleChannel.h.
bool CL_Cubic::getMonotoneInterval | ( | UT_IntervalR & | range, |
bool | lock_in | ||
) |
|
static |
Second derivative discontinuity minimizing method suggested by Wolberg. Given the slopes at the surrounding knots, picks a slope that gets as close to C2 continuity as possible while preserving monotonicity. To be used on keys whose neighbours have pre-determined slopes, like local extrema or non-auto slopes
|
static |
void CL_Cubic::getValues | ( | CL_SegmentValues & | v | ) | const |
void CL_Cubic::getWeakMonotoneInterval | ( | UT_IntervalR & | range, |
bool | lock_in | ||
) |
void CL_Cubic::init | ( | const CL_SegmentValues & | sv | ) |
|
static |
fpreal CL_Cubic::t0 |
Definition at line 86 of file CL_SimpleChannel.h.
fpreal CL_Cubic::t1 |
Definition at line 86 of file CL_SimpleChannel.h.
fpreal CL_Cubic::x0 |
Definition at line 87 of file CL_SimpleChannel.h.
fpreal CL_Cubic::x1 |
Definition at line 87 of file CL_SimpleChannel.h.
fpreal CL_Cubic::x2 |
Definition at line 87 of file CL_SimpleChannel.h.
fpreal CL_Cubic::x3 |
Definition at line 87 of file CL_SimpleChannel.h.