#include <SmoothTransition.h>
Inheritance diagram for Go::SmoothTransition:
Public Member Functions | |
SmoothTransition (boost::shared_ptr< const SplineCurve > &inters_crv, boost::shared_ptr< const SplineCurve > &p_crv1, boost::shared_ptr< const SplineCurve > &p_crv2, boost::shared_ptr< const ParamSurface > surf1, boost::shared_ptr< const ParamSurface > surf2, double offset_dist1, double offset_dist2, double epsgeo) | |
Constructor. By not using CurveOnSurface, object is more general. | |
virtual | ~SmoothTransition () |
Empty destructor. | |
virtual std::vector< Point > | eval (double t) |
Evaluate the curves. | |
virtual void | eval (double t, int n, std::vector< std::vector< Point > > &der) |
Evaluate the curve derivatives. | |
virtual double | start () |
Start parameter of domain. | |
virtual double | end () |
End parameter of domain. | |
virtual int | dim () |
The geometric dimension of the spline curves. | |
virtual bool | approximationOK (double par, const std::vector< Point > &approxpos, double tol1, double tol2) |
Whether the approximation is within tolerances in input parameter. | |
virtual int | nmbCvs () |
The number of curves in the curve set. |
Given input of curve lying on two surfaces, we create a smooth transition surface by offsetting both surfaces, approximating intersecting curve, continue with projection of intersection curve on the two surfaces. Resulting projected curves and cross tangent curves may then be lofted. We're thus computing four points in eval().
Definition at line 57 of file SmoothTransition.h.
virtual std::vector<Point> Go::SmoothTransition::eval | ( | double | t | ) | [virtual] |
Evaluate the curves.
t | parameter in which to evaluate. |
Implements Go::EvalCurveSet.
virtual void Go::SmoothTransition::eval | ( | double | t, | |
int | n, | |||
std::vector< std::vector< Point > > & | der | |||
) | [virtual] |
Evaluate the curve derivatives.
t | parameter in which to evaluate. | |
n | number of derivatives to compute. | |
der | the evaluated points up to the n'th derivative for the curve set. |
Implements Go::EvalCurveSet.
virtual double Go::SmoothTransition::start | ( | ) | [virtual] |
Start parameter of domain.
Implements Go::EvalCurveSet.
virtual double Go::SmoothTransition::end | ( | ) | [virtual] |
virtual int Go::SmoothTransition::dim | ( | ) | [virtual] |
The geometric dimension of the spline curves.
Implements Go::EvalCurveSet.
virtual bool Go::SmoothTransition::approximationOK | ( | double | par, | |
const std::vector< Point > & | approxpos, | |||
double | tol1, | |||
double | tol2 | |||
) | [virtual] |
Whether the approximation is within tolerances in input parameter.
par | parameter in which to evaluate. | |
approxpos | whether the input points are within tolerance from the evaluated points (as given by eval()). | |
tol1 | tolerance used to decide approximation accuracy. | |
tol2 | tolerance used to decide approximation accuracy. |
Implements Go::EvalCurveSet.
virtual int Go::SmoothTransition::nmbCvs | ( | ) | [inline, virtual] |
The number of curves in the curve set.
Implements Go::EvalCurveSet.
Definition at line 82 of file SmoothTransition.h.