MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0023119Community[OCCT] OCCT:Application Frameworkpublic2012-04-22 18:102012-11-16 13:17
ReporterRoman Lygin 
Assigned Toszy 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformAOSLOS VersionL
Product Version[OCCT] 6.5.2 
Target Version[OCCT] 6.5.4Fixed in Version[OCCT] 6.5.4 
Summary0023119: TNaming_Selector::Solve() fails (changes from single face to compound of multiple faces)
DescriptionThe bug has been originally reported on the forum by Valeriu Catina - http://www.opencascade.org/org/forum/thread_23075/?forum=3. [^]
The below reproducer simplifies the defect appearance.

TNaming_Selector::Select() correctly computes the type as FACE. However consequent call to Solve() changes the type to COMPOUND (consisting of multiple faces, and hence invalid), and significantly changes the data stored on sub-labels. See attached screenshots.

Two versions of the reproducer are provided - one using DNaming_SelectionCommands.cxx and one using DNaming_SelectionDriver.

Reproduced on OCC 6.5.x.

Extra note: TNaming_Selector::Select() and ::Solve() creates various structures for faces fuse2_1 ... fuse2_24. Due to lack of documentation of conventions applied by Topology Naming algorithm it is impossible to conclude whether these structures are correct or not, and makes debugging and suggesting a patch virtually impossible.
Steps To Reproducesource naming_test.tcl.
TagsNo tags attached.
Test case numbercaf named_shape (002) F8 F9
Attached Files? file icon naming_test.tcl (1,188 bytes) 2012-04-22 18:10
png file icon naming_after_TNaming_Selector-Select()-ok.png (105,586 bytes) 2012-04-22 18:17
png file icon naming_after_TNaming_Selector-Solve()-fail.png (104,702 bytes) 2012-04-22 18:17
rar file icon OCC_NamingTest.rar (13,009 bytes) 2012-08-24 17:02
? file icon naming_test2.tcl (1,352 bytes) 2012-08-31 18:17
7z file icon 23119.7z (40,292 bytes) 2012-09-12 14:38

- Relationships

-  Notes
(0021231)
szy (administrator)
2012-08-10 18:01

The bug reported by Valeriu Catina is not linked with the reported one.
It concerns incorrect Naming when created shape has not Identity Location.
We have accepted this bug. It is pity that Valeriu still didn't register it in Mantis.
Concerning the current issue. For the moment it is not possible to say is it a bug or not because the attached script is not valid. It uses mixture of not compatible commands. Unfortunately Naming testing framework is still not completed. It has some intermediate state. As result it is not documented. Sorry for this. I do hope we will try to fix it till the end of the year.
I suggest you to use commands defined in DNaming_ModelingCommands.cxx file.
Used by you commands SelectGeometry and SolveSelection are obsolete and should be redesigned. I do hope we will do it in the next release.
Also I will try to find example of correct script to be used for testing temporary.
(0021333)
vcat (reporter)
2012-08-24 17:02

Hello,
I attached a C++ coded reproducer of the present bug. The bug reported by me (Valeriu Catina) on the forum is actually identical to the present one. It shows no matter if the created shape has a identity location or not. I rechecked and therefore, the report on the forum appears to be erroneous regarding the location. All other statements seem to be correct.

I hope this clarification and the attached C++ reproducer will help out with the debugging.

Regards,

Valeriu Catina
(0021377)
szy (administrator)
2012-08-31 18:14
edited on: 2012-08-31 18:16

The issue presented in the script in 'naming_test.tcl' should be separated to several sub-problems:
1) Bugs in Draw commands (DNaming package)
2) Incorrect using of existing Draw commands
3) Naming bugs

1. Impacted commands (SelectShape & SolveSelection) from DNaming_Selection.cxx were fixed (Branch CR23119 is created). Now as SelectShape as SelectGeometry commands can be used.

2. The script is redesigned and attached for information. It provides working example of consistent using of different groups of DNaming commands.

3. The naming bug (selected Face after re-computation becomes Compound).
  This testing case (presented in the script-reproducer) can be considered as the Algorithm limitation. The solver can't distinguish the expected face from other in Compound because to much participating in re-computation shapes have modification 1 : N. Attempt to filter it by neighbors also gives compound of three faces which all satisfy filter criteria. New script 'naming_test2.tcl' should be used for correct case reproducing.

(0021415)
szy (administrator)
2012-09-05 17:48

Review it, please.
(0021417)
vro (developer)
2012-09-06 08:20

Done!
(0021464)
szy (administrator)
2012-09-12 14:37

Hello Valeriu,
After the provided sample analysis I can make conclusion that your testing case can be considered as the Algorithm limitation too. The solver can't distinguish the expected face from other in Compound because many shapes in the testing case have modification 1 : 2. Attempt to filter it by neighbors also gives compound of 2 faces which all satisfy the filter criteria. See also several pictures (23119.7z) illustrating the conclusion for the case when the face 'F1_selection.png' (modified from F1.png - bottom face of the box B2) was selected, where:
'F1_selection.png' - the face which was selected;
'F1.png' - the initial face from which the selected face was modified;
'F1_mod.png' - result of initial face F1 modification => 2 faces (F1 modified to two presented faces. As result solver can't distinguish them and try to apply filter by neighbors);
'F1_sel_by_nbs.PNG' - result of 'filter' work. It is also two faces. As result solver creates Compound.
(0021476)
szy (administrator)
2012-09-13 14:24

For testing purpose the new scripts F8 & F9 from branch CR23119 should be used.
(0021478)
mkv (tester)
2012-09-13 14:56

Dear BugMaster,
Branch CR23119 (and products from GIT master) was compiled on Linux and Windows platforms and tested.

Regression:
Not detected

Improvements:
Not detected

Testing case:
caf named_shape (002) F8 - OK
caf named_shape (002) F9 - OK

- Related Changesets
occt: master efd4b232
Timestamp: 2012-09-14 13:18:59
Author: szy
Details ] Diff ]
0023119: TNaming_Selector::Solve() fails (changes from single face to compound of multiple faces)
Patch for Naming improvement.

1). Added persistence.
2). Removed not supported evolution - Replace.

Fix of QADraw commands.
Modified test case: caf named_shape F6

1). Redesigned DNaming commands: SelectShape & SolveSelection
2). Added 2 new scripts: F8 & F9

Adding test cases caf/named_shape/F8 F9
mod - src/DNaming/DNaming_SelectionCommands.cxx Diff ] File ]
mod - src/TNaming/TNaming_Name.cxx Diff ] File ]
mod - src/TNaming/TNaming_Naming.cxx Diff ] File ]
mod - tests/caf/named_shape/E1 Diff ] File ]
mod - tests/caf/named_shape/E2 Diff ] File ]
mod - tests/caf/named_shape/E3 Diff ] File ]
mod - tests/caf/named_shape/E4 Diff ] File ]
mod - tests/caf/named_shape/E5 Diff ] File ]
mod - tests/caf/named_shape/E6 Diff ] File ]
mod - tests/caf/named_shape/E7 Diff ] File ]
mod - tests/caf/named_shape/E8 Diff ] File ]
mod - tests/caf/named_shape/E9 Diff ] File ]
mod - tests/caf/named_shape/F1 Diff ] File ]
mod - tests/caf/named_shape/F2 Diff ] File ]
mod - tests/caf/named_shape/F3 Diff ] File ]
mod - tests/caf/named_shape/F4 Diff ] File ]
mod - tests/caf/named_shape/F5 Diff ] File ]
mod - tests/caf/named_shape/F6 Diff ] File ]
mod - tests/caf/named_shape/F7 Diff ] File ]
add - tests/caf/named_shape/F8 Diff ] File ]
add - tests/caf/named_shape/F9 Diff ] File ]

- Issue History
Date Modified Username Field Change
2012-04-22 18:10 Roman Lygin New Issue
2012-04-22 18:10 Roman Lygin Assigned To => szy
2012-04-22 18:10 Roman Lygin File Added: naming_test.tcl
2012-04-22 18:17 Roman Lygin File Added: naming_after_TNaming_Selector-Select()-ok.png
2012-04-22 18:17 Roman Lygin File Added: naming_after_TNaming_Selector-Solve()-fail.png
2012-04-24 08:34 abv Status new => assigned
2012-08-10 18:01 szy Note Added: 0021231
2012-08-14 16:08 szy Relationship added child of 0023205
2012-08-24 17:02 vcat Note Added: 0021333
2012-08-24 17:02 vcat File Added: OCC_NamingTest.rar
2012-08-31 18:14 szy Note Added: 0021377
2012-08-31 18:14 szy Status assigned => resolved
2012-08-31 18:16 szy Note Edited: 0021377 View Revisions
2012-08-31 18:17 szy File Added: naming_test2.tcl
2012-09-05 17:48 szy Note Added: 0021415
2012-09-05 17:48 szy Assigned To szy => vro
2012-09-05 17:48 szy Status resolved => assigned
2012-09-05 17:50 szy Status assigned => resolved
2012-09-06 08:20 vro Note Added: 0021417
2012-09-06 08:20 vro Assigned To vro => mkv
2012-09-06 08:20 vro Status resolved => reviewed
2012-09-07 10:07 bugmaster Target Version => 6.5.4
2012-09-12 14:37 szy Note Added: 0021464
2012-09-12 14:38 szy File Added: 23119.7z
2012-09-13 14:24 szy Note Added: 0021476
2012-09-13 14:56 mkv Note Added: 0021478
2012-09-13 14:58 mkv Test case number => caf named_shape (002) F8 F9
2012-09-13 14:58 mkv Assigned To mkv => bugmaster
2012-09-13 14:58 mkv Status reviewed => tested
2012-09-17 17:29 szy Changeset attached => occt master efd4b232
2012-09-17 17:33 szy Assigned To bugmaster => szy
2012-09-17 17:33 szy Status tested => verified
2012-09-17 17:33 szy Resolution open => fixed
2012-11-16 13:14 bugmaster Fixed in Version => 6.5.4
2012-11-16 13:17 bugmaster Status verified => closed


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker