#include <EvalCurve.h>
Inheritance diagram for Go::EvalCurve:
Public Member Functions | |
virtual | ~EvalCurve () |
virtual destructor ensures save inheritance | |
virtual Point | eval (double t) const=0 |
Evaluate a point on the curve for a given parameter. | |
virtual void | eval (double t, int n, Point der[]) const=0 |
Evaluate a point and a certain number of derivatives on the curve for a given parameter. | |
virtual double | start () const=0 |
Get the start parameter of the curve. | |
virtual double | end () const=0 |
Get the end parameter of the curve. | |
virtual int | dim () const=0 |
Get the dimension of the space in which the curve lies. | |
virtual bool | approximationOK (double par, Point approxpos, double tol1, double tol2) const=0 |
Check if the curve, evaluated at a given parameter, approximates a given position within a given tolerance. |
Representing the exact geometry, typically used when iteratively approximating the curve.
Definition at line 50 of file EvalCurve.h.
virtual Point Go::EvalCurve::eval | ( | double | t | ) | const [pure virtual] |
Evaluate a point on the curve for a given parameter.
t | the parameter for which to evaluate the curve. |
Implemented in Go::CrossTangentOffset, Go::CrossTanOffDist, Go::LiftCurve, Go::ProjectCurve, and Go::ProjectIntersectionCurve.
virtual void Go::EvalCurve::eval | ( | double | t, | |
int | n, | |||
Point | der[] | |||
) | const [pure 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. |
Implemented in Go::CrossTangentOffset, Go::CrossTanOffDist, Go::LiftCurve, Go::ProjectCurve, and Go::ProjectIntersectionCurve.
virtual double Go::EvalCurve::start | ( | ) | const [pure virtual] |
Get the start parameter of the curve.
Implemented in Go::CrossTangentOffset, Go::CrossTanOffDist, Go::LiftCurve, Go::ProjectCurve, and Go::ProjectIntersectionCurve.
virtual double Go::EvalCurve::end | ( | ) | const [pure virtual] |
Get the end parameter of the curve.
Implemented in Go::CrossTangentOffset, Go::CrossTanOffDist, Go::LiftCurve, Go::ProjectCurve, and Go::ProjectIntersectionCurve.
virtual int Go::EvalCurve::dim | ( | ) | const [pure virtual] |
Get the dimension of the space in which the curve lies.
Implemented in Go::CrossTangentOffset, Go::CrossTanOffDist, Go::LiftCurve, Go::ProjectCurve, and Go::ProjectIntersectionCurve.
virtual bool Go::EvalCurve::approximationOK | ( | double | par, | |
Point | approxpos, | |||
double | tol1, | |||
double | tol2 | |||
) | const [pure 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. |
Implemented in Go::CrossTangentOffset, Go::CrossTanOffDist, Go::LiftCurve, Go::ProjectCurve, and Go::ProjectIntersectionCurve.