Go::IsoparametricIntersectionCurve Class Reference
[Intersections]

IntersectionCurve defined by an isoparametric curve that can be picked from the underlying object. More...

#include <IntersectionCurve.h>

Inheritance diagram for Go::IsoparametricIntersectionCurve:

Go::IntersectionCurve List of all members.

Public Member Functions

virtual ~IsoparametricIntersectionCurve ()
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 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).
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 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.

Protected Member Functions

template<class iterator>
 IsoparametricIntersectionCurve (const iterator begin, const iterator end, int isopar)

Static Protected Member Functions

template<class iterator>
static std::vector< int > resolve_isoparametric_directions (const iterator begin, const iterator end)

Protected Attributes

boost::shared_ptr< ParamCurve > isopar_geom_curve_
boost::shared_ptr< ParamCurve > isopar_param_curve_1_
boost::shared_ptr< ParamCurve > isopar_param_curve_2_
std::vector< Go::Point > temp_

Friends

template<class iterator>
boost::shared_ptr< IntersectionCurveconstructIntersectionCurve (const iterator begin, const iterator end)

Detailed Description

IntersectionCurve defined by an isoparametric curve that can be picked from the underlying object.

Definition at line 322 of file IntersectionCurve.h.


Member Function Documentation

virtual boost::shared_ptr<ParamCurve> Go::IsoparametricIntersectionCurve::getParamCurve ( int  obj_nmb  )  const [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.

Parameters:
obj_nmb should be either 1 or 2, depending on whether you want to get the parametric curve in object 1 or object 2.
Returns:
a shared pointer to a curve that approximates the intersection curve in the parametric domain of the specified object.

Implements Go::IntersectionCurve.

virtual bool Go::IsoparametricIntersectionCurve::isIsocurve (  )  const [inline, virtual]

Determine if the IntersectionCurve is in fact representing an isoparametric intersection.

Returns:
'true' if the IntersectionCurve is part of an isocurve for one of the objects, 'false' otherwise.

Implements Go::IntersectionCurve.

Definition at line 332 of file IntersectionCurve.h.

virtual bool Go::IsoparametricIntersectionCurve::isDegenerated (  )  const [inline, virtual]

Determine if the IntersectionCurve is in fact a degenerated curve (a single point in space).

Returns:
'true' if the IntersectionCurve is degenerated. 'false' otherwise.

Implements Go::IntersectionCurve.

Definition at line 335 of file IntersectionCurve.h.

virtual void Go::IsoparametricIntersectionCurve::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.

Parameters:
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 338 of file IntersectionCurve.h.

virtual void Go::IsoparametricIntersectionCurve::getParamSpan ( double &  start,
double &  end 
) const [inline, virtual]

Get the start and end value for the parametric span of the IntersectionCurve.

Return values:
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 343 of file IntersectionCurve.h.

References isopar_geom_curve_.

virtual void Go::IsoparametricIntersectionCurve::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.

Parameters:
pval the parameter value for which to evaluate the IntersectionCurve. It should be within the parametric span (which can be obtained from GetParamSpan().
Return values:
pos the calculated position of the point on the curve at parameter pval.
Parameters:
tan the calculated tangent of the curve at parameter pval.

Implements Go::IntersectionCurve.

Definition at line 349 of file IntersectionCurve.h.

References isopar_geom_curve_, and temp_.


The documentation for this class was generated from the following file:
Generated on Fri Nov 23 12:24:34 2007 for GoTools Intersections Library by  doxygen 1.5.1