View Issue Details

IDProjectCategoryView StatusLast Update
0026393Open CASCADEOCCT:Modeling Algorithmspublic2015-10-23 20:50
ReporteragvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2013 
Product Version6.9.0 
Target Version6.9.1Fixed in Version6.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 Files

  • modif.cmd.gz (1,531 bytes)
  • w.brep (944 bytes)
  • v1.brep (238 bytes)
  • v2.brep (240 bytes)

Activities

agv

2015-07-02 18:36

developer  

modif.cmd.gz (1,531 bytes)

msv

2015-07-02 19:11

developer   ~0042689

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.

emv

2015-07-03 08:25

developer   ~0042694

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.

emv

2015-07-03 08:34

developer   ~0042695

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.

msv

2015-07-03 09:47

developer   ~0042696

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.

emv

2015-07-03 09:58

developer   ~0042697

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

msv

2015-07-03 10:38

developer   ~0042700

Is this behavior for 6.9.0 version the same as for master?

agv

2015-07-03 11:43

developer   ~0042701

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.

emv

2015-07-03 11:55

developer   ~0042702

The behavior is the same in master and in OCCT 6.9.0.

msv

2015-07-03 12:16

developer   ~0042704

So, the goal of this issue is changed.

git

2015-07-08 12:07

administrator   ~0042820

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.

emv

2015-07-08 12:10

developer   ~0042821

I have implemented the history commands to track the shapes modifications.
Mikhail, please review the git branch CR26393.

msv

2015-07-08 12:55

developer   ~0042823

Reviewed.

emv

2015-07-09 14:44

developer   ~0042863

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.

emv

2015-07-09 14:45

developer  

w.brep (944 bytes)

emv

2015-07-09 14:45

developer  

v1.brep (238 bytes)

emv

2015-07-09 14:45

developer  

v2.brep (240 bytes)

git

2015-07-09 16:21

administrator   ~0042874

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

apv

2015-07-09 16:51

tester   ~0042875

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%]

git

2015-08-14 10:56

administrator   ~0044198

Branch CR26393 has been deleted by inv.

SHA-1: ebccc952f251dcd606640093e876767a6cec0f24

Related Changesets

occt: master a493b4a1

2015-07-28 08:44:27

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
Affected Issues
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
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