View Issue Details

IDProjectCategoryView StatusLast Update
0029586Open CASCADEOCCT:Modeling Algorithmspublic2018-06-23 13:56
ReporteremvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.2.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0029586: Revolution creates solid with degenerated edges shared among faces
DescriptionBRepPrimAPI_MakeRevol creates the solid with degenerated edges shared among faces. But, each face should have its own degenerated edges.

The problem has been discovered while working on the issue #29580 in the test case boolean gdml_public A9.
Steps To ReproduceTest case "bugs modalg_7 bug29586"

TagsNo tags attached.
Test case numberbugs modalg_7 bug29586

Activities

git

2018-03-23 13:46

administrator   ~0074820

Branch CR29586 has been created by ifv.

SHA-1: 47498f3ff81b6107f1e32b2b435f26db46e27033


Detailed log of new commits:

Author: ifv
Date: Fri Mar 23 11:33:27 2018 +0300

    0029586: Revolution creates solid with degenerated edges shared among faces
    
    Substitution of degenerated edges by their copies is implemented to make edges not shared
    Test case is added

git

2018-03-23 15:36

administrator   ~0074832

Branch CR29586 has been updated forcibly by ifv.

SHA-1: 62865f2ecd12b56c22538b4e89299e0364f2e36f

ifv

2018-03-23 17:00

developer   ~0074834

Branch CR29586 is ready for review
test results is CR29586-master-IFV

abv

2018-03-24 09:03

manager   ~0074837

Last edited: 2018-03-24 10:20

Igor, may you please add comments in the code to explain what is its purpose? In this patch I see quite a lot of new code (seemingly duplicated) but no comments. Adding just a short comment on the purpose of the code block (perhaps with reference to issue) could make a life of any developer dealing with it in the future much easier.

msv

2018-03-27 10:28

developer   ~0074946

Please consider making the fix at the level of BRepSweep_Revol.

git

2018-03-30 17:33

administrator   ~0075076

Branch CR29586_1 has been created by ifv.

SHA-1: cdce2dc7d24f83285a64957d4515dc8f0b6bc401


Detailed log of new commits:

Author: ifv
Date: Fri Mar 30 17:25:41 2018 +0300

    0029586: Revolution creates solid with degenerated edges shared among faces
    
    Different copies of initial degenerated edge are used for different faces in BRepSweep/BRepSweep_NumLinearRegularSweep.cxx
    Method BRepPrimAPI_MakeRevol::Generated(...) is modified.

ifv

2018-04-02 11:44

developer   ~0075098

Branch CR29586_1 is ready for review.
Test results are CR29586-master-ifv

msv

2018-04-02 17:44

developer   ~0075119

Test results in CR29586-master-ifv are not actual, as they were got on the branch CR29586 instead of CR29586_1.
I have restarted tests with proper parameters.

msv

2018-04-02 18:28

developer   ~0075125

Remarks:

src/BRepSweep/BRepSweep_NumLinearRegularSweep.cxx
- 420: aCopyE is forward edge, but anIt.Value() is a vertex got from oriented shape myShapes(iGenS, iDirS). It seems we should iterate on forwarded myShapes(iGenS, iDirS).

msv

2018-04-02 19:10

developer   ~0075132

The new tests show regressions.

git

2018-04-06 17:31

administrator   ~0075220

Branch CR29586 has been updated forcibly by ifv.

SHA-1: 70835d63468bc3137c750ef596990a6220b3c972

git

2018-04-09 16:58

administrator   ~0075247

Branch CR29586 has been updated forcibly by ifv.

SHA-1: 44ed14ba6fef151fddab7ad38cf2c34ffe0e41c7

ifv

2018-04-10 10:59

developer   ~0075259

Branch CR29586 is ready for review.
Test results are on CR29586-master-IFV

msv

2018-04-10 16:32

developer   ~0075278

Remarks:

src/BRepPrimAPI/BRepPrimAPI_MakeRevol.cxx
- 138: use const&
- 145: use method Seek() to avoid repeated search.
- 195: Instead of binding aF->aNF in a map remember substitutions directly in the new reshaper.
- 218-219: Apply() return value can be used instead of calling Value().
- 222-227: why ReplaceModified() is needed? myHist->Merge(aSubs->History()) already does the job.
- 269: why compound is added instead of filling in the result list of shape from elements of compound?

src/BRepTest/BRepTest_SweepCommands.cxx
- Please avoid creating a new command genrevol. Instead, rebase the branch on top of CR29604, and make similar to implementation in the file BRepTest_SweepCommands.cxx. Then the commands from BRepTest_HistoryCommands.cxx can be used in draw.

Please test the function Generated() in the script bug29586.

git

2018-04-13 17:06

administrator   ~0075444

Branch CR29586 has been updated forcibly by ifv.

SHA-1: c0f80a39b6c839a85eaaac7bfc927a070ae7be4f

git

2018-04-17 10:54

administrator   ~0075470

Branch CR29586 has been updated forcibly by ifv.

SHA-1: d72b10f0caa1f0fbe055765beea283b167a6ccfb

git

2018-04-17 15:49

administrator   ~0075479

Branch CR29586 has been updated forcibly by ifv.

SHA-1: 87684a5460327f3d43b9b062ca3403f3f2b790d7

ifv

2018-04-17 15:50

developer   ~0075480

CR29586 is ready for review
Test results CR29586-master-IFV

git

2018-04-17 17:00

administrator   ~0075490

Branch CR29586 has been updated forcibly by ifv.

SHA-1: 691d88ec46b6058efa66d0223dee76fadc13ded8

ifv

2018-04-17 17:01

developer   ~0075491

CR29586 is updated according to remarks

git

2018-04-17 18:02

administrator   ~0075494

Branch CR29586 has been updated forcibly by msv.

SHA-1: b4e16c726ec4d9554e3838d5a56305005ec9ee2c

msv

2018-04-17 18:02

developer   ~0075495

Reviewed.

bugmaster

2018-05-24 11:26

administrator   ~0076214

Combination -
OCCT branch : CR29586 SHA - d72b10f0caa1f0fbe055765beea283b167a6ccfb
Products branch : master SHA - 8471189e8649026d76950924f8ec2b4878cba528
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:
Debian70-64:
OCCT
Total CPU difference: 18275.18999999992 / 18243.73999999987 [+0.17%]
Products
Total CPU difference: 7491.770000000048 / 7495.350000000049 [-0.05%]
Windows-64-VC10:
OCCT
Total CPU difference: 18023.637935398405 / 18049.78370299853 [-0.14%]
Products
Total CPU difference: 8246.244060199879 / 8209.739826199884 [+0.44%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2018-06-23 13:56

administrator   ~0076907

Branch CR29586 has been deleted by kgv.

SHA-1: b4e16c726ec4d9554e3838d5a56305005ec9ee2c

git

2018-06-23 13:56

administrator   ~0076908

Branch CR29586_1 has been deleted by kgv.

SHA-1: cdce2dc7d24f83285a64957d4515dc8f0b6bc401

Related Changesets

occt: master 7e4ff648

2018-03-23 08:33:27

ifv


Committer: bugmaster Details Diff
0029586: Revolution creates solid with degenerated edges shared among faces

Substitution of degenerated edges by their copies is implemented to make edges not shared
in BRepPrimAPI_MakeRevol::Build().
Method BRepPrimAPI_MakeRevol::Generated(...) is changed in order to use history of substitutions.
Test case is added.
Affected Issues
0029586
mod - dox/dev_guides/upgrade/upgrade.md Diff File
mod - src/BRepPrimAPI/BRepPrimAPI_MakeRevol.cxx Diff File
mod - src/BRepPrimAPI/BRepPrimAPI_MakeRevol.hxx Diff File
mod - src/BRepTest/BRepTest_SweepCommands.cxx Diff File
mod - tests/bugs/modalg_1/bug15036 Diff File
mod - tests/bugs/modalg_7/bug29580_2 Diff File
add - tests/bugs/modalg_7/bug29586 Diff File

Issue History

Date Modified Username Field Change
2018-03-16 16:15 emv New Issue
2018-03-16 16:15 emv Assigned To => msv
2018-03-16 16:19 msv Assigned To msv => ifv
2018-03-16 16:19 msv Status new => assigned
2018-03-16 16:21 emv Description Updated
2018-03-16 16:21 emv Description Updated
2018-03-23 13:46 git Note Added: 0074820
2018-03-23 15:36 git Note Added: 0074832
2018-03-23 16:59 ifv Steps to Reproduce Updated
2018-03-23 17:00 ifv Note Added: 0074834
2018-03-23 17:00 ifv Assigned To ifv => msv
2018-03-23 17:00 ifv Status assigned => resolved
2018-03-24 09:03 abv Note Added: 0074837
2018-03-24 10:20 abv Note Edited: 0074837
2018-03-27 10:28 msv Note Added: 0074946
2018-03-27 10:28 msv Assigned To msv => ifv
2018-03-27 10:28 msv Status resolved => assigned
2018-03-30 17:33 git Note Added: 0075076
2018-04-02 11:44 ifv Note Added: 0075098
2018-04-02 11:44 ifv Assigned To ifv => msv
2018-04-02 11:44 ifv Status assigned => resolved
2018-04-02 17:44 msv Note Added: 0075119
2018-04-02 18:28 msv Note Added: 0075125
2018-04-02 18:28 msv Assigned To msv => ifv
2018-04-02 18:28 msv Status resolved => assigned
2018-04-02 19:10 msv Note Added: 0075132
2018-04-06 17:31 git Note Added: 0075220
2018-04-09 16:58 git Note Added: 0075247
2018-04-10 10:59 ifv Note Added: 0075259
2018-04-10 10:59 ifv Assigned To ifv => msv
2018-04-10 10:59 ifv Status assigned => resolved
2018-04-10 16:32 msv Note Added: 0075278
2018-04-10 16:32 msv Assigned To msv => ifv
2018-04-10 16:32 msv Status resolved => assigned
2018-04-13 17:06 git Note Added: 0075444
2018-04-17 10:54 git Note Added: 0075470
2018-04-17 15:49 git Note Added: 0075479
2018-04-17 15:50 ifv Note Added: 0075480
2018-04-17 15:50 ifv Assigned To ifv => msv
2018-04-17 15:50 ifv Status assigned => resolved
2018-04-17 16:55 msv Assigned To msv => ifv
2018-04-17 16:55 msv Status resolved => assigned
2018-04-17 17:00 git Note Added: 0075490
2018-04-17 17:01 ifv Note Added: 0075491
2018-04-17 17:01 ifv Assigned To ifv => msv
2018-04-17 17:01 ifv Status assigned => resolved
2018-04-17 18:02 git Note Added: 0075494
2018-04-17 18:02 msv Note Added: 0075495
2018-04-17 18:02 msv Assigned To msv => bugmaster
2018-04-17 18:02 msv Status resolved => reviewed
2018-05-24 11:26 bugmaster Note Added: 0076214
2018-05-24 11:26 bugmaster Status reviewed => tested
2018-05-24 11:27 bugmaster Test case number => bugs modalg_7 bug29586
2018-06-14 18:20 bugmaster Changeset attached => occt master 7e4ff648
2018-06-14 18:20 bugmaster Status tested => verified
2018-06-14 18:20 bugmaster Resolution open => fixed
2018-06-23 13:56 git Note Added: 0076907
2018-06-23 13:56 git Note Added: 0076908