View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0027065 | Open CASCADE | OCCT:Modeling Algorithms | public | 2016-01-08 19:10 | 2018-10-09 14:21 |
Reporter | Assigned To | ||||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.0.0 | Fixed in Version | 7.0.0 | ||
Summary | 0027065: BRepOffsetAPI_MakePipe misses definition of virtual method Generated() | ||||
Description | As indicated by CLang compiler warning (see 0025076), class BRepOffsetAPI_MakePipe misses definition of virtual method Generated() inherited from BRepBuilderAPI_MakeShape. Instead, it defines its own method Generated() with two arguments. This seems to be indication of flawed design of these classes (and perhaps even whole hierarchy of BRepBuilderAPI_MakeShape): virtual methods Generated() and Modified() are defined in some descendants and not defined in others, this probably means that these methods are not used from the base level. In that case there is no need to have these methods virtual. If these methods are still useful as virtual, they must be defined correctly in all descendants. | ||||
Steps To Reproduce | Compile with CLang: /home/abv/occt/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.hxx:82:32: warning: 'BRepOffsetAPI_MakePipe::Generated' hides overloaded virtual function [-Woverloaded-virtual] Standard_EXPORT TopoDS_Shape Generated (const TopoDS_Shape& SSpine, co... ^ /home/abv/occt/src/BRepBuilderAPI/BRepBuilderAPI_MakeShape.hxx:54:55: note: hidden overloaded virtual function 'BRepBuilderAPI_MakeShape::Generated' declared here: different number of parameters (1 vs 2) Standard_EXPORT virtual const TopTools_ListOfShape& Generated (const T... | ||||
Tags | No tags attached. | ||||
Test case number | bugs modalg_6 bug27065_1, bug27065_2 | ||||
child of | 0025076 | closed | Community | Hidden overloaded virtual functions |
|
Branch CR27065-1 has been created by jgv. SHA-1: 1e89b28aef72927f871f340431c4eedef0c78da1 Detailed log of new commits: Author: jgv Date: Thu Feb 4 13:35:52 2016 +0300 0027065: BRepOffsetAPI_MakePipe misses definition of virtual method Generated() |
|
Please review the branch CR27065-1. |
|
Remarks: src\BRepFill\BRepFill_Pipe.cxx 1) In the method Generated, when shape type is edge or vertex, it is constructed a new shell or wire to return as the result. I think this method should return the actual shapes from the result without new constructions. So, instead of adding shapes into a container shape, it is needed to add them directly in the output list. 2) Again in Generated, you pass the input shape in the method Face or Edge as a part of profile. So, if the user wants to get generated shapes from a part of spine this method will not work. It is needed to develop additional code in this method to take into account this consideration. src\BRepOffsetAPI\BRepOffsetAPI_MakePipe.cxx 3) You have added comment above old Generated method, where you give it another name GeneratedElement. Please correct the comment. |
|
In BRepFill_Pipe.cxx, please declare local function UpdateMap() as static. As well, please put "{" on a new line -- this is the common style we shall follow in OCCT. |
|
Branch CR27065-1 has been updated by jgv. SHA-1: e9ba2232f836ade43aa5288343918dd1107237cf Detailed log of new commits: Author: jgv Date: Mon Feb 8 18:49:52 2016 +0300 Minor corrections |
|
Please review updated branch CR27065-1. |
|
My remark 2 was not followed. Again, if on input there is an edge from spine then the method will raise exception instead of returning a face. |
|
Mikhail, I believe that it is not really necessary to support Generated() for spine -- the logic of the operation is that you are extruding the profile, while spine is only defining a path. Possibility to get part of the result corresponding to some segment of a spine could be interesting in theory, however I propose that we keep it pending until we see real need for that. |
|
OK, I agree then. |
|
Reviewed. |
|
Branch CR27065-1 has been updated forcibly by mkv. SHA-1: 1a7f9bc40f7a96582c15056b7a3b2fd782d025f0 |
|
Dear BugMaster, Branch CR27065-1 was rebased on current master of occt git-repository. SHA-1: 1a7f9bc40f7a96582c15056b7a3b2fd782d025f0 |
|
Dear BugMaster, Branch CR27065-1 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: 1a7f9bc40f7a96582c15056b7a3b2fd782d025f0 Number of compiler warnings: occt component : Linux: 1 (0 on master) Windows: 2 (0 on master) MacOS : 1 (1 on master) products component : Linux: 36 (36 on master) Windows: 0 (0 on master) There is new additional compilation warning on Linux platform: http://jenkins-test-01.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_17008/job/CR27065-1-master_build_occt_linux/1/warnings17Result/ BRepFill_Pipe.cxx:418, GNU C Compiler 4 (gcc), Priority: Normal unused variable 'BB' [-Wunused-variable] There is new additional compilation warning on Windows platform: http://jenkins-test-01.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_17008/job/CR27065-1-master_build_occt_windows_64/1/warnings34Result/ BRepFill_Pipe.cxx:418, MSBuild, Priority: Normal 'BB' : unreferenced local variable Regressions/Differences/Improvements: No regressions/differences Testing cases: http://occt-tests/CR27065-1-master-occt-64/Debian70-64/bugs/modalg_6/bug27065_1.html http://occt-tests/CR27065-1-master-occt-64/Windows-64-VC10/bugs/modalg_6/bug27065_1.html bugs modalg_6 bug27065_1: OK http://occt-tests/CR27065-1-master-occt-64/Debian70-64/bugs/modalg_6/bug27065_2.html http://occt-tests/CR27065-1-master-occt-64/Windows-64-VC10/bugs/modalg_6/bug27065_2.html bugs modalg_6 bug27065_2: OK Testing on Linux: occt component : Total MEMORY difference: 90145472 / 89959333 [+0.21%] Total CPU difference: 18977.439999999802 / 19072.499999999924 [-0.50%] products component : Total MEMORY difference: 25610607 / 25540066 [+0.28%] Total CPU difference: 5936.1199999999935 / 8193.57999999999 [-27.55%] Testing on Windows: occt component : Total MEMORY difference: 57308935 / 57306429 [+0.00%] Total CPU difference: 17917.323253898918 / 18107.114070498843 [-1.05%] products component : Total MEMORY difference: 17256114 / 17265139 [-0.05%] Total CPU difference: 5735.20516389997 / 5549.173971399976 [+3.35%] There are no differences in images found by testdiff. |
|
Dear jgv, Branch CR27065-1 has been rejected due to: - additional warnings |
|
Branch CR27065_1 has been created by abv. SHA-1: 2d2e12c59761fbc25c1d7208d015794b114de6eb Detailed log of new commits: Author: abv Date: Wed Feb 10 12:41:06 2016 +0300 // eliminate compiler warning |
|
Compiler warning is fixed in CR27065_1; please check compilation only (no need to re-test) |
|
Dear BugMaster, Branch CR27065_1 from occt git-repository was compiled on Linux, MacOS and Windows platforms . SHA-1: 2d2e12c59761fbc25c1d7208d015794b114de6eb Number of compiler warnings: occt component : Linux: 0 (0 on master) Windows: 0 (0 on master) MacOS : 0 (1 on master) |
|
Dear BugMaster, Branch CR27065_1 is TESTED. |
|
Branch CR27065-1 has been deleted by kgv. SHA-1: 1a7f9bc40f7a96582c15056b7a3b2fd782d025f0 |
|
Branch CR27065_1 has been deleted by kgv. SHA-1: 2d2e12c59761fbc25c1d7208d015794b114de6eb |
occt: master 5e9548e7 2016-02-04 10:35:52
Committer: abv Details Diff |
0027065: BRepOffsetAPI_MakePipe misses definition of virtual method Generated() Virtual method Generated() inherited from BRepPrimAPI_MakeSweep is overridden in class BRepOffsetAPI_MakePipe, providing information on shapes generated from the profile. |
Affected Issues 0027065 |
|
mod - src/BRepFill/BRepFill_Pipe.cxx | Diff File | ||
mod - src/BRepFill/BRepFill_Pipe.hxx | Diff File | ||
mod - src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cxx | Diff File | ||
mod - src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.hxx | Diff File | ||
mod - src/QABugs/QABugs_19.cxx | Diff File | ||
add - tests/bugs/modalg_6/bug27065_1 | Diff File | ||
add - tests/bugs/modalg_6/bug27065_2 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-01-08 19:10 |
|
New Issue | |
2016-01-08 19:10 |
|
Assigned To | => msv |
2016-01-08 19:11 |
|
Relationship added | child of 0025076 |
2016-01-08 19:16 |
|
Steps to Reproduce Updated | |
2016-01-25 17:32 |
|
Assigned To | msv => jgv |
2016-01-25 17:32 |
|
Status | new => assigned |
2016-02-04 13:36 | git | Note Added: 0050417 | |
2016-02-04 13:38 |
|
Note Added: 0050418 | |
2016-02-04 13:38 |
|
Assigned To | jgv => msv |
2016-02-04 13:38 |
|
Status | assigned => resolved |
2016-02-04 19:22 |
|
Note Added: 0050430 | |
2016-02-04 19:22 |
|
Assigned To | msv => jgv |
2016-02-04 19:22 |
|
Status | resolved => assigned |
2016-02-05 08:56 |
|
Note Added: 0050432 | |
2016-02-08 16:10 |
|
Target Version | 7.1.0 => 7.0.0 |
2016-02-08 18:50 | git | Note Added: 0050498 | |
2016-02-08 18:51 |
|
Note Added: 0050499 | |
2016-02-08 18:51 |
|
Assigned To | jgv => abv |
2016-02-08 18:51 |
|
Status | assigned => resolved |
2016-02-08 19:16 |
|
Note Added: 0050501 | |
2016-02-08 19:16 |
|
Assigned To | abv => jgv |
2016-02-08 19:16 |
|
Status | resolved => assigned |
2016-02-09 09:22 |
|
Note Added: 0050505 | |
2016-02-09 13:09 |
|
Note Added: 0050517 | |
2016-02-09 13:10 |
|
Assigned To | jgv => msv |
2016-02-09 13:10 |
|
Status | assigned => resolved |
2016-02-09 13:10 |
|
Note Added: 0050518 | |
2016-02-09 13:10 |
|
Assigned To | msv => bugmaster |
2016-02-09 13:10 |
|
Status | resolved => reviewed |
2016-02-09 13:35 |
|
Assigned To | bugmaster => mkv |
2016-02-09 15:01 | git | Note Added: 0050537 | |
2016-02-09 17:28 |
|
Note Added: 0050549 | |
2016-02-09 19:16 |
|
Note Added: 0050553 | |
2016-02-09 19:17 |
|
Note Added: 0050554 | |
2016-02-09 19:17 |
|
Assigned To | mkv => jgv |
2016-02-09 19:17 |
|
Status | reviewed => assigned |
2016-02-09 19:17 |
|
Test case number | => bugs modalg_6 bug27065_1, bug27065_2 |
2016-02-10 12:41 | git | Note Added: 0050563 | |
2016-02-10 12:42 |
|
Note Added: 0050564 | |
2016-02-10 12:42 |
|
Assigned To | jgv => mkv |
2016-02-10 12:42 |
|
Status | assigned => feedback |
2016-02-10 15:33 |
|
Note Added: 0050577 | |
2016-02-10 15:33 |
|
Note Added: 0050578 | |
2016-02-10 15:33 |
|
Assigned To | mkv => bugmaster |
2016-02-10 15:33 |
|
Status | feedback => tested |
2016-02-12 11:37 |
|
Changeset attached | => occt master 5e9548e7 |
2016-02-12 11:37 |
|
Assigned To | bugmaster => abv |
2016-02-12 11:37 |
|
Status | tested => verified |
2016-02-12 11:37 |
|
Resolution | open => fixed |
2016-04-17 13:27 | git | Note Added: 0052864 | |
2016-04-17 13:27 | git | Note Added: 0052865 | |
2016-04-20 15:42 |
|
Fixed in Version | => 7.0.0 |
2016-04-20 15:51 |
|
Status | verified => closed |