Sleeping Wombat Common Library  0.50.0
swCommonLibrary
Public Member Functions | List of all members
IInterpolator< KeyType > Class Template Referenceabstract

Base class for interpolators. More...

#include <IInterpolator.h>

Inheritance diagram for IInterpolator< KeyType >:
CosinusInterpolator< KeyType > DiscreteInterpolator< KeyType > DummyInterpolator< KeyType > LinearInterpolator< KeyType >

Public Member Functions

virtual KeyType Interpolate (TimeType time, Key< KeyType > &left, Key< KeyType > &right)=0
 Main function invoked by evaluator.
 
virtual void Update (const Key< KeyType > &leftKey, const Key< KeyType > &rightKey, UPtr< const IInterpolator< KeyType > > &leftInterpolator, UPtr< const IInterpolator< KeyType > > &rightInterpolator)=0
 Function updates interpolator, when left or right key value changes. More...
 
virtual KeyType LeftTangent (const Key< KeyType > &left, const Key< KeyType > &right) const =0
 Returns curve tangent. Function can be used by surrounding interpolators to smooth curve.
 
virtual KeyType RightTangent (const Key< KeyType > &left, const Key< KeyType > &right) const =0
 Returns curve tangent. Function can be used by surrounding interpolators to smooth curve.
 

Detailed Description

template<typename KeyType>
class IInterpolator< KeyType >

Base class for interpolators.

Member Function Documentation

template<typename KeyType >
virtual void IInterpolator< KeyType >::Update ( const Key< KeyType > &  leftKey,
const Key< KeyType > &  rightKey,
UPtr< const IInterpolator< KeyType > > &  leftInterpolator,
UPtr< const IInterpolator< KeyType > > &  rightInterpolator 
)
pure virtual

Function updates interpolator, when left or right key value changes.

Note
Left or right interpolator can be nullptr, but keys always exist.

Implemented in DummyInterpolator< KeyType >, LinearInterpolator< KeyType >, CosinusInterpolator< KeyType >, and DiscreteInterpolator< KeyType >.


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