View Issue Details

IDProjectCategoryView StatusLast Update
0025982Open CASCADEOCCT:Modeling Algorithmspublic2015-05-14 16:33
ReporterpkvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version6.9.0 
Target Version6.9.0Fixed in Version6.9.0 
Summary0025982: Wrong result obtained by General Fuse operator.
DescriptionWrong result obtained by General Fuse operator.
Steps To Reproduce# Use the following DRAW commands to reproduce the problem:
#
restore Human_Head_3.brep b1
tcopy b1 b2
tmirror b2 0 0 0 1 0 0
explode b1 f
explode b2 f
copy b1_4 b1
copy b2_4 b2

bclearobjects; bcleartools;
baddobjects b1
baddtools b2

bfillds

bbuild r

nbshapes r
#
# The result is:
Number of shapes in r
 VERTEX : 5
 EDGE : 7
 WIRE : 2
 FACE : 1
 SHELL : 0
 SOLID : 0
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 16
#
# but it should be:
Number of shapes in r
 VERTEX : 6
 EDGE : 11
 WIRE : 4
 FACE : 2
 SHELL : 0
 SOLID : 0
 COMPSOLID : 0
 COMPOUND : 1
 SHAPE : 24

TagsNo tags attached.
Test case numberbugs modalg_5(010) bug25982

Attached Files

  • Human_Head_3.brep (94,132 bytes)

Activities

pkv

2015-03-25 13:32

developer  

Human_Head_3.brep (94,132 bytes)

git

2015-03-25 13:54

administrator   ~0038879

Branch CR25982 has been created by pkv.

SHA-1: 1dee069608b76fdcc539613c159e0f4ad87d58e8


No new revisions were added by this update.

git

2015-03-25 13:59

administrator   ~0038880

Branch CR25982 has been updated by pkv.

SHA-1: 63e30c395dc95fe7ef0ffcf79813b4b56d85b909


Detailed log of new commits:

Author: pkv
Date: Wed Mar 25 13:59:39 2015 +0300

    0025982: Wrong result obtained by General Fuse operator.
    
    I. New features:
    I.1 class BOPTools_AlgoTools2D
    - method
    void BOPTools_AlgoTools2D::AdjustPCurveOnFace
      (const BRepAdaptor_Surface& aBAS,
       const Standard_Real aFirst,
       const Standard_Real aLast,
       const Handle(Geom2d_Curve)& aC2D,
       Handle(Geom2d_Curve)& aC2DA)
    has been added.
    The method uses the refetence to BRepAdaptor_Surface object as parameter.
    The fact allows to avoid redundant computations such as
    BRepTools::UVBounds(....)
    
    II. Changes:
    II.1. class BOPTools_AlgoTools2D
     - method:
    void BOPTools_AlgoTools2D::AdjustPCurveOnFace
      (const TopoDS_Face& aF,
       const Standard_Real aT1,
       const Standard_Real aT2,
       const Handle(Geom2d_Curve)& aC2D,
       Handle(Geom2d_Curve)& aC2DA)
     has been changed.
     The changes are to provide the consistency with I.1
    
    - method:
    void BOPTools_AlgoTools2D::MakePCurveOnFace
      (const TopoDS_Face& aF,
       const Handle(Geom_Curve)& aC3D,
       const Standard_Real aT1,
       const Standard_Real aT2,
       Handle(Geom2d_Curve)& aC2D,
       Standard_Real& TolReached2d)
     has been changed.
    The changes are to provide the consistency with I.1
    The restricted surface is used as data for the projection algorithm.
    
    III. Modified entities:
     packages:
     BOPTools

pkv

2015-03-25 14:01

developer   ~0038881

Git branch CR25982 is ready to be reviewed.

emv

2015-03-25 14:17

developer   ~0038886

Reviewed.

mkv

2015-03-27 12:21

tester   ~0038935

Dear BugMaster,
Branch CR25982 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 63e30c395dc95fe7ef0ffcf79813b4b56d85b909

Number of compiler warnings:

occt component :
Linux: 18 (18 on master)
Windows: 0 (0 on master)

products component :
Linux: 11 (11 on master)
Windows: 4 (4 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests/CR25982-master-occt-64/Debian60-64/bugs/modalg_5/bug25982.html
http://occt-tests/CR25982-master-occt-64/Windows-64-VC10/bugs/modalg_5/bug25982.html
bugs modalg_5(010) bug25982: OK

Testing on Linux:
occt component :
Total MEMORY difference: 87782437 / 88569434 [-0.89%]
Total CPU difference: 53407.14999999979 / 53186.30000000024 [+0.42%]
products component :
Total MEMORY difference: 23100423 / 23181144 [-0.35%]
Total CPU difference: 15264.74999999997 / 16212.989999999974 [-5.85%]

Testing on Windows:
occt component :
otal MEMORY difference: 21379992 / 21297719 [+0.39%]
Total CPU difference: 8310.578872599783 / 8208.289016899773 [+1.25%]
products component :
Total MEMORY difference: 10688143 / 10694017 [-0.05%]
Total CPU difference: 4797.046350099985 / 4983.436344899972 [-3.74%]

There are no differences in images found by testdiff.

git

2015-03-27 12:22

administrator   ~0038936

Branch CR25982 has been updated by mkv.

SHA-1: cbdce0f5e2b34d3b9b7835387e03e4c525de97aa


Detailed log of new commits:

Author: mkv
Date: Fri Mar 27 12:20:29 2015 +0300

    Test case for CR25982

mkv

2015-03-27 12:22

tester   ~0038937

Dear pkv,
could you please review test case
bugs modalg_5(010) bug25982

pkv

2015-03-27 12:44

developer   ~0038938

test case
bugs modalg_5(010) bug25982
is OK.

git

2015-05-14 16:33

administrator   ~0041048

Branch CR25982 has been deleted by inv.

SHA-1: cbdce0f5e2b34d3b9b7835387e03e4c525de97aa

Related Changesets

occt: master fd372378

2015-04-02 11:31:51

pkv


Committer: bugmaster Details Diff
0025982: Wrong result obtained by General Fuse operator.

New features:
class BOPTools_AlgoTools2D
- method
void BOPTools_AlgoTools2D::AdjustPCurveOnFace
(const BRepAdaptor_Surface& aBAS,
const Standard_Real aFirst,
const Standard_Real aLast,
const Handle(Geom2d_Curve)& aC2D,
Handle(Geom2d_Curve)& aC2DA)
has been added.
The method uses the refetence to BRepAdaptor_Surface object as parameter.
The fact allows to avoid redundant computations such as
BRepTools::UVBounds(....)

Changes:
class BOPTools_AlgoTools2D
- method:
void BOPTools_AlgoTools2D::AdjustPCurveOnFace
(const TopoDS_Face& aF,
const Standard_Real aT1,
const Standard_Real aT2,
const Handle(Geom2d_Curve)& aC2D,
Handle(Geom2d_Curve)& aC2DA)
has been changed.
The changes are to provide the consistency with I.1

- method:
void BOPTools_AlgoTools2D::MakePCurveOnFace
(const TopoDS_Face& aF,
const Handle(Geom_Curve)& aC3D,
const Standard_Real aT1,
const Standard_Real aT2,
Handle(Geom2d_Curve)& aC2D,
Standard_Real& TolReached2d)
has been changed.
The changes are to provide the consistency with I.1
The restricted surface is used as data for the projection algorithm.

Test case for CR25982
Affected Issues
0025982
mod - src/BOPTools/BOPTools.cdl Diff File
mod - src/BOPTools/BOPTools_AlgoTools2D.cdl Diff File
mod - src/BOPTools/BOPTools_AlgoTools2D.cxx Diff File
add - tests/bugs/modalg_5/bug25982 Diff File

Issue History

Date Modified Username Field Change
2015-03-25 13:32 pkv New Issue
2015-03-25 13:32 pkv Assigned To => msv
2015-03-25 13:32 pkv File Added: Human_Head_3.brep
2015-03-25 13:33 pkv Assigned To msv => pkv
2015-03-25 13:33 pkv Status new => assigned
2015-03-25 13:54 git Note Added: 0038879
2015-03-25 13:59 git Note Added: 0038880
2015-03-25 14:00 pkv Status assigned => resolved
2015-03-25 14:01 pkv Note Added: 0038881
2015-03-25 14:01 pkv Assigned To pkv => emv
2015-03-25 14:17 emv Note Added: 0038886
2015-03-25 14:17 emv Assigned To emv => mkv
2015-03-25 14:17 emv Status resolved => reviewed
2015-03-27 12:21 mkv Note Added: 0038935
2015-03-27 12:22 git Note Added: 0038936
2015-03-27 12:22 mkv Note Added: 0038937
2015-03-27 12:22 mkv Assigned To mkv => pkv
2015-03-27 12:22 mkv Status reviewed => feedback
2015-03-27 12:22 mkv Test case number => bugs modalg_5(010) bug25982
2015-03-27 12:44 pkv Note Added: 0038938
2015-03-27 12:45 pkv Assigned To pkv => mkv
2015-03-27 12:45 pkv Status feedback => reviewed
2015-03-31 11:40 mkv Assigned To mkv => bugmaster
2015-03-31 11:40 mkv Status reviewed => tested
2015-04-07 16:08 bugmaster Changeset attached => occt master fd372378
2015-04-07 16:08 bugmaster Status tested => verified
2015-04-07 16:08 bugmaster Resolution open => fixed
2015-05-14 15:28 aiv Status verified => closed
2015-05-14 15:31 aiv Fixed in Version => 6.9.0
2015-05-14 16:33 git Note Added: 0041048