View Issue Details

IDProjectCategoryView StatusLast Update
0025594Open CASCADEOCCT:Meshpublic2018-12-03 10:38
Reportergka Assigned Toapn  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version6.8.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0025594: Valid shape is not visualize in shading mode.
DescriptionAttached valid face can not be visualized in shading mode.
Command "incmesh" on valid shape gives error "SelfIntersectonWire".
Steps To Reproducerestore 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
TagsNo tags attached.
Test case numberbugs mesh bug25594

Attached Files

  • face1.brep (47,672 bytes)
  • wing_2d.png (14,565 bytes)
  • wing_3d.png (14,673 bytes)
  • indecisive_zone.png (4,626 bytes)

Relationships

related to 0024084 assignedoan Additional tool for resolving 2d loops on discretized wires should be implemented in BRepMesh 
related to 0025593 closedbugmaster Number of intersection points for 2d curves depends on the order of arguments in command "2dintersect" 

Activities

gka

2014-12-11 18:20

developer  

face1.brep (47,672 bytes)

oan

2014-12-12 11:13

developer   ~0035349

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.

oan

2014-12-12 11:15

developer  

wing_2d.png (14,565 bytes)

oan

2014-12-12 11:15

developer  

wing_3d.png (14,673 bytes)

msv

2014-12-16 10:41

developer   ~0035412

Last edited: 2014-12-16 10:41

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.

oan

2014-12-16 11:13

developer   ~0035413

Last edited: 2014-12-16 11:16

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.

oan

2016-04-04 13:46

developer  

indecisive_zone.png (4,626 bytes)

oan

2016-04-04 13:57

developer   ~0052334

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.

oan

2016-04-05 13:54

developer   ~0052393

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.

oan

2018-11-17 23:44

developer   ~0081139

Last edited: 2018-11-17 23:45

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.

git

2018-11-19 12:48

administrator   ~0081164

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.

oan

2018-11-19 14:16

developer   ~0081165

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

msv

2018-11-30 17:24

developer   ~0081317

Reviewed.

apn

2018-11-30 17:30

administrator   ~0081318

Test case:
bugs mesh bug25594 - OK

git

2018-12-03 10:38

administrator   ~0081332

Branch CR25594 has been deleted by inv.

SHA-1: 28a0dfe59ba1feaa671f73b9a40ae52e2b860885

Related Changesets

occt: master e2fc86bb

2018-11-19 09:41:55

oan


Committer: apn Details Diff
0025594: Valid shape is not visualize in shading mode.

Added test case.
Affected Issues
0025594
add - tests/bugs/mesh/bug25594 Diff File

Issue History

Date Modified Username Field Change
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