#include <CrossTanOffDist.h>
Inheritance diagram for Go::CrossTanOffDist:
Public Member Functions | |
CrossTanOffDist (boost::shared_ptr< SplineCurve > &poscurve, boost::shared_ptr< SplineCurve > &tangcv1, boost::shared_ptr< SplineCurve > &tangcv2, boost::shared_ptr< SplineCurve > &blend1, boost::shared_ptr< SplineCurve > &blend2, boost::shared_ptr< SplineCurve > &opposite1, boost::shared_ptr< SplineCurve > &opposite2, double factor) | |
Constructor. | |
virtual | ~CrossTanOffDist () |
Destructor. | |
virtual Point | eval (double t) const |
Evaluate a point on the curve for a given parameter. | |
virtual void | eval (double t, int n, Point der[]) const |
Evaluate a point and a certain number of derivatives on the curve for a given parameter. | |
virtual double | start () const |
Get the start parameter of the curve. | |
virtual double | end () const |
Get the end parameter of the curve. | |
virtual int | dim () const |
Get the dimension of the space in which the curve lies. | |
virtual bool | approximationOK (double par, Point approxpos, double tol1, double tol2) const |
Check if the curve, evaluated at a given parameter, approximates a given position within a given tolerance. |
We're blending between a set of curves seen as an evaluator based curve.
Definition at line 51 of file CrossTanOffDist.h.
Go::CrossTanOffDist::CrossTanOffDist | ( | boost::shared_ptr< SplineCurve > & | poscurve, | |
boost::shared_ptr< SplineCurve > & | tangcv1, | |||
boost::shared_ptr< SplineCurve > & | tangcv2, | |||
boost::shared_ptr< SplineCurve > & | blend1, | |||
boost::shared_ptr< SplineCurve > & | blend2, | |||
boost::shared_ptr< SplineCurve > & | opposite1, | |||
boost::shared_ptr< SplineCurve > & | opposite2, | |||
double | factor | |||
) |
Constructor.
poscurve | the curve to offset from. | |
tangcv1 | tangent curve along poscurve. | |
tangcv2 | cross tangent curve along poscurve. | |
blend1 | 1-dimensional blending function for tangcv1. | |
blend2 | 1-dimensional blending function for tangcv2. | |
opposite1 | space curve corresponding to poscurve, parametrized in the opposite direction. | |
opposite2 | space curve corresponding to poscurve, parametrized in the opposite direction. May be equal to opposite1. | |
factor | if != 1.0 the poscurve, opposite1 & opposite2 will be used to define the opposite curve, so as to minimize differences in parametrization along the cv. |
virtual Point Go::CrossTanOffDist::eval | ( | double | t | ) | const [virtual] |
Evaluate a point on the curve for a given parameter.
t | the parameter for which to evaluate the curve. |
Implements Go::EvalCurve.
virtual void Go::CrossTanOffDist::eval | ( | double | t, | |
int | n, | |||
Point | der[] | |||
) | const [virtual] |
Evaluate a point and a certain number of derivatives on the curve for a given parameter.
t | the parameter for which to evaluate the curve. | |
n | the number of derivatives (0 or more) |
der | pointer to an array of Points where the result will be written. The position will be stored first, then the first derivative (tangent), then the second, etc.. NB: For most (all) derived classes of 'EvalCurve', the implementation actually only supports the computation of one derivative, i.e. if n > 1, only one derivative will be computed anyway. |
Implements Go::EvalCurve.
virtual double Go::CrossTanOffDist::start | ( | ) | const [virtual] |
Get the start parameter of the curve.
Implements Go::EvalCurve.
virtual double Go::CrossTanOffDist::end | ( | ) | const [virtual] |
Get the end parameter of the curve.
Implements Go::EvalCurve.
virtual int Go::CrossTanOffDist::dim | ( | ) | const [virtual] |
Get the dimension of the space in which the curve lies.
Implements Go::EvalCurve.
virtual bool Go::CrossTanOffDist::approximationOK | ( | double | par, | |
Point | approxpos, | |||
double | tol1, | |||
double | tol2 | |||
) | const [virtual] |
Check if the curve, evaluated at a given parameter, approximates a given position within a given tolerance.
par | the parameter at which to check the curve | |
approxpos | the position we want to check whether or not the curve approximates for parameter 'par'. | |
tol1 | approximation tolerance, | |
tol2 | another approximation tolerance (its use is defined by some of the derived classes. |
Implements Go::EvalCurve.