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

This class represents a "lift curve", generated from taking a surface and a 2D curve and then evaluation the surface at the parameter values obtained by evaluating the 2D curve. More...

#include <LiftCurve.h>

Inheritance diagram for Go::LiftCurve:

Go::EvalCurve List of all members.

Public Member Functions

 LiftCurve (boost::shared_ptr< Go::SplineCurve > &parameter_crv, boost::shared_ptr< Go::SplineSurface > &surf, double epsgeo)
 Constructor, taking a 2D parameter curve and a surface.
virtual ~LiftCurve ()
 virtual destructor enables safe inheritance
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
 Dimension of the lifted curve (i.e. 3).
virtual bool approximationOK (double par, Point approxpos, double tol1, double tol2) const
 Inherited from EvalCurve::approximationOK().

Detailed Description

This class represents a "lift curve", generated from taking a surface and a 2D curve and then evaluation the surface at the parameter values obtained by evaluating the 2D curve.

Definition at line 55 of file LiftCurve.h.


Constructor & Destructor Documentation

Go::LiftCurve::LiftCurve ( boost::shared_ptr< Go::SplineCurve > &  parameter_crv,
boost::shared_ptr< Go::SplineSurface > &  surf,
double  epsgeo 
)

Constructor, taking a 2D parameter curve and a surface.

Parameters:
parameter_crv the 2D parameter curve that will be 'lifted'
surf the surface on which the resulting, 'lifted' curve will lie
epsgeo geometrical tolerance used when running the 'approximationOK' function.


Member Function Documentation

virtual Point Go::LiftCurve::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::LiftCurve::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::LiftCurve::start (  )  const [virtual]

Get the start parameter of the curve.

Returns:
the start parameter of the curve.

Implements Go::EvalCurve.

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

Get the end parameter of the curve.

Returns:
the end parameter of the curve.

Implements Go::EvalCurve.

virtual bool Go::LiftCurve::approximationOK ( double  par,
Point  approxpos,
double  tol1,
double  tol2 
) const [virtual]

Inherited from EvalCurve::approximationOK().

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 unused
tol2 unused
Returns:
'true' if the curve approximates the point at the parameter (within the tolerance given in the constructor, 'epsgeo'). 'false' otherwise.

Implements Go::EvalCurve.


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