mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0028605: Improve the algorithm of calculation of valid intersection range of an edge
- New method BRepLib::FindValidRange() has been added. It computes the range of the edge not covered by boundary vertices. - The algorithm of calculation of valid intersection range in the class IntTools_ShrunkRange has been corrected to use the new method. - The method BOPTools_AlgoTools::MakeSplitEdge() has been improved to protect against errors in the case of reversed orientation of the input edge. - Two new Draw commands have been added: validrange - it calls the new method BRepLib::FindValidRange(). tolsphere - it shows tolerances of vertices by drawing a sphere around each vertex of the shape. - The test cases "offset shape_type_i_c YE1,YE2" became better. The scripts have been corrected to reflect the new state.
This commit is contained in:
@@ -146,7 +146,7 @@ void BOPTools_AlgoTools::MakeSplitEdge(const TopoDS_Edge& aE,
|
||||
Standard_Real aTol;//f, l,
|
||||
aTol=BRep_Tool::Tolerance(aE);
|
||||
//
|
||||
TopoDS_Edge E=aE;
|
||||
TopoDS_Edge E = TopoDS::Edge(aE.Oriented(TopAbs_FORWARD));
|
||||
E.EmptyCopy();
|
||||
//
|
||||
BRep_Builder BB;
|
||||
@@ -159,6 +159,7 @@ void BOPTools_AlgoTools::MakeSplitEdge(const TopoDS_Edge& aE,
|
||||
BB.Range(E, aP1, aP2);
|
||||
BB.UpdateEdge(E, aTol);
|
||||
aNewEdge=E;
|
||||
aNewEdge.Orientation(aE.Orientation());
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
Reference in New Issue
Block a user