View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0028385 | Open CASCADE | OCCT:Modeling Algorithms | public | 2017-01-24 16:44 | 2018-06-29 21:19 |
Reporter | Assigned To | apn | |||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
Product Version | 7.1.0 | ||||
Target Version | 7.3.0 | Fixed in Version | 7.3.0 | ||
Summary | 0028385: Improve drawing isolines (DBRep_IsoBuilder algorithm) | ||||
Description | There are several problems while drawing iso-lines in shapes. For example: 1. If the shape contains a gap between edges (covered by some vertex) isoline gone through this gap is become infinite. 2. If the isoline is (particularly) coincident with some edge its behavior is unpredictable (it can be not drown). See "lost isoline.PNG" attached picture. This picture has been obtained from the face in "bug28385_face.brep" attached file with Iso-line U=PI/2. | ||||
Steps To Reproduce | # case 1: restore stick-out-isos.brep a isos a 0 don a view 1 +Y+Z 728 450 400 400 fit md;md isos a 2 | ||||
Tags | No tags attached. | ||||
Test case number | bugs modalg_7 bug28385_1 - bug28385_10 | ||||
2017-01-24 16:44 developer |
lost isoline.PNG (18,847 bytes) |
|
Example to the item 2 has been detected in frame of the fix for issue 0027252 (see messages 0027252:0062944 and 0027252:0062961). This fix did not touch DBRep_IsoBuilder algorithm. |
2017-01-24 17:00 developer |
bug28385_face.brep (1,759 bytes) |
2017-03-01 18:45 developer |
stick-out-isos.brep (52,543 bytes) |
2017-03-01 18:46 developer |
shell_stick-out-iso.PNG (5,994 bytes) |
2017-03-01 18:46 developer |
stick-out-iso.PNG (4,336 bytes) |
|
I have attached example for the case 1. The shape is stick-out-isos.brep. Two snapshots show the sticking out isolines. |
|
Dear Marina, please look at this bug. |
|
Branch CR28385 has been created by emv. SHA-1: 1d268b408381b48a21bec26a07601a90e87c2dde Detailed log of new commits: Author: emv Date: Mon Nov 27 15:52:55 2017 +0300 0028385: Improve drawing isolines (DBRep_IsoBuilder algorithm) When computing the iso-lines for the face, additionally to the p-curves of the edges on the face, add to the Hatching algorithm the 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, and eventually will allow trimming correctly the iso-lines passing through such gaps. Test cases for the issue. |
|
Branch CR28385 has been updated forcibly by emv. SHA-1: 9d0bf29fd7671f1532871da390ffb06c232d869d |
|
Branch CR28385 has been updated by emv. SHA-1: 9fc706d85e45d3158cfd4e3b4bfaa4d90ecb456a Detailed log of new commits: Author: emv Date: Wed Nov 29 12:55:15 2017 +0300 # Fix for the regressions: # bugs xde bug27170_5 # sewing tol_1 R2 |
|
Branch CR28385 has been updated forcibly by emv. SHA-1: 2b98b53c8bc60d6f1ea014cead3ab0c105699e2c |
|
Branch CR28385 has been updated forcibly by emv. SHA-1: dc737f6778fe77ac4557e8c79fe81a2f5427043a |
|
Branch CR28385 has been updated forcibly by emv. SHA-1: 8f9bba0dc2bfaf2e46979e338b3facacbc975246 |
|
Branch CR28385 has been updated forcibly by emv. SHA-1: dfc64cf7bc8d99a14005e64a0513370b10204614 |
|
Currently there are few differences in the images in the test results (http://jenkins-test-10.nnov.opencascade.com/view/CR28385-master-emv/view/COMPARE/) which are blocking the integration of the fix: de iges_1 J9 de step_1 ZW2, ZB5, ZB3 heal fix_shape A2 bugs step bug3397 These differences should be resolved after solving the problem with intersection of the touching 2d curves (see issue 0029368). |
|
Branch CR28385 has been updated forcibly by msv. SHA-1: 86eeeba76113ce5f28bb48bd8106b459f099098a |
|
Branch CR28385 has been rebased on current master. |
|
Branch CR28385 has been updated forcibly by msv. SHA-1: e251a4dc2d9c00346d9186ecf875e9870fe9f0c3 |
|
After rebasing on new master the following test cases are faiiled on Windows only platform: bugs moddata_2 bug313 bug326 bug438_1 de iges_2 D3 |
|
Branch CR28385 has been updated forcibly by emv. SHA-1: 7150ef50a9b62b512e6b9bb04258869815151139 |
|
Branch CR28385 has been updated by emv. SHA-1: 4bd173c025556c9bfc7345396f265899b1d774c1 Detailed log of new commits: Author: emv Date: Wed Jan 17 09:03:59 2018 +0300 Isolating the addition of the segments connecting the neighboring PCurves into a separate method - FillGaps(). Avoid exploration of the empty wires. |
|
Branch CR28385 has been updated forcibly by emv. SHA-1: 4af6a1751b81d0675f0404bf3dee8abe139cbc9e |
|
Dear Mikhail, could you please review the git branch CR28385? Jenkins job - http://jenkins-test-10.nnov.opencascade.com:8080/view/CR28385-master-emv/view/COMPARE/. Please note, that the branch is based on the CR29368. The results are also compared to the results of this branch testings. Please also note, that the images in the following cases are correct: de iges_2 F9 - correct behavior (additional 2d segments are interfering due to p-curves configuration); chamfer dist_angle_sequence B5 - correct behavior (the edges in the wire are messed-up (see issue 0029431)) de step_2 S1 - correct behavior (all isolines are located inside tolerance sphere's of vertices) draft angle G8 - improvement sewing tol_100 I6 - correct behavior parasolid doc_3 D8 - correct behavior heal surface_to_bspline A5 - correct behavior sewing tol_100 D3 - correct behavior |
|
Reviewed. |
|
Branch CR28385 has been updated forcibly by apn. SHA-1: 2a83863cbc3fed4b2440f9d5b79eebe6187cafb0 |
|
Branch CR28385 has been updated by emv. SHA-1: afcdc4c23af2246a9afdbbeb063c631a33aab6a6 Detailed log of new commits: Author: emv Date: Mon Jan 22 07:33:05 2018 +0300 # Correction according to remarks. |
|
Combination - OCCT branch : CR28385 SHA - afcdc4c23af2246a9afdbbeb063c631a33aab6a6 Products branch : master SHA - d89a467c378e57aa29e553b9f117db99086ddb1b was compiled on Linux, MacOS and Windows platforms and tested in optimize mode. Number of compiler warnings: No new/fixed warnings Regressions/Differences/Improvements: No regressions/differences Test cases: bugs modalg_7 bug28385_1 - bug28385_10 - OK CPU differences: Debian70-64: OCCT Total CPU difference: 18598.389999999657 / 18449.779999999675 [+0.81%] Products Total CPU difference: 7523.200000000007 / 7488.480000000009 [+0.46%] Windows-64-VC10: OCCT Total CPU difference: 18137.90866789855 / 17999.364179798602 [+0.77%] Products Total CPU difference: 8052.709219599978 / 8032.819092099977 [+0.25%] Image differences : Differences in images in OCCT and PRODUCTS were confirmed. Memory differences : No differences that require special attention |
|
Branch CR28385 has been deleted by kgv. SHA-1: afcdc4c23af2246a9afdbbeb063c631a33aab6a6 |
occt: master b6cf8ffa 2017-11-27 12:52:55
Committer: apn Details Diff |
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. |
Affected Issues 0028385 |
|
mod - src/BRepTools/BRepTools_WireExplorer.cxx | Diff File | ||
mod - src/BRepTools/BRepTools_WireExplorer.hxx | Diff File | ||
mod - src/DBRep/DBRep_IsoBuilder.cxx | Diff File | ||
mod - src/DBRep/DBRep_IsoBuilder.hxx | Diff File | ||
rm - src/DBRep/DBRep_IsoBuilder.lxx | Diff File | ||
mod - src/DBRep/FILES | Diff File | ||
mod - src/math/math_FunctionRoots.cxx | Diff File | ||
add - tests/bugs/modalg_7/bug28385_1 | Diff File | ||
add - tests/bugs/modalg_7/bug28385_10 | Diff File | ||
add - tests/bugs/modalg_7/bug28385_2 | Diff File | ||
add - tests/bugs/modalg_7/bug28385_3 | Diff File | ||
add - tests/bugs/modalg_7/bug28385_4 | Diff File | ||
add - tests/bugs/modalg_7/bug28385_5 | Diff File | ||
add - tests/bugs/modalg_7/bug28385_6 | Diff File | ||
add - tests/bugs/modalg_7/bug28385_7 | Diff File | ||
add - tests/bugs/modalg_7/bug28385_8 | Diff File | ||
add - tests/bugs/modalg_7/bug28385_9 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-01-24 16:44 |
|
New Issue | |
2017-01-24 16:44 |
|
Assigned To | => msv |
2017-01-24 16:44 |
|
File Added: lost isoline.PNG | |
2017-01-24 16:56 |
|
Note Added: 0062963 | |
2017-01-24 16:59 |
|
Description Updated | |
2017-01-24 17:00 |
|
File Added: bug28385_face.brep | |
2017-01-24 17:50 |
|
Product Version | => 7.1.0 |
2017-03-01 18:45 |
|
File Added: stick-out-isos.brep | |
2017-03-01 18:46 |
|
File Added: shell_stick-out-iso.PNG | |
2017-03-01 18:46 |
|
File Added: stick-out-iso.PNG | |
2017-03-01 18:48 |
|
Note Added: 0064063 | |
2017-03-01 18:49 |
|
Steps to Reproduce Updated | |
2017-04-04 18:44 |
|
Assigned To | msv => mpa |
2017-04-04 18:44 |
|
Status | new => assigned |
2017-04-04 18:45 |
|
Note Added: 0064908 | |
2017-07-24 09:22 |
|
Target Version | 7.2.0 => 7.3.0 |
2017-11-24 11:12 |
|
Assigned To | mpa => emv |
2017-11-27 16:08 | git | Note Added: 0072503 | |
2017-11-28 10:41 | git | Note Added: 0072521 | |
2017-11-30 11:12 | git | Note Added: 0072612 | |
2017-11-30 14:31 | git | Note Added: 0072622 | |
2017-12-01 10:40 | git | Note Added: 0072632 | |
2017-12-01 13:34 | git | Note Added: 0072647 | |
2017-12-04 15:40 | git | Note Added: 0072689 | |
2017-12-05 08:43 |
|
Relationship added | parent of 0029368 |
2017-12-05 09:24 |
|
Note Added: 0072707 | |
2017-12-11 18:02 | git | Note Added: 0072915 | |
2017-12-11 18:03 |
|
Note Added: 0072917 | |
2018-01-09 10:53 | git | Note Added: 0073265 | |
2018-01-09 17:13 |
|
Note Added: 0073273 | |
2018-01-16 16:10 | git | Note Added: 0073441 | |
2018-01-18 16:45 | git | Note Added: 0073495 | |
2018-01-19 10:21 | git | Note Added: 0073506 | |
2018-01-19 14:05 |
|
Note Added: 0073521 | |
2018-01-19 14:05 |
|
Assigned To | emv => msv |
2018-01-19 14:05 |
|
Status | assigned => resolved |
2018-01-19 17:56 |
|
Note Added: 0073541 | |
2018-01-19 17:56 |
|
Assigned To | msv => bugmaster |
2018-01-19 17:56 |
|
Status | resolved => reviewed |
2018-01-21 14:30 | git | Note Added: 0073548 | |
2018-01-21 14:38 | apn | Test case number | => bugs modalg_7 bug28385_1 - bug28385_10 |
2018-01-22 07:33 | git | Note Added: 0073549 | |
2018-01-22 11:09 | apn | Note Added: 0073552 | |
2018-01-22 11:09 | apn | Status | reviewed => tested |
2018-01-28 12:18 | apn | Changeset attached | => occt master b6cf8ffa |
2018-01-28 12:18 | apn | Assigned To | bugmaster => apn |
2018-01-28 12:18 | apn | Status | tested => verified |
2018-01-28 12:18 | apn | Resolution | open => fixed |
2018-02-05 11:39 | git | Note Added: 0073755 | |
2018-06-29 21:15 |
|
Fixed in Version | => 7.3.0 |
2018-06-29 21:19 |
|
Status | verified => closed |