MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0028674Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2017-04-21 16:342017-12-05 17:08
Reporternbv 
Assigned Tonbv 
PrioritynormalSeverityminor 
StatusassignedResolutionopen 
PlatformWinOSVS 12 (2013)OS VersionWin64
Product Version[OCCT] 7.1.0 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0028674: BRepTools_WireExplorer works unstable and does not return several edges
DescriptionSource face contains 14 edges (please check by "nbshapes ff").

However, script (see Steps To Reproduce) returns 3 edges or 11 edges from time to time.

Additionally, Please pay attention to the message 0028211:0071726. There, BRepTools_WireExplorer works stable but after the fix, test bugs moddata_1 bug22761 will change its behavior

--
P.S.

This bug results in unstable work of test case "bugs moddata_2 bug22746_3" after integration the fix for issue #28211.
Steps To ReproduceFace is obtained from the test case "bugs moddata_2 bug22746_3"

binrestore d:/ff.brep ff

explode ff w

nbshapes ff_1 -t
# VERTEX : 16; EDGE : 14

wexplo ff_1 f

set n [llength [directory WEDGE_*]]

puts "$n edge(s) found"

#########################################################

Another script: See message 0028211:0071639.
TagsNo tags attached.
Test case number
Attached Files? file icon ff.brep (48,993 bytes) 2017-04-21 16:34
png file icon bad_wire.PNG (12,636 bytes) 2017-04-21 17:51

- Relationships
related to 0021968assignedmsv Open CASCADE BRepTools_WireExplorer gives different number of edges in dependance of order of edges in wire. 
related to 0029121newgka Open CASCADE Iges-reader reads invalid shape 
related to 0008546assigned Open CASCADE The algorithm BRepTools_WireExplorer works wrong for the face attached 
child of 0029133closedbugmaster Open CASCADE Unstable test cases 

-  Notes
(0065441)
msv (developer)
2017-04-21 17:47

The script in steps to reproduce gives always 3 edges on OCCT built with VC12 and always 11 edges with VC10.
(0065442)
msv (developer)
2017-04-21 17:51

It is needed to take into account that WireExplorer produces correct result (returns all edges in proper order) only for well-defined manifold wires. The wire in this face in unclosed and non-manifold. However, it is strange that it behaves differently on different platforms.
(0065446)
msv (developer)
2017-04-21 18:09

The wire has two disconnections. One is between edges 1 and 14, and another is between edges 11 and 12. Thus, there are two chains of connected edges. One chain consists of 3 edges, and another is of 11. So, it is needed to understand why the starting edge is different on various platforms.
(0065448)
msv (developer)
2017-04-21 18:43

I was wrong saying "it gives always 3 edges on OCCT built with VC12 and always 11 edges with VC10".
It really returns 3 or 11 on the same platform from run to run.

The cause is iteration on a map with TopoDS_Shape key.

To solve this bug it is needed to revise the class BRepTools_WireExplorer to get rid of dependence on map iterations.
(0065449)
msv (developer)
2017-04-21 19:31
edited on: 2017-04-24 18:01

After discussion with ABV, we have elaborated the following vision on how this algorithm must work on bad cases.

1) If the wire is not manifold or contains more than one connected chain the algorithm must raise warning status, so that the calling algorithm was aware of the problem with this wire. Further iteration on such wire may return not all edges.

2) If initialized with a face it means the wire serves as the face boundary and must be topologically closed. In this case if the wire is open the algorithm must raise warning status.

E.g., if the wire explorer is called from the face classifier, and it raises the warning status the classifier must take decision that this wire cannot be used in classification, so any point must be classified as if there was no this wire in the face.


- Issue History
Date Modified Username Field Change
2017-04-21 16:34 nbv New Issue
2017-04-21 16:34 nbv Assigned To => msv
2017-04-21 16:34 nbv File Added: ff.brep
2017-04-21 16:36 nbv OS => Win 10
2017-04-21 16:36 nbv Platform => x64
2017-04-21 16:36 nbv Product Version => 7.1.0
2017-04-21 16:36 nbv Steps to Reproduce Updated View Revisions
2017-04-21 16:40 nbv Description Updated View Revisions
2017-04-21 16:40 nbv Steps to Reproduce Updated View Revisions
2017-04-21 16:43 nbv Summary BRepTools_WireExplorer works unstable and does not retur several edges => BRepTools_WireExplorer works unstable and does not return several edges
2017-04-21 16:43 nbv Steps to Reproduce Updated View Revisions
2017-04-21 16:43 nbv Steps to Reproduce Updated View Revisions
2017-04-21 17:06 nbv Relationship added related to 0028211
2017-04-21 17:08 nbv OS Win 10 => VS 12 (2013)
2017-04-21 17:08 nbv OS Version => Win64
2017-04-21 17:08 nbv Platform x64 => Win
2017-04-21 17:47 msv Note Added: 0065441
2017-04-21 17:51 msv Note Added: 0065442
2017-04-21 17:51 msv File Added: bad_wire.PNG
2017-04-21 18:09 msv Note Added: 0065446
2017-04-21 18:32 msv Steps to Reproduce Updated View Revisions
2017-04-21 18:43 msv Note Added: 0065448
2017-04-21 19:31 msv Note Added: 0065449
2017-04-21 19:32 msv Assigned To msv => nbv
2017-04-21 19:32 msv Status new => assigned
2017-04-24 18:01 msv Note Edited: 0065449 View Revisions
2017-07-24 09:22 msv Target Version 7.2.0 => 7.3.0
2017-09-18 13:42 nbv Relationship added related to 0021968
2017-10-11 09:23 nbv Relationship added related to 0008546
2017-10-13 11:03 nbv Relationship added related to 0029121
2017-10-19 15:21 nbv Relationship added child of 0029133
2017-10-19 15:25 nbv Steps to Reproduce Updated View Revisions
2017-11-07 10:48 nbv Description Updated View Revisions
2017-12-05 17:08 msv Target Version 7.3.0 => 7.4.0*


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker