0028385: Improve drawing isolines (DBRep_IsoBuilder algorithm)
authoremv <emv@opencascade.com>
Mon, 27 Nov 2017 12:52:55 +0000 (15:52 +0300)
committerapn <apn@opencascade.com>
Tue, 23 Jan 2018 17:11:08 +0000 (20:11 +0300)
commitb6cf8ffa35f902f9e8807ebd2b24e07fe8ddf321
treed20982a6afa3cc814135dcfceaea793adfbe2218
parentf24150b851a4fa78e36bb58b7f8702a32d57a9bd
0028385: Improve drawing isolines (DBRep_IsoBuilder algorithm)

1. When computing the iso-lines for the face (*DBRep_IsoBuilder*) prepare the Hatching algorithm with the following elements:
a. Trimmed p-curves of edges. The trimming parameters are computed by intersection with p-curves of the neighboring edges. The trimming will be performed only if the intersection point is covered by the tolerance of common vertex.
b. 2D segments connecting the p-curves of the neighboring edges. These segments will close the 2D gaps, which are closed in 3D by the tolerance of vertices shared between edges. This will allow trimming correctly the iso-lines passing through such gaps.

2. Implementation of the additional Init() method for WireExplorer algorithm taking UV bounds of the face to avoid their repeated computation when work working with a face having multiple wires.

3. Test cases for the issue.
17 files changed:
src/BRepTools/BRepTools_WireExplorer.cxx
src/BRepTools/BRepTools_WireExplorer.hxx
src/DBRep/DBRep_IsoBuilder.cxx
src/DBRep/DBRep_IsoBuilder.hxx
src/DBRep/DBRep_IsoBuilder.lxx [deleted file]
src/DBRep/FILES
src/math/math_FunctionRoots.cxx
tests/bugs/modalg_7/bug28385_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug28385_10 [new file with mode: 0644]
tests/bugs/modalg_7/bug28385_2 [new file with mode: 0644]
tests/bugs/modalg_7/bug28385_3 [new file with mode: 0644]
tests/bugs/modalg_7/bug28385_4 [new file with mode: 0644]
tests/bugs/modalg_7/bug28385_5 [new file with mode: 0644]
tests/bugs/modalg_7/bug28385_6 [new file with mode: 0644]
tests/bugs/modalg_7/bug28385_7 [new file with mode: 0644]
tests/bugs/modalg_7/bug28385_8 [new file with mode: 0644]
tests/bugs/modalg_7/bug28385_9 [new file with mode: 0644]