0027552: Wire creation fails depending on the order of edges
authorisn <isn@opencascade.com>
Mon, 20 Jun 2016 12:58:05 +0000 (15:58 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 28 Jul 2016 12:00:28 +0000 (15:00 +0300)
commit07ef8bdfa2c0ebaf7b8794db306a66db65f59cfa
tree4473e4ebd94b0e0bb51b6f958b5f3d38526972fc
parent01b5b3df5574eaa6015c56c0df4456bdaf04aea4
0027552: Wire creation fails depending on the order of edges

1) BRepBuilderAPI_MakeWire::Add (const TopTools_ListOfShape &L) method have been completely rewritten. The order of edges is not significant now.
2) The geometric proximity of free vertices from already existing wire and from input list of edges are also have been taken into account. If such vertices are coincident with each other then they are fused into the one. The original wire remains untouched topologically (yet the tolerances and points can be modified).
3) UBTreeFiller is used to speed up the process of picking of coincident vertices.
4) BRepLib now contains the 'new' method - BoundingVertex(..). The implemenation of this method are taken from BOPTools_AlgoTools::MakeVertex(..).
5) The '-unsorted' argument have been added to 'wire' command.

Conflicts:
src/QABugs/QABugs_20.cxx

Add missing include.

Eliminate warning.
12 files changed:
src/BOPTools/BOPTools_AlgoTools.cxx
src/BRepLib/BRepLib.cxx
src/BRepLib/BRepLib.hxx
src/BRepLib/BRepLib_MakeWire.cxx
src/BRepLib/BRepLib_MakeWire.hxx
src/BRepLib/BRepLib_MakeWire_1.cxx
src/BRepTest/BRepTest_CurveCommands.cxx
src/BRepTest/BRepTest_Fillet2DCommands.cxx
src/QABugs/QABugs_20.cxx
tests/bugs/modalg_6/bug27552_1 [new file with mode: 0644]
tests/bugs/modalg_6/bug27552_2 [new file with mode: 0644]
tests/bugs/modalg_6/bug27552_3 [new file with mode: 0644]