Visualization Library v1.0.3A lightweight C++ OpenGL middleware for 2D/3D graphics |
[Download] [Tutorials] [All Classes] [Grouped Classes] |
The LinearInterpolator class is a template class that implements linear interpolation. More...
#include <LinearInterpolator.hpp>
Public Member Functions | |
LinearInterpolator () | |
LinearInterpolator (const std::vector< T > &path) | |
T | computePoint (float t) const |
Samples the path at the given point. The t parameter must be in the range 0.0 ... 1.0 included. | |
void | setPath (const std::vector< T > &path) |
The control points defining the Catmull-Rom spline. | |
const std::vector< T > & | path () const |
The control points defining the Catmull-Rom spline. | |
std::vector< T > & | path () |
The control points defining the Catmull-Rom spline. | |
Protected Attributes | |
std::vector< T > | mPath |
std::vector< T > | mLinearSpline |
The LinearInterpolator class is a template class that implements linear interpolation.
Definition at line 44 of file LinearInterpolator.hpp.
vl::LinearInterpolator< T >::LinearInterpolator | ( | ) | [inline] |
Definition at line 49 of file LinearInterpolator.hpp.
References VL_DEBUG_SET_OBJECT_NAME.
vl::LinearInterpolator< T >::LinearInterpolator | ( | const std::vector< T > & | path ) | [inline] |
Definition at line 54 of file LinearInterpolator.hpp.
T vl::LinearInterpolator< T >::computePoint | ( | float | t ) | const [inline] |
Samples the path at the given point. The t
parameter must be in the range 0.0 ... 1.0 included.
Definition at line 57 of file LinearInterpolator.hpp.
References vl::clamp(), and vl::LinearInterpolator< T >::mPath.
Referenced by vl::LinearInterpolatorDouble::computePoint(), vl::LinearInterpolatorDVec2::computePoint(), vl::LinearInterpolatorDVec3::computePoint(), vl::LinearInterpolatorDVec4::computePoint(), vl::LinearInterpolatorFloat::computePoint(), vl::LinearInterpolatorFVec2::computePoint(), vl::LinearInterpolatorFVec3::computePoint(), and vl::LinearInterpolatorFVec4::computePoint().
void vl::LinearInterpolator< T >::setPath | ( | const std::vector< T > & | path ) | [inline] |
The control points defining the Catmull-Rom spline.
Because of the Catmull-Rom formula the interpolated path must start and end with an extra control point (one on each side) and cannot have less than 4 control points.
Definition at line 75 of file LinearInterpolator.hpp.
References vl::LinearInterpolator< T >::mPath, and vl::LinearInterpolator< T >::path().
const std::vector<T>& vl::LinearInterpolator< T >::path | ( | ) | const [inline] |
The control points defining the Catmull-Rom spline.
Definition at line 77 of file LinearInterpolator.hpp.
References vl::LinearInterpolator< T >::mPath.
Referenced by vl::LinearInterpolator< T >::setPath().
std::vector<T>& vl::LinearInterpolator< T >::path | ( | ) | [inline] |
The control points defining the Catmull-Rom spline.
Definition at line 79 of file LinearInterpolator.hpp.
References vl::LinearInterpolator< T >::mPath.
std::vector<T> vl::LinearInterpolator< T >::mPath [protected] |
Definition at line 82 of file LinearInterpolator.hpp.
Referenced by vl::LinearInterpolator< T >::computePoint(), vl::LinearInterpolator< T >::path(), and vl::LinearInterpolator< T >::setPath().
std::vector<T> vl::LinearInterpolator< T >::mLinearSpline [protected] |
Definition at line 83 of file LinearInterpolator.hpp.