Open CASCADE Technology
6.9.1
|
The class provides Edge/Edge intersection algorithm based on the intersection between edges bounding boxes. More...
#include <IntTools_EdgeEdge.hxx>
Public Member Functions | |
IntTools_EdgeEdge () | |
Empty contructor. More... | |
~IntTools_EdgeEdge () | |
IntTools_EdgeEdge (const TopoDS_Edge &theEdge1, const TopoDS_Edge &theEdge2) | |
Contructor. More... | |
IntTools_EdgeEdge (const TopoDS_Edge &theEdge1, const Standard_Real aT11, const Standard_Real aT12, const TopoDS_Edge &theEdge2, const Standard_Real aT21, const Standard_Real aT22) | |
Contructor. More... | |
void | SetEdge1 (const TopoDS_Edge &theEdge) |
Sets the first edge. More... | |
void | SetEdge1 (const TopoDS_Edge &theEdge, const Standard_Real aT1, const Standard_Real aT2) |
Sets the first edge and its range. More... | |
void | SetRange1 (const IntTools_Range &theRange1) |
Sets the range for the first edge. More... | |
void | SetRange1 (const Standard_Real aT1, const Standard_Real aT2) |
Sets the range for the first edge. More... | |
void | SetEdge2 (const TopoDS_Edge &theEdge) |
Sets the second edge. More... | |
void | SetEdge2 (const TopoDS_Edge &theEdge, const Standard_Real aT1, const Standard_Real aT2) |
Sets the first edge and its range. More... | |
void | SetRange2 (const IntTools_Range &theRange) |
Sets the range for the second edge. More... | |
void | SetRange2 (const Standard_Real aT1, const Standard_Real aT2) |
Sets the range for the second edge. More... | |
void | Perform () |
Performs the intersection between edges. More... | |
Standard_Boolean | IsDone () const |
Returns TRUE if common part(s) is(are) found. More... | |
const IntTools_SequenceOfCommonPrts & | CommonParts () const |
Returns common parts. More... | |
Protected Member Functions | |
void | CheckData () |
Checks the data. More... | |
void | Prepare () |
Prepares the data. More... | |
void | ComputeLineLine () |
Computes Line/Line intersection. More... | |
void | FindSolutions (IntTools_SequenceOfRanges &theRanges1, IntTools_SequenceOfRanges &theRanges2, Standard_Boolean &bSplit2) |
Intermediate function. More... | |
void | FindSolutions (const IntTools_Range &theR1, const IntTools_Range &theR2, const Bnd_Box &theBox2, IntTools_SequenceOfRanges &theRanges1, IntTools_SequenceOfRanges &theRanges2) |
Looking for the exact intersection ranges. More... | |
void | MergeSolutions (const IntTools_SequenceOfRanges &theRanges1, const IntTools_SequenceOfRanges &theRanges2, const Standard_Boolean bSplit2) |
Merges found solutions. More... | |
Standard_Integer | CheckCoincidence (const Standard_Real aT11, const Standard_Real aT12, const Standard_Real aT21, const Standard_Real aT22, const Standard_Real theCriteria, const Standard_Real theCurveRes1) |
Checks if edges coincide on the ranges. More... | |
void | AddSolution (const Standard_Real aT11, const Standard_Real aT12, const Standard_Real aT21, const Standard_Real aT22, const TopAbs_ShapeEnum theType) |
Adds common part of the given type to myCommonParts. More... | |
void | FindBestSolution (const Standard_Real aT11, const Standard_Real aT12, const Standard_Real aT21, const Standard_Real aT22, Standard_Real &aT1, Standard_Real &aT2) |
Looking for the minimal distance between edges on the ranges. More... | |
Standard_Boolean | IsIntersection (const Standard_Real aT11, const Standard_Real aT12, const Standard_Real aT21, const Standard_Real aT22) |
Checks is there an intersection between edges on the given ranges (for nearly conicident edges) More... | |
Static Protected Member Functions | |
static Standard_Boolean | FindParameters (const BRepAdaptor_Curve &theBAC, const Standard_Real aT1, const Standard_Real aT2, const Standard_Real theRes, const Standard_Real thePTol, const Standard_Real theResCoeff, const Bnd_Box &theCBox, Standard_Real &aTB1, Standard_Real &aTB2) |
Looking for the range of the edge whick is in the box. More... | |
The class provides Edge/Edge intersection algorithm based on the intersection between edges bounding boxes.
IntTools_EdgeEdge::IntTools_EdgeEdge | ( | ) |
Empty contructor.
IntTools_EdgeEdge::~IntTools_EdgeEdge | ( | ) |
IntTools_EdgeEdge::IntTools_EdgeEdge | ( | const TopoDS_Edge & | theEdge1, |
const TopoDS_Edge & | theEdge2 | ||
) |
Contructor.
IntTools_EdgeEdge::IntTools_EdgeEdge | ( | const TopoDS_Edge & | theEdge1, |
const Standard_Real | aT11, | ||
const Standard_Real | aT12, | ||
const TopoDS_Edge & | theEdge2, | ||
const Standard_Real | aT21, | ||
const Standard_Real | aT22 | ||
) |
Contructor.
|
protected |
Adds common part of the given type to myCommonParts.
|
protected |
Checks if edges coincide on the ranges.
|
protected |
Checks the data.
const IntTools_SequenceOfCommonPrts& IntTools_EdgeEdge::CommonParts | ( | ) | const |
Returns common parts.
|
protected |
Computes Line/Line intersection.
|
protected |
Looking for the minimal distance between edges on the ranges.
|
staticprotected |
Looking for the range of the edge whick is in the box.
|
protected |
Intermediate function.
|
protected |
Looking for the exact intersection ranges.
Standard_Boolean IntTools_EdgeEdge::IsDone | ( | ) | const |
Returns TRUE if common part(s) is(are) found.
|
protected |
Checks is there an intersection between edges on the given ranges (for nearly conicident edges)
|
protected |
Merges found solutions.
void IntTools_EdgeEdge::Perform | ( | ) |
Performs the intersection between edges.
|
protected |
Prepares the data.
void IntTools_EdgeEdge::SetEdge1 | ( | const TopoDS_Edge & | theEdge | ) |
Sets the first edge.
void IntTools_EdgeEdge::SetEdge1 | ( | const TopoDS_Edge & | theEdge, |
const Standard_Real | aT1, | ||
const Standard_Real | aT2 | ||
) |
Sets the first edge and its range.
void IntTools_EdgeEdge::SetEdge2 | ( | const TopoDS_Edge & | theEdge | ) |
Sets the second edge.
void IntTools_EdgeEdge::SetEdge2 | ( | const TopoDS_Edge & | theEdge, |
const Standard_Real | aT1, | ||
const Standard_Real | aT2 | ||
) |
Sets the first edge and its range.
void IntTools_EdgeEdge::SetRange1 | ( | const IntTools_Range & | theRange1 | ) |
Sets the range for the first edge.
void IntTools_EdgeEdge::SetRange1 | ( | const Standard_Real | aT1, |
const Standard_Real | aT2 | ||
) |
Sets the range for the first edge.
void IntTools_EdgeEdge::SetRange2 | ( | const IntTools_Range & | theRange | ) |
Sets the range for the second edge.
void IntTools_EdgeEdge::SetRange2 | ( | const Standard_Real | aT1, |
const Standard_Real | aT2 | ||
) |
Sets the range for the second edge.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |