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|
|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> checkshape b f
-- The Shape b looks OK
Draw> incmesh b 0.001
Incremental Mesh, multi-threading OFF
Meshing statuses: SelfIntersectingWire
Draw> vdisplay b
Draw> setup Shaded display mode
|Tags||No tags attached.|
|Test case number||bugs mesh bug25594|
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:
restore face1.brep a
# This shape seems to be valid
explode a e
settolerance a_1 1e-2
# On Shape faulty_1 :
# On Shape faulty_2 :
# Shape faulty_1 on shape faulty_2 :
# 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)
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).
restore face1.brep a
# This shape seems to be valid
# This shape contains 0 triangles.
# 0 nodes.
# Maximal deflection 0
fixshape a a
vdisplay a -redisplay
# This shape contains 374 triangles.
# 224 nodes.
# Maximal deflection 0.097668966673379987
Tolerance remains the same.
Branch CR25594 has been created by oan.
Detailed log of new commits:
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.
bugs mesh bug25594 - OK
Branch CR25594 has been deleted by inv.
|2014-12-11 18:20||gka||New Issue|
|2014-12-11 18:20||gka||Assigned To||=> oan|
|2014-12-11 18:20||gka||File Added: face1.brep|
|2014-12-12 10:43||oan||Relationship added||related to 0024084|
|2014-12-12 11:03||gka||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||msv||Relationship added||related to 0025593|
|2014-12-16 10:41||msv||Note Added: 0035412|
|2014-12-16 10:41||msv||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||abv||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||abv||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||msv||Note Added: 0081317|
|2018-11-30 17:24||msv||Assigned To||pdn => bugmaster|
|2018-11-30 17:24||msv||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|