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

This class defines an evaluator-based offset-curve. More...

#include <CrossTanOffDist.h>

Inheritance diagram for Go::CrossTanOffDist:

Go::EvalCurve List of all members.

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.

Detailed Description

This class defines an evaluator-based offset-curve.

We're blending between a set of curves seen as an evaluator based curve.

Definition at line 51 of file CrossTanOffDist.h.


Constructor & Destructor Documentation

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.

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


Member Function Documentation

virtual Point Go::CrossTanOffDist::eval ( double  t  )  const [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

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.

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.

Implements Go::EvalCurve.

virtual double Go::CrossTanOffDist::start (  )  const [virtual]

Get the start parameter of the curve.

Returns:
the start parameter of the curve.

Implements Go::EvalCurve.

virtual double Go::CrossTanOffDist::end (  )  const [virtual]

Get the end parameter of the curve.

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

Returns:
the space dimension of the curve.

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.

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.

Implements Go::EvalCurve.


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