OCC Main Page | ModelingAlgorithms | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingAlgorithms
TKGeomAlgo
Geom2dAPI


Geom2dAPI_InterCurveCurve Class Reference

This class implements methods for computing
- the intersections between two 2D curves,
- the self-intersections of a 2D curve.
Using the InterCurveCurve algorithm allows to get the following results:
- intersection points in the case of cross intersections,
- intersection segments in the case of tangential intersections,
- nothing in the case of no intersections.
.

#include <Geom2dAPI_InterCurveCurve.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT Geom2dAPI_InterCurveCurve ()
 Create an empty intersector. Use the
function Init for further initialization of the intersection
algorithm by curves or curve.
.
Standard_EXPORT Geom2dAPI_InterCurveCurve (const Handle(Geom2d_Curve)&C1, const Handle(Geom2d_Curve)&C2, const Standard_Real Tol=1.0e-6)
 Creates an object and computes the
intersections between the curves C1 and C2.
.
Standard_EXPORT Geom2dAPI_InterCurveCurve (const Handle(Geom2d_Curve)&C1, const Standard_Real Tol=1.0e-6)
 Creates an object and computes self-intersections of the curve C1.
Tolerance value Tol, defaulted to 1.0e-6, defines the precision of
computing the intersection points.
In case of a tangential intersection, Tol also defines the
size of intersection segments (limited portions of the curves)
where the distance between all points from two curves (or a curve
in case of self-intersection) is less than Tol.
Warning
Use functions NbPoints and NbSegments to obtain the number of
solutions. If the algorithm finds no intersections NbPoints and
NbSegments return 0.
.
Standard_EXPORT void Init (const Handle(Geom2d_Curve)&C1, const Handle(Geom2d_Curve)&C2, const Standard_Real Tol=1.0e-6)
 Initializes an algorithm with the
given arguments and computes the intersections between the curves C1. and C2.
.
Standard_EXPORT void Init (const Handle(Geom2d_Curve)&C1, const Standard_Real Tol=1.0e-6)
 Initializes an algorithm with the
given arguments and computes the self-intersections of the curve C1.
Tolerance value Tol, defaulted to 1.0e-6, defines the precision of
computing the intersection points. In case of a tangential
intersection, Tol also defines the size of intersection segments
(limited portions of the curves) where the distance between all
points from two curves (or a curve in case of self-intersection) is less than Tol.
Warning
Use functions NbPoints and NbSegments to obtain the number
of solutions. If the algorithm finds no intersections NbPoints
and NbSegments return 0.
.
Standard_EXPORT Standard_Integer NbPoints () const
 Returns the number of intersection-points in case of cross intersections.
NbPoints returns 0 if no intersections were found.
.
Standard_EXPORT gp_Pnt2d Point (const Standard_Integer Index) const
 Returns the intersection point of index Index.
Intersection points are computed in case of cross intersections with a
precision equal to the tolerance value assigned at the time of
construction or in the function Init (this value is defaulted to 1.0e-6).
Exceptions
Standard_OutOfRange if index is not in the range [ 1,NbPoints ], where
NbPoints is the number of computed intersection points
.
Standard_EXPORT Standard_Integer NbSegments () const
 Returns the number of tangential intersections.
NbSegments returns 0 if no intersections were found
.
Standard_EXPORT void Segment (const Standard_Integer Index, Handle(Geom2d_Curve)&Curve1, Handle(Geom2d_Curve)&Curve2) const
 Use this syntax only to get
solutions of tangential intersection between two curves.
Output values Curve1 and Curve2 are the intersection segments on the
first curve and on the second curve accordingly. Parameter Index
defines a number of computed solution.
An intersection segment is a portion of an initial curve limited
by two points. The distance from each point of this segment to the
other curve is less or equal to the tolerance value assigned at the
time of construction or in function Init (this value is defaulted to 1.0e-6).
Exceptions
Standard_OutOfRange if Index is not in the range [ 1,NbSegments ],
where NbSegments is the number of computed tangential intersections.
Standard_NullObject if the algorithm is initialized for the
computing of self-intersections on a curve.
.
Standard_EXPORT void Segment (const Standard_Integer Index, Handle(Geom2d_Curve)&Curve1) const
 Use this syntax to get solutions of
tangential intersections only in case of a self-intersected curve.
Output value Curve1 is the intersection segment of the curve
defined by number Index. An intersection segment is a
portion of the initial curve limited by two points. The distance
between each point of this segment to another portion of the curve is
less or equal to the tolerance value assigned at the time of
construction or in the function Init (this value is defaulted to 1.0e-6).
Exceptions
Standard_OutOfRange if Index is not in the range [ 1,NbSegments ],
where NbSegments is the number of computed tangential intersections.
.
const Geom2dInt_GInterIntersector () const
 return the algorithmic object from Intersection.


Private Attributes

Standard_Boolean myIsDone
Handle_Geom2d_Curve myCurve1
Handle_Geom2d_Curve myCurve2
Geom2dInt_GInter myIntersector


Constructor & Destructor Documentation

Standard_EXPORT Geom2dAPI_InterCurveCurve::Geom2dAPI_InterCurveCurve  ) 
 

Standard_EXPORT Geom2dAPI_InterCurveCurve::Geom2dAPI_InterCurveCurve const Handle(Geom2d_Curve)&  C1,
const Handle(Geom2d_Curve)&  C2,
const Standard_Real  Tol = 1.0e-6
 

Standard_EXPORT Geom2dAPI_InterCurveCurve::Geom2dAPI_InterCurveCurve const Handle(Geom2d_Curve)&  C1,
const Standard_Real  Tol = 1.0e-6
 


Member Function Documentation

Standard_EXPORT void Geom2dAPI_InterCurveCurve::Init const Handle(Geom2d_Curve)&  C1,
const Standard_Real  Tol = 1.0e-6
 

Standard_EXPORT void Geom2dAPI_InterCurveCurve::Init const Handle(Geom2d_Curve)&  C1,
const Handle(Geom2d_Curve)&  C2,
const Standard_Real  Tol = 1.0e-6
 

const Geom2dInt_GInter & Geom2dAPI_InterCurveCurve::Intersector  )  const [inline]
 

Standard_EXPORT Standard_Integer Geom2dAPI_InterCurveCurve::NbPoints  )  const
 

Standard_EXPORT Standard_Integer Geom2dAPI_InterCurveCurve::NbSegments  )  const
 

void Geom2dAPI_InterCurveCurve::operator delete void *  anAddress  )  [inline]
 

void* Geom2dAPI_InterCurveCurve::operator new size_t  size  )  [inline]
 

void* Geom2dAPI_InterCurveCurve::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT gp_Pnt2d Geom2dAPI_InterCurveCurve::Point const Standard_Integer  Index  )  const
 

Standard_EXPORT void Geom2dAPI_InterCurveCurve::Segment const Standard_Integer  Index,
Handle(Geom2d_Curve)&  Curve1
const
 

Standard_EXPORT void Geom2dAPI_InterCurveCurve::Segment const Standard_Integer  Index,
Handle(Geom2d_Curve)&  Curve1,
Handle(Geom2d_Curve)&  Curve2
const
 


Field Documentation

Handle_Geom2d_Curve Geom2dAPI_InterCurveCurve::myCurve1 [private]
 

Handle_Geom2d_Curve Geom2dAPI_InterCurveCurve::myCurve2 [private]
 

Geom2dInt_GInter Geom2dAPI_InterCurveCurve::myIntersector [private]
 

Standard_Boolean Geom2dAPI_InterCurveCurve::myIsDone [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Aug 25 13:41:46 2008 for OpenCASCADE by  doxygen 1.4.1