|
Open CASCADE Technology
6.9.0
|
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 |
1.8.5