Go::EvalCurve Class Reference
['geometry' - a spline library]

This is the abstract base class of a curve type that can be evaluated. More...

#include <EvalCurve.h>

Inheritance diagram for Go::EvalCurve:

Go::CrossTangentOffset Go::CrossTanOffDist Go::LiftCurve Go::ProjectCurve Go::ProjectIntersectionCurve List of all members.

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.

Detailed Description

This is the abstract base class of a curve type that can be evaluated.

Representing the exact geometry, typically used when iteratively approximating the curve.

Definition at line 50 of file EvalCurve.h.


Member Function Documentation

virtual Point Go::EvalCurve::eval ( double  t  )  const [pure virtual]

Evaluate a point on the curve for a given parameter.

Parameters:
t the parameter for which to evaluate the curve.
Returns:
the evaluated point

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.

Parameters:
t the parameter for which to evaluate the curve.
n the number of derivatives (0 or more)
Return values:
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.

Returns:
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.

Returns:
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.

Returns:
the space dimension of the curve.

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.

Parameters:
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.
Returns:
'true' if the curve approximates the point at the parameter, 'false' otherwise.

Implemented in Go::CrossTangentOffset, Go::CrossTanOffDist, Go::LiftCurve, Go::ProjectCurve, and Go::ProjectIntersectionCurve.


The documentation for this class was generated from the following file:
Generated on Mon Jun 11 14:48:18 2007 for GoTools Core Library by  doxygen 1.5.1