View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0025594 | Open CASCADE | OCCT:Mesh | public | 2014-12-11 18:20 | 2018-12-03 10:38 |
Reporter | Assigned To | apn | |||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Product Version | 6.8.0 | ||||
Target Version | 7.4.0 | Fixed in Version | 7.4.0 | ||
Summary | 0025594: Valid shape is not visualize in shading mode. | ||||
Description | Attached valid face can not be visualized in shading mode. Command "incmesh" on valid shape gives error "SelfIntersectonWire". | ||||
Steps To Reproduce | restore face1.brep b Draw[11]> checkshape b f -- The Shape b looks OK Draw[12]> incmesh b 0.001 Incremental Mesh, multi-threading OFF Meshing statuses: SelfIntersectingWire Draw[13]> vinit Driver1/Viewer1/View1 Draw[14]> vdisplay b Draw[15]> vfit Draw[16]> setup Shaded display mode | ||||
Tags | No tags attached. | ||||
Test case number | bugs mesh bug25594 | ||||
2014-12-11 18:20 developer |
face1.brep (47,672 bytes) |
|
Shape is correct from point of view of "checkshape" functionality which takes into account vertex/edge/face tolerances to check correctness of shapes. Attached shape has tolerance ~0.025. Which is sufficiently large related to shape size. This tolerance covers self interseciton of outer wire (see attached screenshots). Contrasting to checkshape, BRepMesh uses real geometry to produce discretization points as well as low level tools used there. Currently it does not contain tool to resolve self intersections and similar problems. Corresponding issue 0024084 was already been registered in Mantis. |
|
wing_2d.png (14,565 bytes) |
|
wing_3d.png (14,673 bytes) |
|
As far as I understand the shape has self-intersection problem that is not recognized by checkshape. This problem is expected to be solved with the bug 0025593. If checkshape reported the self-intersection problem the error in brep mesh algorithm would not be surprise. |
|
I guess that checkshape works well, because it takes tolerance of the shape into account during checks and in this case size of the loop satisfies the value ~0.025. If we try to change tolerance of first edge to 1e-2 we will get the following: pload ALL restore face1.brep a checkshape a # This shape seems to be valid explode a e settolerance a_1 1e-2 checkshape a # On Shape faulty_1 : # BRepCheck_SelfIntersectingWire # On Shape faulty_2 : # BRepCheck_UnorientableShape # Shape faulty_1 on shape faulty_2 : # BRepCheck_SelfIntersectingWire # # Faulty shapes in variables faulty_1 to faulty_2 However, it is possible that 0025593 will change behavior of checkshape and this case will become OK. |
|
indecisive_zone.png (4,626 bytes) |
|
Dear Mikhail, shape has indecisive zone problem (see attached screenshot) according to the shape validity criteria - tolerance of vertex does not cover this inconsistency. Like this, current shape is not valid and BRepMesh behavior is expected. Boosting vertex tolerance in couple with bunch of fixes #0027108 + 0027226 + 0027239 can give valid result for visualization. Thus I suggest to requalify this issue to OCCT:Shape Healing category in order to fit the validity criteria. Note that initially shape is translated from STEP file. |
|
According to remarks given by MSV, shape can have different validity configurations thus it was mentioned that even if wire has self-intersection in 3d or 2d and it is covered by edge or vertex tolerance at least for one representation, this case is considered as valid. For the case of indecisive zone there is no strictly defined behavior how this case can be resolved: either by boosting of vertex tolerance (that can be the most suitable solution for meshers) or boosting of edge tolerance to cover the inconsistency. Like this, it is suggested by MSV to implement features local for BRepMesh already suggested in 0024084 for the sake of producing mesh suitable for visualization. |
|
Shape can be correctly visualized on current master after fixshape (note that checkshape notifies no error despite of some corrections made by fixshape). pload ALL restore face1.brep a vinit vsetdispmode 1 checkshape a # This shape seems to be valid vdisplay a vfit trinfo a # This shape contains 0 triangles. # 0 nodes. # Maximal deflection 0 fixshape a a vdisplay a -redisplay trinfo a # This shape contains 374 triangles. # 224 nodes. # Maximal deflection 0.097668966673379987 Tolerance remains the same. |
|
Branch CR25594 has been created by oan. SHA-1: 28a0dfe59ba1feaa671f73b9a40ae52e2b860885 Detailed log of new commits: Author: oan Date: Mon Nov 19 12:41:55 2018 +0300 0025594: Valid shape is not visualize in shading mode. Added test case. |
|
Please review test case. Test results: http://occt-tests/CR25594-master-OAN-OCCT/Debian80-64/diff_summary.html http://occt-tests/CR25594-master-OAN-OCCT/Windows-64-VC14/diff_summary.html |
|
Reviewed. |
|
Test case: bugs mesh bug25594 - OK |
|
Branch CR25594 has been deleted by inv. SHA-1: 28a0dfe59ba1feaa671f73b9a40ae52e2b860885 |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-12-11 18:20 |
|
New Issue | |
2014-12-11 18:20 |
|
Assigned To | => oan |
2014-12-11 18:20 |
|
File Added: face1.brep | |
2014-12-12 10:43 | oan | Relationship added | related to 0024084 |
2014-12-12 11:03 |
|
Summary | Valid shape is not vizualize in shading mode. => Valid shape is not visualize in shading mode. |
2014-12-12 11:13 | oan | Note Added: 0035349 | |
2014-12-12 11:15 | oan | File Added: wing_2d.png | |
2014-12-12 11:15 | oan | File Added: wing_3d.png | |
2014-12-16 10:38 |
|
Relationship added | related to 0025593 |
2014-12-16 10:41 |
|
Note Added: 0035412 | |
2014-12-16 10:41 |
|
Note Edited: 0035412 | |
2014-12-16 11:13 | oan | Note Added: 0035413 | |
2014-12-16 11:16 | oan | Note Edited: 0035413 | |
2015-04-21 06:09 |
|
Target Version | 6.9.0 => 7.1.0 |
2016-04-04 13:46 | oan | File Added: indecisive_zone.png | |
2016-04-04 13:57 | oan | Note Added: 0052334 | |
2016-04-04 13:57 | oan | Assigned To | oan => msv |
2016-04-04 13:57 | oan | Status | new => feedback |
2016-04-05 13:54 | oan | Note Added: 0052393 | |
2016-04-05 13:55 | oan | Assigned To | msv => oan |
2016-04-05 13:55 | oan | Status | feedback => assigned |
2016-10-25 17:45 | oan | Target Version | 7.1.0 => 7.2.0 |
2017-07-20 12:43 | oan | Target Version | 7.2.0 => 7.3.0 |
2018-02-25 21:09 |
|
Target Version | 7.3.0 => 7.4.0 |
2018-11-17 23:44 | oan | Note Added: 0081139 | |
2018-11-17 23:45 | oan | Note Edited: 0081139 | |
2018-11-19 12:48 | git | Note Added: 0081164 | |
2018-11-19 14:16 | oan | Note Added: 0081165 | |
2018-11-19 14:16 | oan | Assigned To | oan => msv |
2018-11-19 14:16 | oan | Status | assigned => resolved |
2018-11-30 11:55 | oan | Assigned To | msv => pdn |
2018-11-30 17:24 |
|
Note Added: 0081317 | |
2018-11-30 17:24 |
|
Assigned To | pdn => bugmaster |
2018-11-30 17:24 |
|
Status | resolved => reviewed |
2018-11-30 17:30 | apn | Test case number | => bugs mesh bug25594 |
2018-11-30 17:30 | apn | Note Added: 0081318 | |
2018-11-30 17:30 | apn | Status | reviewed => tested |
2018-12-02 14:48 | apn | Changeset attached | => occt master e2fc86bb |
2018-12-02 14:48 | apn | Assigned To | bugmaster => apn |
2018-12-02 14:48 | apn | Status | tested => verified |
2018-12-02 14:48 | apn | Resolution | open => fixed |
2018-12-03 10:38 | git | Note Added: 0081332 |