Sleeping Wombat GUI  0.100
swGUI
Public Member Functions | Protected Member Functions | List of all members
LinearInterpolator< KeyType > Class Template Reference

Linear interpolator. More...

#include <LinearInterpolator.h>

Inheritance diagram for LinearInterpolator< KeyType >:
IInterpolator< KeyType >

Public Member Functions

 LinearInterpolator ()=default
 Constructor for serialization. More...
 
 LinearInterpolator (const Key< KeyType > &leftKey, const Key< KeyType > &rightKey, UPtr< const IInterpolator< KeyType > > &leftInterpolator, UPtr< const IInterpolator< KeyType > > &rightInterpolator)
 Constructor for default interpolator creation function. More...
 
 ~LinearInterpolator ()=default
 
virtual KeyType Interpolate (TimeType time, Key< KeyType > &left, Key< KeyType > &right) override
 Main function invoked by evaluator. More...
 
virtual void Update (const Key< KeyType > &leftKey, const Key< KeyType > &rightKey, UPtr< const IInterpolator< KeyType > > &leftInterpolator, UPtr< const IInterpolator< KeyType > > &rightInterpolator) override
 Function updates interpolator, when left or right key value changes. More...
 
virtual KeyType LeftTangent (const Key< KeyType > &left, const Key< KeyType > &right) const override
 Returns curve tangent. Function can be used by surrounding interpolators to smooth curve. More...
 
virtual KeyType RightTangent (const Key< KeyType > &left, const Key< KeyType > &right) const override
 Returns curve tangent. Function can be used by surrounding interpolators to smooth curve. More...
 
- Public Member Functions inherited from IInterpolator< KeyType >
 IInterpolator ()=default
 
virtual ~IInterpolator ()=default
 

Protected Member Functions

KeyType Tangent (const Key< KeyType > &left, const Key< KeyType > &right) const
 

Detailed Description

template<typename KeyType>
class LinearInterpolator< KeyType >

Linear interpolator.

Constructor & Destructor Documentation

template<typename KeyType >
LinearInterpolator< KeyType >::LinearInterpolator ( )
explicitdefault

Constructor for serialization.

template<typename KeyType >
LinearInterpolator< KeyType >::LinearInterpolator ( const Key< KeyType > &  leftKey,
const Key< KeyType > &  rightKey,
UPtr< const IInterpolator< KeyType > > &  leftInterpolator,
UPtr< const IInterpolator< KeyType > > &  rightInterpolator 
)
explicit

Constructor for default interpolator creation function.

template<typename KeyType >
LinearInterpolator< KeyType >::~LinearInterpolator ( )
default

Member Function Documentation

template<typename KeyType >
KeyType LinearInterpolator< KeyType >::Interpolate ( TimeType  time,
Key< KeyType > &  left,
Key< KeyType > &  right 
)
inlineoverridevirtual

Main function invoked by evaluator.

Implements IInterpolator< KeyType >.

template<typename KeyType >
KeyType LinearInterpolator< KeyType >::LeftTangent ( const Key< KeyType > &  left,
const Key< KeyType > &  right 
) const
inlineoverridevirtual

Returns curve tangent. Function can be used by surrounding interpolators to smooth curve.

Implements IInterpolator< KeyType >.

template<typename KeyType >
KeyType LinearInterpolator< KeyType >::RightTangent ( const Key< KeyType > &  left,
const Key< KeyType > &  right 
) const
inlineoverridevirtual

Returns curve tangent. Function can be used by surrounding interpolators to smooth curve.

Implements IInterpolator< KeyType >.

template<typename KeyType >
KeyType LinearInterpolator< KeyType >::Tangent ( const Key< KeyType > &  left,
const Key< KeyType > &  right 
) const
inlineprotected
template<typename KeyType >
void LinearInterpolator< KeyType >::Update ( const Key< KeyType > &  leftKey,
const Key< KeyType > &  rightKey,
UPtr< const IInterpolator< KeyType > > &  leftInterpolator,
UPtr< const IInterpolator< KeyType > > &  rightInterpolator 
)
inlineoverridevirtual

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

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

Implements IInterpolator< KeyType >.


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