Archived issue #0025242
Wrong result of cut operation.
Description
Wrong result of cut operation.
The cut operation performed with solids provides incorrect result.
The cut operation performed with solids provides incorrect result.
Steps to reproduce
# Use the following DRAW commands to reproduce the problem:
box a 0 0 0 10 10 10
box b 20 0 0 10 10 10
bfuse r0 a b
bcut r1 r0 a
nbshapes r1
#------------------
# The result (nbshapes r1)
Number of shapes in r1
VERTEX : 16
EDGE : 24
WIRE : 12
FACE : 12
SHELL : 2
SOLID : 2
COMPSOLID : 0
COMPOUND : 1
SHAPE : 69
# but it should be:
Number of shapes in r1
VERTEX : 8
EDGE : 12
WIRE : 6
FACE : 6
SHELL : 1
SOLID : 1
COMPSOLID : 0
COMPOUND : 1
SHAPE : 35
box a 0 0 0 10 10 10
box b 20 0 0 10 10 10
bfuse r0 a b
bcut r1 r0 a
nbshapes r1
#------------------
# The result (nbshapes r1)
Number of shapes in r1
VERTEX : 16
EDGE : 24
WIRE : 12
FACE : 12
SHELL : 2
SOLID : 2
COMPSOLID : 0
COMPOUND : 1
SHAPE : 69
# but it should be:
Number of shapes in r1
VERTEX : 8
EDGE : 12
WIRE : 6
FACE : 6
SHELL : 1
SOLID : 1
COMPSOLID : 0
COMPOUND : 1
SHAPE : 35
Public activity
9 archived notes
Participants are labeled by their role within this record.
Branch [archived branch] has been created by Author.
[revision removed]
No new revisions were added by this update.
[revision removed]
No new revisions were added by this update.
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue Sep 16 14:22:55 2014 +0400
v1.0
I. New features:
no new features
II. Changes:
II.1. class BOPDS_Iterator
method:
void BOPDS_Iterator::Intersect()
The ttreatment of solid/* interferences has been added.
II.2 class BOPAlgo_PaveFiller
protected methods:
void BOPAlgo_PaveFiller::PerformVZ()
void BOPAlgo_PaveFiller::PerformEZ()
void BOPAlgo_PaveFiller::PerformFZ()
void BOPAlgo_PaveFiller::PerformZZ()
has been added.
The methods are to Compute
Vertex/Solid
Edge/Solid
Face/Solid
Solid/Solid
interferences.
II.3 class BOPAlgo_PaveFiller
protected method:
void BOPAlgo_PaveFiller::PerformFF()
Empty interferences has not been added in the interferences' table
II.4. class BOPAlgo_CheckerSI
protected methods:
void BOPAlgo_CheckerSI::PerformVZ()
void BOPAlgo_CheckerSI:PerformEZ()
void BOPAlgo_CheckerSI::PerformFZ()
void BOPAlgo_CheckerSI::PerformZZ()
has been removed.
II.5. class BOPAlgo_BOP
protected method:
void BOPAlgo_BOP::BuildRC()
void BOPAlgo_BOP::BuildSolid()
changed to treat non-interferred solids and keep it in the result as they were
III. Modified entities:
packages:
BOPAlgo
BOPDS
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue Sep 16 14:22:55 2014 +0400
v1.0
I. New features:
no new features
II. Changes:
II.1. class BOPDS_Iterator
method:
void BOPDS_Iterator::Intersect()
The ttreatment of solid/* interferences has been added.
II.2 class BOPAlgo_PaveFiller
protected methods:
void BOPAlgo_PaveFiller::PerformVZ()
void BOPAlgo_PaveFiller::PerformEZ()
void BOPAlgo_PaveFiller::PerformFZ()
void BOPAlgo_PaveFiller::PerformZZ()
has been added.
The methods are to Compute
Vertex/Solid
Edge/Solid
Face/Solid
Solid/Solid
interferences.
II.3 class BOPAlgo_PaveFiller
protected method:
void BOPAlgo_PaveFiller::PerformFF()
Empty interferences has not been added in the interferences' table
II.4. class BOPAlgo_CheckerSI
protected methods:
void BOPAlgo_CheckerSI::PerformVZ()
void BOPAlgo_CheckerSI:PerformEZ()
void BOPAlgo_CheckerSI::PerformFZ()
void BOPAlgo_CheckerSI::PerformZZ()
has been removed.
II.5. class BOPAlgo_BOP
protected method:
void BOPAlgo_BOP::BuildRC()
void BOPAlgo_BOP::BuildSolid()
changed to treat non-interferred solids and keep it in the result as they were
III. Modified entities:
packages:
BOPAlgo
BOPDS
The Branch CR25242 is ready to be reviewed.
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Reviewed, please test.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated by Participant.
[revision removed]
Detailed log of new commits:
Author: apv
Date: Mon Sep 22 14:24:41 2014 +0400
Test case for issue #0025242
[revision removed]
Detailed log of new commits:
Author: apv
Date: Mon Sep 22 14:24:41 2014 +0400
Test case for issue #0025242
Dear Commenter 1,
Branch CR25242 (and products from GIT master) was compiled on Linux, Windows and MacOS platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 15 (15 on master)
Windows: 0 (0 on master)
MacOS: 193 (193 on master)
products component:
Linux: 11 (11 on master)
Windows: 1 (1 on master)
Regressions/Differences:
Not detected
Testing case:
bugs modalg_5(010) bug25242 - OK
http://occt-tests/CR25242-master-occt/Debian60-64/bugs/modalg_5/bug25242.html
http://occt-tests/CR25242-master-occt/Windows-32-VC10/bugs/modalg_5/bug25242.html
Testing on Linux:
Total MEMORY difference: 355925324 / 355467380
Total CPU difference: 46532.18000000008 / 44818.84000000009
Testing on Windows:
Total MEMORY difference: 243247036 / 242145384
Total CPU difference: 40061.234375 / 34260.015625
Branch CR25242 (and products from GIT master) was compiled on Linux, Windows and MacOS platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 15 (15 on master)
Windows: 0 (0 on master)
MacOS: 193 (193 on master)
products component:
Linux: 11 (11 on master)
Windows: 1 (1 on master)
Regressions/Differences:
Not detected
Testing case:
bugs modalg_5(010) bug25242 - OK
http://occt-tests/CR25242-master-occt/Debian60-64/bugs/modalg_5/bug25242.html
http://occt-tests/CR25242-master-occt/Windows-32-VC10/bugs/modalg_5/bug25242.html
Testing on Linux:
Total MEMORY difference: 355925324 / 355467380
Total CPU difference: 46532.18000000008 / 44818.84000000009
Testing on Windows:
Total MEMORY difference: 243247036 / 242145384
Total CPU difference: 40061.234375 / 34260.015625
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]