MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0026393Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2015-07-02 18:362015-10-23 20:50
Reporteragv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformWindowsOSVC++ 2013OS Version32 bit
Product Version[OCCT] 6.9.0 
Target Version[OCCT] 6.9.1Fixed in Version[OCCT] 6.9.1 
Summary0026393: Add draw commands to evaluate history of modifications of BOP
DescriptionA wire is split by 2 vertices, for that all 3 shapes are loaded to BOPAlgo_Builder instance. The result is correct (edges split in proper places), however it is impossible to obtain the history of operation. Method Modified() returns empty result for each of the original vertices.
Steps To ReproduceThe attached file is a self-compiling batch file for Visual Stusio 2013 (the variable CASROOT should be customized in its top). When executed, it runs the DRAW command "modifByVertex", actually with the output:

Created a wire "w0" with 5 edges
Created 2 vertices: "v0" and "v1"
Result of splitting "res" with 7 edges
Modified for "v0" : 0 shapes
Modified for "v1" : 0 shapes

Correct behaviour should return "1 shape" in the last two lines.
Alternatively you can copy-paste the method "static int modify()" to your C++ project and rebuild it as DRAW command.


To reproduce with DRAW:
restore w.brep w
restore v1.brep v0
restore v2.brep v1
bclearobjects
bcleartools
baddobjects w
baddtools v0 v1
bfillds
bbuild r

bmodified v0m v0
# The shape has not been modified
bmodified v1m v1
# The shape has not been modified

bisdeleted v0
# Not deleted
bisdeleted v1
# Not deleted

explode w e
bmodified w1m w_1
nbshapes w1m
# 2 edges

bisdeleted w_1
Not deleted

bmodified w2m w_2
# The shape has not been modified

bisdeleted w_2
# Not deleted

bmodified w3m w_3
# The shape has not been modified

bisdeleted w_3
# Not deleted

bmodified w4m w_4
# 2 edges

bisdeleted w_4
# Not deleted

bmodified w5m w_5
# The shape has not been modified

bisdeleted w_5
# Not deleted
TagsNo tags attached.
Test case numberbugs modalg_6 bug26393
Attached Filesgz file icon modif.cmd.gz (1,531 bytes) 2015-07-02 18:36
? file icon w.brep (944 bytes) 2015-07-09 14:45
? file icon v1.brep (238 bytes) 2015-07-09 14:45
? file icon v2.brep (240 bytes) 2015-07-09 14:45

- Relationships

-  Notes
(0042689)
msv (developer)
2015-07-02 19:11

Eugeny, I propose to add new draw command bmodified that should create draw shapes from the result of Modified() call and put their names to output. It is to work with builder used in the command bbuild.
(0042694)
emv (developer)
2015-07-03 08:25

Mikhail, I agree about the DRAW command bmodified. I think it is necessary to create also the commands to track other history information of General Fuse or BOP operations such as IsDeleted() and Generated() - bisdeleted and bgenerated commands.
As for the result of the Modified() for the vertices in this case it is correct. The vertices have not been modified during General Fuse operation. To obtain the history information for these vertices it is also necessary to call IsDeleted() method for them to check if they are contained in the result. If the result of Modified() is empty and IsDeleted() returns false then the shape wasn't modified and contained in the result itself.
(0042695)
emv (developer)
2015-07-03 08:34

But please note, that it is planed to create new vertices in case of Vertex/Edge interferences (actually, it is planed to create new shapes in case of any Interferences). Then the behavior of the Modified() method will be as expected, i.e. it will return "1 shape" for the vertices.
(0042696)
msv (developer)
2015-07-03 09:47

Eugeny, Alexander showed me that in this case new vertices are created but Modified returns 0. So, may be we have a bug to be fixed.
(0042697)
emv (developer)
2015-07-03 09:58

I cannot see why new vertices should be created. The following DRAW script shows that the result contains the original vertices:

Draw[17]> modifByVertex

Created a wire "w0" with 5 edges
Created 2 vertices: "v0" and "v1"
Result of splitting "res" with 7 edges
Modified for "v0" : 0 shapes
Modified for "v1" : 0 shapes
Draw[18]> explode res v
res_1 res_2 res_3 res_4 res_5 res_6 res_7 res_8
Draw[19]> compare res_1 v0
 same shapes
 equal shapes

Draw[20]> compare res_2 v1
 same shapes
 equal shapes
(0042700)
msv (developer)
2015-07-03 10:38

Is this behavior for 6.9.0 version the same as for master?
(0042701)
agv (developer)
2015-07-03 11:43

Right you are, the original vertices can be found in the result of the Builder.
Thus the behaviour in OCCT 6.9.0 is correct.
(0042702)
emv (developer)
2015-07-03 11:55

The behavior is the same in master and in OCCT 6.9.0.
(0042704)
msv (developer)
2015-07-03 12:16

So, the goal of this issue is changed.
(0042820)
git (administrator)
2015-07-08 12:07

Branch CR26393 has been created by emv.

SHA-1: c5fc8eed4e6cc0ff1f6ca18492a1e88991aea8b4


Detailed log of new commits:

Author: emv
Date: Wed Jul 8 12:07:10 2015 +0300

    0026393: Add draw commands to evaluate history of modifications of BOP
    
    DRAW commands bmodified, bisdeleted, bgenerated have been implemented to track
    the history of shapes modifications in Boolean and General Fuse operations.
(0042821)
emv (developer)
2015-07-08 12:10

I have implemented the history commands to track the shapes modifications.
Mikhail, please review the git branch CR26393.
(0042823)
msv (developer)
2015-07-08 12:55

Reviewed.
(0042863)
emv (developer)
2015-07-09 14:44

I have updated the Steps To Reproduce section to show the usage of the new commands on the shapes saved after modifByVertex command. Using these commands we can see that the vertices have not been modified in the operation and not removed from the result.
(0042874)
git (administrator)
2015-07-09 16:21

Branch CR26393 has been updated by apv.

SHA-1: ebccc952f251dcd606640093e876767a6cec0f24


Detailed log of new commits:

Author: apv
Date: Thu Jul 9 16:21:39 2015 +0300

    Test-case for issue 0026393

(0042875)
apv (tester)
2015-07-09 16:51

Dear BugMaster,

Branch CR26393 from occt git-repository (and master from products git-repository) was compiled on Linux and Windows platforms and tested.
SHA-1: c5fc8eed4e6cc0ff1f6ca18492a1e88991aea8b4

Number of compiler warnings:
occt component:
   Linux: 25 (25 on master)
   Windows: 0 (0 on master)
products component:
   Linux: 37 (37 on master)
   Windows: 0 (0 on master)

Regressions/Differences:
Not detected

Testing cases:
bugs modalg_6 bug26393 - OK
http://occt-tests/CR26393-master-occt-64/Debian70-64/bugs/modalg_6/bug26393.html [^]
http://occt-tests/CR26393-master-occt-64/Windows-64-VC10/bugs/modalg_6/bug26393.html [^]

Testing on Linux:
Total MEMORY difference: 95780954 / 96865577 [-1.12%]
Total CPU difference: 17383.439999999984 / 17608.799999999763 [-1.28%]

Testing on Windows:
Total MEMORY difference: 56480224 / 56551852 [-0.13%]
Total CPU difference: 16160.517992398907 / 15954.72147319893 [+1.29%]
(0044198)
git (administrator)
2015-08-14 10:56

Branch CR26393 has been deleted by inv.

SHA-1: ebccc952f251dcd606640093e876767a6cec0f24

- Related Changesets
occt: master a493b4a1
Timestamp: 2015-07-28 08:44:27
Author: emv
Committer: bugmaster
Details ] Diff ]
0026393: Add draw commands to evaluate history of modifications of BOP

DRAW commands bmodified, bisdeleted, bgenerated have been implemented to track
the history of shapes modifications in Boolean and General Fuse operations.

Test-case for issue 0026393
mod - src/BOPTest/BOPTest.cxx Diff ] File ]
mod - src/BOPTest/BOPTest.hxx Diff ] File ]
add - src/BOPTest/BOPTest_HistoryCommands.cxx Diff ] File ]
mod - src/BOPTest/BOPTest_PartitionCommands.cxx Diff ] File ]
mod - src/BOPTest/FILES Diff ] File ]
add - tests/bugs/modalg_6/bug26393 Diff ] File ]

- Issue History
Date Modified Username Field Change
2015-07-02 18:36 agv New Issue
2015-07-02 18:36 agv Assigned To => msv
2015-07-02 18:36 agv File Added: modif.cmd.gz
2015-07-02 19:11 msv Note Added: 0042689
2015-07-02 19:11 msv Assigned To msv => emv
2015-07-02 19:11 msv Status new => assigned
2015-07-02 19:11 msv Target Version 7.0.0 => 7.1.0
2015-07-03 08:25 emv Note Added: 0042694
2015-07-03 08:34 emv Note Added: 0042695
2015-07-03 09:47 msv Note Added: 0042696
2015-07-03 09:58 emv Note Added: 0042697
2015-07-03 10:38 msv Note Added: 0042700
2015-07-03 11:43 agv Note Added: 0042701
2015-07-03 11:55 emv Note Added: 0042702
2015-07-03 12:16 msv Note Added: 0042704
2015-07-03 12:16 msv Summary Empty result of BOPAlgo_Builder::Modified() => Add draw commands to evaluate history of modifications of BOP
2015-07-08 12:07 git Note Added: 0042820
2015-07-08 12:10 emv Note Added: 0042821
2015-07-08 12:10 emv Assigned To emv => msv
2015-07-08 12:10 emv Status assigned => resolved
2015-07-08 12:55 msv Note Added: 0042823
2015-07-08 12:55 msv Assigned To msv => bugmaster
2015-07-08 12:55 msv Status resolved => reviewed
2015-07-08 16:57 apv Assigned To bugmaster => apv
2015-07-09 14:44 emv Note Added: 0042863
2015-07-09 14:44 emv Steps to Reproduce Updated View Revisions
2015-07-09 14:45 emv File Added: w.brep
2015-07-09 14:45 emv File Added: v1.brep
2015-07-09 14:45 emv File Added: v2.brep
2015-07-09 16:21 git Note Added: 0042874
2015-07-09 16:22 apv Test case number => bugs modalg_6 bug26393
2015-07-09 16:51 apv Note Added: 0042875
2015-07-09 16:51 apv Assigned To apv => bugmaster
2015-07-09 16:51 apv Status reviewed => tested
2015-07-31 12:31 bugmaster Changeset attached => occt master a493b4a1
2015-07-31 12:31 bugmaster Status tested => verified
2015-07-31 12:31 bugmaster Resolution open => fixed
2015-07-31 14:44 bugmaster Target Version 7.1.0 => 7.0.0
2015-08-14 10:56 git Note Added: 0044198
2015-08-26 11:04 abv Target Version 7.0.0 => 6.9.1
2015-10-16 14:56 aiv Status verified => closed
2015-10-23 20:50 aiv Fixed in Version => 6.9.1


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker