#include <IntersectionCurve.h>
Inheritance diagram for Go::NonEvaluableIntersectionCurve:
Public Member Functions | |
virtual boost::shared_ptr< ParamCurve > | getCurve () const |
Get out a (shared) pointer to a parametric curve that approximates this IntersectionCurve. | |
virtual boost::shared_ptr< ParamCurve > | getParamCurve (int obj_nmb) const |
Get out a (shared) pointer to the curve in the parametric plane of the first or second object. | |
virtual void | getParamSpan (double &start, double &end) const |
Get the start and end value for the parametric span of the IntersectionCurve. | |
virtual void | evaluateAt (double pval, Point &pos, Point &tan) |
Evaluate the IntersectionCurve at parameter value pval. | |
virtual void | refine (const double &pos_tol, const double &angle_tol) |
Refine the curve (which means to increase the number of IntersectionPoint s defining it), so that the curve matches a specific positional and angle tolerance. | |
virtual bool | isIsocurve () const |
Determine if the IntersectionCurve is in fact representing an isoparametric intersection. | |
virtual bool | isDegenerated () const |
Determine if the IntersectionCurve is in fact a degenerated curve (a single point in space). | |
Friends | |
template<class iterator> | |
boost::shared_ptr< IntersectionCurve > | constructIntersectionCurve (const iterator begin, const iterator end) |
Definition at line 271 of file IntersectionCurve.h.
virtual boost::shared_ptr<ParamCurve> Go::NonEvaluableIntersectionCurve::getParamCurve | ( | int | obj_nmb | ) | const [inline, virtual] |
Get out a (shared) pointer to the curve in the parametric plane of the first or second object.
Should only be called when the concerned object is 2-parametric.
obj_nmb | should be either 1 or 2, depending on whether you want to get the parametric curve in object 1 or object 2. |
Implements Go::IntersectionCurve.
Definition at line 280 of file IntersectionCurve.h.
virtual void Go::NonEvaluableIntersectionCurve::getParamSpan | ( | double & | start, | |
double & | end | |||
) | const [inline, virtual] |
Get the start and end value for the parametric span of the IntersectionCurve.
start | upon function return this variable will contain the start value of the parametric span. | |
end | upon function return this variable will contain the end value of the parametric span. |
Implements Go::IntersectionCurve.
Definition at line 283 of file IntersectionCurve.h.
virtual void Go::NonEvaluableIntersectionCurve::evaluateAt | ( | double | pval, | |
Point & | pos, | |||
Point & | tan | |||
) | [inline, virtual] |
Evaluate the IntersectionCurve at parameter value pval.
Its position at this parameter value will be returned in pos and its tangent direction will be returned in tan.
pval | the parameter value for which to evaluate the IntersectionCurve. It should be within the parametric span (which can be obtained from GetParamSpan(). |
pos | the calculated position of the point on the curve at parameter pval. |
tan | the calculated tangent of the curve at parameter pval. |
Implements Go::IntersectionCurve.
Definition at line 286 of file IntersectionCurve.h.
virtual void Go::NonEvaluableIntersectionCurve::refine | ( | const double & | pos_tol, | |
const double & | angle_tol | |||
) | [inline, virtual] |
Refine the curve (which means to increase the number of IntersectionPoint s defining it), so that the curve matches a specific positional and angle tolerance.
pos_tol | the positional tolerance that the curve should match after refinement. | |
angle_tol | the angular tolerance that the tangent of the curve should match after refinement. |
Implements Go::IntersectionCurve.
Definition at line 292 of file IntersectionCurve.h.
virtual bool Go::NonEvaluableIntersectionCurve::isIsocurve | ( | ) | const [inline, virtual] |
Determine if the IntersectionCurve is in fact representing an isoparametric intersection.
Implements Go::IntersectionCurve.
Definition at line 298 of file IntersectionCurve.h.
virtual bool Go::NonEvaluableIntersectionCurve::isDegenerated | ( | ) | const [inline, virtual] |
Determine if the IntersectionCurve is in fact a degenerated curve (a single point in space).
Implements Go::IntersectionCurve.
Definition at line 301 of file IntersectionCurve.h.