![]() |
Open CASCADE Technology Reference Manual 8.0.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 constructor. | |
| ~IntTools_EdgeEdge () | |
| Destructor. | |
| IntTools_EdgeEdge (const TopoDS_Edge &theEdge1, const TopoDS_Edge &theEdge2) | |
| Constructor. | |
| IntTools_EdgeEdge (const TopoDS_Edge &theEdge1, const double aT11, const double aT12, const TopoDS_Edge &theEdge2, const double aT21, const double aT22) | |
| Constructor. | |
| void | SetEdge1 (const TopoDS_Edge &theEdge) |
| Sets the first edge. | |
| void | SetEdge1 (const TopoDS_Edge &theEdge, const double aT1, const double aT2) |
| Sets the first edge and its range. | |
| void | SetRange1 (const IntTools_Range &theRange1) |
| Sets the range for the first edge. | |
| void | SetRange1 (const double aT1, const double aT2) |
| Sets the range for the first edge. | |
| void | SetEdge2 (const TopoDS_Edge &theEdge) |
| Sets the second edge. | |
| void | SetEdge2 (const TopoDS_Edge &theEdge, const double aT1, const double aT2) |
| Sets the first edge and its range. | |
| void | SetRange2 (const IntTools_Range &theRange) |
| Sets the range for the second edge. | |
| void | SetRange2 (const double aT1, const double aT2) |
| Sets the range for the second edge. | |
| void | SetFuzzyValue (const double theFuzz) |
| Sets the Fuzzy value. | |
| void | Perform () |
| Performs the intersection between edges. | |
| bool | IsDone () const |
| Returns TRUE if common part(s) is(are) found. | |
| double | FuzzyValue () const |
| Returns Fuzzy value. | |
| const NCollection_Sequence< IntTools_CommonPrt > & | CommonParts () const |
| Returns common parts. | |
| void | UseQuickCoincidenceCheck (const bool bFlag) |
| Sets the flag myQuickCoincidenceCheck. | |
| bool | IsCoincidenceCheckedQuickly () |
| Returns the flag myQuickCoincidenceCheck. | |
Protected Member Functions | |
| void | CheckData () |
| Checks the data. | |
| void | Prepare () |
| Prepares the data. | |
| void | ComputeLineLine () |
| Computes Line/Line intersection. | |
| void | FindSolutions (NCollection_Sequence< IntTools_Range > &theRanges1, NCollection_Sequence< IntTools_Range > &theRanges2, bool &bSplit2) |
| Intermediate function. | |
| void | FindSolutions (const IntTools_Range &theR1, const Bnd_Box &theBox1, const IntTools_Range &theR2, const Bnd_Box &theBox2, NCollection_Sequence< IntTools_Range > &theRanges1, NCollection_Sequence< IntTools_Range > &theRanges2) |
| Looking for the exact intersection ranges. | |
| void | MergeSolutions (const NCollection_Sequence< IntTools_Range > &theRanges1, const NCollection_Sequence< IntTools_Range > &theRanges2, const bool bSplit2) |
| Merges found solutions. | |
| int | CheckCoincidence (const double aT11, const double aT12, const double aT21, const double aT22, const double theCriteria, const double theCurveRes1) |
| Checks if edges coincide on the ranges. | |
| void | AddSolution (const double aT11, const double aT12, const double aT21, const double aT22, const TopAbs_ShapeEnum theType) |
| Adds common part of the given type to myCommonParts. | |
| void | FindBestSolution (const double aT11, const double aT12, const double aT21, const double aT22, double &aT1, double &aT2) |
| Looking for the minimal distance between edges on the ranges. | |
| bool | IsIntersection (const double aT11, const double aT12, const double aT21, const double aT22) |
| Checks is there an intersection between edges on the given ranges (for nearly conicident edges) | |
| bool | IsCoincident () |
| Checks if the edges are coincident really. | |
Static Protected Member Functions | |
| static bool | FindParameters (const BRepAdaptor_Curve &theBAC, const double aT1, const double aT2, const double theTol, const double theRes, const double thePTol, const double theResCoeff, const Bnd_Box &theCBox, double &aTB1, double &aTB2) |
| Looking for the range of the edge which is in the box. | |
Protected Attributes | |
| TopoDS_Edge | myEdge1 |
| TopoDS_Edge | myEdge2 |
| occ::handle< Geom_Curve > | myGeom1 |
| occ::handle< Geom_Curve > | myGeom2 |
| BRepAdaptor_Curve | myCurve1 |
| BRepAdaptor_Curve | myCurve2 |
| double | myTol1 |
| double | myTol2 |
| double | myTol |
| double | myFuzzyValue |
| double | myRes1 |
| double | myRes2 |
| double | myResCoeff1 |
| double | myResCoeff2 |
| double | myPTol1 |
| double | myPTol2 |
| IntTools_Range | myRange1 |
| IntTools_Range | myRange2 |
| bool | mySwap |
| int | myErrorStatus |
| NCollection_Sequence< IntTools_CommonPrt > | myCommonParts |
| bool | myQuickCoincidenceCheck |
| Allows avoiding use Edge-Edge intersection algorithm (i.e. speeding up the Boolean algorithm) if the edges are coincided really. If it is not evidently set of this flag should be avoided (otherwise, the performance of Boolean algorithm will be slower). | |
The class provides Edge/Edge intersection algorithm based on the intersection between edges bounding boxes.
| IntTools_EdgeEdge::IntTools_EdgeEdge | ( | ) |
Empty constructor.
| IntTools_EdgeEdge::~IntTools_EdgeEdge | ( | ) |
Destructor.
| IntTools_EdgeEdge::IntTools_EdgeEdge | ( | const TopoDS_Edge & | theEdge1, |
| const TopoDS_Edge & | theEdge2 ) |
Constructor.
| IntTools_EdgeEdge::IntTools_EdgeEdge | ( | const TopoDS_Edge & | theEdge1, |
| const double | aT11, | ||
| const double | aT12, | ||
| const TopoDS_Edge & | theEdge2, | ||
| const double | aT21, | ||
| const double | aT22 ) |
Constructor.
|
protected |
Adds common part of the given type to myCommonParts.
|
protected |
Checks if edges coincide on the ranges.
|
protected |
Checks the data.
| const NCollection_Sequence< IntTools_CommonPrt > & 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 which is in the box.
|
protected |
Looking for the exact intersection ranges.
|
protected |
Intermediate function.
| double IntTools_EdgeEdge::FuzzyValue | ( | ) | const |
Returns Fuzzy value.
|
inline |
Returns the flag myQuickCoincidenceCheck.
|
protected |
Checks if the edges are coincident really.
| bool 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 double | aT1, | ||
| const double | 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 double | aT1, | ||
| const double | aT2 ) |
Sets the first edge and its range.
Sets the range for the first edge.
| void IntTools_EdgeEdge::SetRange1 | ( | const IntTools_Range & | theRange1 | ) |
Sets the range for the first edge.
Sets the range for the second edge.
| void IntTools_EdgeEdge::SetRange2 | ( | const IntTools_Range & | theRange | ) |
Sets the range for the second edge.
Sets the flag myQuickCoincidenceCheck.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Allows avoiding use Edge-Edge intersection algorithm (i.e. speeding up the Boolean algorithm) if the edges are coincided really. If it is not evidently set of this flag should be avoided (otherwise, the performance of Boolean algorithm will be slower).
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |