View Issue Details

IDProjectCategoryView StatusLast Update
0030346Open CASCADEOCCT:Modeling Algorithmspublic2019-10-07 08:13
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version5.0.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0030346: Modeling Algorithms - BRepPrimAPI_MakeRevol throws "BRepSweep_Translation::MakeEmptyVertex"
DescriptionTest case bugs/moddata_2/bug65 throws "BRepSweep_Translation::MakeEmptyVertex" exception within BRepSweep_Rotation::MakeEmptyVertex() method when exceptions are preserved (DEBUG build or No_Exception undefined).

Although #0000065 specifies, that the original issue will NOT be fixed,
it doesn't look reasonable keeping a broken test case in OCCT.
Either, the bug should be fixed, or test case removed / adopted.

Notice also a misprint in exception text specifying wrong class name, which should be also corrected:
TopoDS_Shape  BRepSweep_Rotation::MakeEmptyVertex
  (const TopoDS_Shape& aGenV, 
   const Sweep_NumShape& aDirV)
{
  //call only in construction mode with copy.
  Standard_ConstructionError_Raise_if
    (!myCopy,"BRepSweep_Translation::MakeEmptyVertex");


Really, problem (exception) occurs during history building and was caused by an attempt to obtain generated shape for subshape, which was really "deleted" by algorithm - this input subshape and its possible generated shape was not used in result.
To remove exception it is necessary to treat correctly "deleted" shapes in history - to add standard method "IsDeleted(...)" for rotation and translation algorithms.
Steps To Reproducebugs moddata_2 bug65
bugs modalg_7 bug30346_1
bugs modalg_7 bug30346_2
TagsNo tags attached.
Test case numberbugs/modalg_7/bug30346_1, bugs/modalg_7/bug30346_2

Relationships

related to 0031031 closedapn Community Incorrect result is returned from BRepPrimAPI_MakePrism::Generated() 

Activities

msv

2018-11-06 18:32

developer   ~0080788

I propose to eliminate exception in the method MakeEmptyVertex() in both classes BRepSweep_Translation and BRepSweep_Rotation.

msv

2018-11-06 18:33

developer   ~0080789

Dear Igor, what is your opinion?

ifv

2018-11-15 08:49

developer   ~0081101

I agree with you

msv

2018-11-15 09:27

developer   ~0081103

Please do it.

git

2018-12-21 11:38

administrator   ~0081582

Branch CR30346 has been created by ifv.

SHA-1: 8e30c2e11942b4a1a83b882783f2ef743013cce7


Detailed log of new commits:

Author: ifv
Date: Mon Dec 10 15:48:55 2018 +0300

    0030346: Modeling Algorithms - BRepPrimAPI_MakeRevol throws "BRepSweep_Translation::MakeEmptyVertex"
    
    Implementation of method "IsDeleted(...)" for MakeRevol and MakePrism algorithms

git

2018-12-25 15:24

administrator   ~0081622

Branch CR30346 has been updated forcibly by ifv.

SHA-1: 411a60079618d89f457257c180bf60ebb2c3c791

ifv

2018-12-27 10:45

developer   ~0081636

Branch CR30346 is reday for review.
Test results: CR30346-master-IFV

msv

2018-12-27 11:55

developer   ~0081640

I see no relation between planned fix:

> eliminate exception in the method MakeEmptyVertex() in both classes
> BRepSweep_Translation and BRepSweep_Rotation

and the done fix:

> Implementation of method "IsDeleted(...)" for MakeRevol and
> MakePrism algorithms).

What is about the initial bug?

More remarks:

src/BRepSweep/BRepSweep_Prism.hxx
- 87: description of the method GenIsUsed() seams to be not correct in compare with BRepSweep_NumLinearRegularSweep, which implementation is called.

src/BRepSweep/BRepSweep_Prism.cxx
- 199: the method GenIsUsed is commented as IsBuilt.

src/BRepSweep/BRepSweep_NumLinearRegularSweep.cxx
- 525,576: protect against exception if iGenS==0.

msv

2018-12-27 12:03

developer   ~0081641

The test bugs/moddata_2/bug65 is still bad. Can we adopt it to make it good?
Checkshape reports error that the second shell in the result is empty. May be it is needed not to pass the second shape (wire) of the initial shape to the revol algorithm?

git

2018-12-28 11:24

administrator   ~0081646

Branch CR30346 has been updated forcibly by ifv.

SHA-1: 1f294967a0733c33ad4510c6804d7aee92098f2d

ifv

2018-12-28 11:29

developer   ~0081647

CR30346 is updated

Problem (exception) occurs during history building and was caused by an attempt to obtain generated shape for subshape, which was really "deleted" by algorithm - this input subshape and its possible generated shape was not used in result.

msv

2018-12-28 11:51

developer   ~0081648

Reviewed.

bugmaster

2018-12-28 15:52

administrator   ~0081649

Combination -
OCCT branch : CR30346 SHA - 411a60079618d89f457257c180bf60ebb2c3c791
Products branch : master SHA - 4b92b1495aa4777a767cfbc88afc00a4e9fb1b5f
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 16357.570000000016 / 16359.79999999999 [-0.01%]
Products
Total CPU difference: 7164.300000000043 / 7165.4900000000225 [-0.02%]
Windows-64-VC14:
OCCT
Total CPU difference: 17796.953125 / 17811.34375 [-0.08%]
Products
Total CPU difference: 8607.125 / 8697.84375 [-1.04%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2018-12-30 14:58

administrator   ~0081658

Branch CR30346 has been deleted by inv.

SHA-1: 1f294967a0733c33ad4510c6804d7aee92098f2d

Related Changesets

occt: master 80eeb3ce

2018-12-10 12:48:55

ifv


Committer: bugmaster Details Diff
0030346: Modeling Algorithms - BRepPrimAPI_MakeRevol throws "BRepSweep_Translation::MakeEmptyVertex"

Implementation of method "IsDeleted(...)" for MakeRevol and MakePrism algorithms.

Problem (exception) occurs during history building and was caused by an attempt to obtain generated shape for subshape, which was really "deleted" by algorithm - this input subshape and its possible generated shape was not used in result.
Affected Issues
0030346
mod - src/BRepPrimAPI/BRepPrimAPI_MakePrism.cxx Diff File
mod - src/BRepPrimAPI/BRepPrimAPI_MakePrism.hxx Diff File
mod - src/BRepPrimAPI/BRepPrimAPI_MakeRevol.cxx Diff File
mod - src/BRepPrimAPI/BRepPrimAPI_MakeRevol.hxx Diff File
mod - src/BRepSweep/BRepSweep_NumLinearRegularSweep.cxx Diff File
mod - src/BRepSweep/BRepSweep_NumLinearRegularSweep.hxx Diff File
mod - src/BRepSweep/BRepSweep_Prism.cxx Diff File
mod - src/BRepSweep/BRepSweep_Prism.hxx Diff File
mod - src/BRepSweep/BRepSweep_Revol.cxx Diff File
mod - src/BRepSweep/BRepSweep_Revol.hxx Diff File
mod - src/BRepSweep/BRepSweep_Rotation.cxx Diff File
mod - src/BRepTest/BRepTest_SweepCommands.cxx Diff File
add - tests/bugs/modalg_7/bug30346_1 Diff File
add - tests/bugs/modalg_7/bug30346_2 Diff File
mod - tests/bugs/moddata_2/bug65 Diff File

Issue History

Date Modified Username Field Change
2018-11-06 18:04 kgv New Issue
2018-11-06 18:04 kgv Assigned To => msv
2018-11-06 18:05 kgv Product Version 7.3.0 => 5.0.0
2018-11-06 18:32 msv Note Added: 0080788
2018-11-06 18:33 msv Note Added: 0080789
2018-11-06 18:33 msv Assigned To msv => ifv
2018-11-06 18:33 msv Status new => feedback
2018-11-15 08:48 ifv Assigned To ifv => msv
2018-11-15 08:49 ifv Note Added: 0081101
2018-11-15 09:27 msv Note Added: 0081103
2018-11-15 09:27 msv Assigned To msv => ifv
2018-11-15 09:27 msv Status feedback => assigned
2018-12-21 11:38 git Note Added: 0081582
2018-12-25 15:24 git Note Added: 0081622
2018-12-27 10:45 ifv Note Added: 0081636
2018-12-27 10:45 ifv Assigned To ifv => msv
2018-12-27 10:45 ifv Status assigned => resolved
2018-12-27 10:45 ifv Steps to Reproduce Updated
2018-12-27 11:55 msv Note Added: 0081640
2018-12-27 11:55 msv Assigned To msv => ifv
2018-12-27 11:55 msv Status resolved => assigned
2018-12-27 12:03 msv Note Added: 0081641
2018-12-28 11:24 git Note Added: 0081646
2018-12-28 11:29 ifv Note Added: 0081647
2018-12-28 11:29 ifv Assigned To ifv => msv
2018-12-28 11:29 ifv Status assigned => resolved
2018-12-28 11:34 ifv Description Updated
2018-12-28 11:51 msv Note Added: 0081648
2018-12-28 11:51 msv Assigned To msv => bugmaster
2018-12-28 11:51 msv Status resolved => reviewed
2018-12-28 15:52 bugmaster Note Added: 0081649
2018-12-28 15:52 bugmaster Status reviewed => tested
2018-12-28 15:53 bugmaster Test case number => bugs/modalg_7/bug30346_1, bugs/modalg_7/bug30346_2
2018-12-30 14:54 bugmaster Changeset attached => occt master 80eeb3ce
2018-12-30 14:54 bugmaster Status tested => verified
2018-12-30 14:54 bugmaster Resolution open => fixed
2018-12-30 14:58 git Note Added: 0081658
2019-10-07 08:13 emv Relationship added related to 0031031