HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CL_Cubic Class Reference

#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
 

Detailed Description

Definition at line 83 of file CL_SimpleChannel.h.

Constructor & Destructor Documentation

CL_Cubic::CL_Cubic ( )
inline

Definition at line 89 of file CL_SimpleChannel.h.

CL_Cubic::CL_Cubic ( const CL_SegmentValues sv)
CL_Cubic::CL_Cubic ( fpreal  iv,
fpreal  ov,
fpreal  im,
fpreal  om,
fpreal  it,
fpreal  ot 
)

Member Function Documentation

fpreal CL_Cubic::calculateAccelP ( fpreal  u) const
fpreal CL_Cubic::calculateSlopeP ( fpreal  u) const
static void CL_Cubic::clampSlopesToMonotone ( fpreal in,
fpreal out,
fpreal  in_val,
fpreal  out_val,
fpreal  dt 
)
static
void CL_Cubic::display ( ) const
fpreal CL_Cubic::eval ( fpreal  t) const
fpreal CL_Cubic::evalP ( fpreal  u) const
inline

Definition at line 102 of file CL_SimpleChannel.h.

bool CL_Cubic::getMonotoneInterval ( UT_IntervalR range,
bool  lock_in 
)
static fpreal CL_Cubic::getMonotoneSlopeSDDE ( fpreal  v0,
fpreal  v1,
fpreal  v2,
fpreal  t0,
fpreal  t1,
fpreal  t2,
fpreal  m0,
fpreal  m2 
)
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::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 
)
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 bool CL_Cubic::isMonotone ( fpreal  iv,
fpreal  ov,
fpreal  im,
fpreal  om,
fpreal  dt 
)
static
static fpreal CL_Cubic::reverseEvalP ( const fpreal  x[4],
fpreal  y 
)
static
static fpreal CL_Cubic::reverseEvalP ( const CL_SimpleSegment seg,
fpreal  y 
)
static
fpreal CL_Cubic::reverseEvalP ( fpreal  y) const
fpreal CL_Cubic::timeToParametric ( fpreal  t) const

Member Data Documentation

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.


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