View Issue Details

IDProjectCategoryView StatusLast Update
0032008Open CASCADEOCCT:Modeling Algorithmspublic2022-03-02 08:09
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.5.0 
Target Version7.6.0Fixed in Version7.6.0 
Summary0032008: Modeling Algorithms - disallow implicit copy of Extrema algorithms
DescriptionExtrema classes provides implicit copy constructors, however these tools look too heavy for such usage and better to be avoided.
TagsNo tags attached.
Test case numberNot required

Relationships

parent of 0032860 verifiedkgv Community Coding Rules, Extrema_GenExtPS - add exported destructor 
related to 0032014 newgka Open CASCADE Data Exchange - large STEP file is read 2-3 times slower on msvc14 than on GCC and CLang 
related to 0032044 closedbugmaster Open CASCADE Foundation Classes - NCollection_Array2::Resize() does not allocate pointer array 

Activities

git

2020-12-18 14:29

administrator   ~0097710

Branch CR32008 has been created by kgv.

SHA-1: f56afcbba711c2826f24d486a726c5293687e7db


Detailed log of new commits:

Author: kgv
Date: Fri Dec 18 14:29:59 2020 +0300

    0032008: Foundation Classes - NCollection_Array2::Resize() does not allocate pointer array
    
    NCollection_Array2::Resize() has been fixed to set myDeletable before calling Allocate().
    
    Extrema_GenExtPS now prefers resizing of Array2 tables instead of managing tables by extra handles.
    Removed unsafe casts to Adaptor3d_SurfacePtr/Adaptor3d_CurvePtr in Extrema classes.

git

2020-12-18 22:11

administrator   ~0097732

Branch CR32008 has been updated forcibly by kgv.

SHA-1: a6e54da0c0a51ea4c126b19d6e0a95fa669bae48

git

2020-12-19 16:02

administrator   ~0097807

Branch CR32008 has been updated forcibly by kgv.

SHA-1: acc3c3e62fd1610a17a170431f4adf63d68bda66

kgv

2020-12-19 22:14

developer   ~0097810

Patch is ready for review
- OCCT branch: CR32008.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32008-master-KGV/

git

2021-01-10 00:34

administrator   ~0098026

Branch CR32008_1 has been created by kgv.

SHA-1: 59254ea75a2acbf9a31ea7d0966d2c5c5938746f


Detailed log of new commits:

Author: kgv
Date: Fri Dec 18 14:29:59 2020 +0300

    0032008: Modeling Algorithms - disallow implicit copy of Extrema algorithms
    
    Extrema_GenExtPS now prefers resizing of Array2 tables instead of managing tables by extra handles.
    Removed unsafe casts to Adaptor3d_SurfacePtr/Adaptor3d_CurvePtr in Extrema classes.
    
    Extrema_GenExtPS, Extrema_GenExtSS, Extrema_ExtCS -
    copies by value are now disallowed;
    several unexpected places copying the object have been fixed.
    
    IntTools_Context - maps of void* have been replaced by typed maps.

msv

2021-01-11 11:57

developer   ~0098048

Why didn't you get rid of void* for the type of curves in Extrema_ExtCC?
  Standard_Address myC[2];


+ myECC = Extrema_ECC (C1, C2),
...
+ myECC = Extrema_ECC (C1, C2, U1, U2, V1, V2),

(Use semicolon instead of comma at the end of statements.)
Avoid usage of these copy-ctors, as in Perform() the first thing is done is initialization of myECC.

+ NCollection_DataMap<Handle(Standard_Transient), GeomAPI_ProjectPointOnCurve*, TColStd_MapTransientHasher> myProjPTMap;

Please replace the key type Handle(Standard_Transient) with Handle(Geom_Curve).

git

2021-03-03 22:44

administrator   ~0099353

Branch CR32008_1 has been updated forcibly by kgv.

SHA-1: e25aee5e9e0ed4feeb0121dc1b90fe0afcc61791

git

2021-03-03 23:00

administrator   ~0099356

Branch CR32008_1 has been updated forcibly by kgv.

SHA-1: c17fb857df7caf1356cb43b23af807c740199a70

git

2021-03-03 23:03

administrator   ~0099357

Branch CR32008_1 has been updated forcibly by kgv.

SHA-1: fa2187643fb15e20cdd536348a40e365d0c11180

git

2021-03-03 23:33

administrator   ~0099358

Branch CR32008_1 has been updated by kgv.

SHA-1: dd8cc08190e1943677d53c183b2659139e847a10


Detailed log of new commits:

Author: kgv
Date: Wed Mar 3 23:17:59 2021 +0300

    Extrema_ExtCC, Extrema_ExtCC2d - eliminated unsafe casts.

git

2021-03-03 23:35

administrator   ~0099359

Branch CR32008_2 has been created by kgv.

SHA-1: 978006786fa8f0331f8c2a77aaf2e3258995cce3


Detailed log of new commits:

Author: kgv
Date: Fri Dec 18 14:29:59 2020 +0300

    0032008: Modeling Algorithms - disallow implicit copy of Extrema algorithms
    
    Extrema_GenExtPS now prefers resizing of Array2 tables instead of managing tables by extra handles.
    Removed unsafe casts to Adaptor3d_SurfacePtr/Adaptor3d_CurvePtr in Extrema classes.
    Removed unsafe casts to curve adaptors in Extrema_ExtCC, Extrema_ExtCC2d classes.
    
    Extrema_GenExtPS, Extrema_GenExtSS, Extrema_ExtCS -
    copies by value are now disallowed;
    several unexpected places copying the object have been fixed.
    
    IntTools_Context - maps of void* have been replaced by typed maps.

kgv

2021-03-04 06:22

developer   ~0099361

Remarks have been pushed to the patch
- OCCT: branch CR32008_2.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32008_2-master-KGV/

git

2021-03-04 11:13

administrator   ~0099383

Branch CR32008_2 has been updated forcibly by kgv.

SHA-1: 2307e233da9d1311d815fb7c5de3123555f21713

msv

2021-03-04 12:14

developer   ~0099384

For integration:
occt - CR32008_2
products - none

git

2021-03-05 12:20

administrator   ~0099426

Branch CR32008_2 has been updated by kgv.

SHA-1: bb5d8cde27eb2bf6f9e4296337c37ebd3a5afe08


Detailed log of new commits:

Author: kgv
Date: Fri Mar 5 12:20:46 2021 +0300

    # fix compatibility with VS2008

bugmaster

2021-03-06 12:16

administrator   ~0099479

Combination -
OCCT branch : IR-2021-03-05
master SHA - 58210e5983a7986bc4cd1bec9c0b5cb29828fda4
a87b7ddc8cb44606b91e3f37113847c3f5f50fdc
Products branch : IR-2021-03-05 SHA - b3d022cfefe721ee2ad6db68ca360345d656610b
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: 17744.80000000016 / 17811.87000000015 [-0.38%]
Products
Total CPU difference: 11539.9800000001 / 11543.6500000001 [-0.03%]
Windows-64-VC14:
OCCT
Total CPU difference: 19321.640625 / 19344.390625 [-0.12%]
Products
Total CPU difference: 12868.796875 / 12900.578125 [-0.25%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2021-03-06 13:24

administrator   ~0099484

Branch CR32008_2 has been deleted by inv.

SHA-1: bb5d8cde27eb2bf6f9e4296337c37ebd3a5afe08

git

2021-03-06 13:25

administrator   ~0099489

Branch CR32008_1 has been deleted by inv.

SHA-1: dd8cc08190e1943677d53c183b2659139e847a10

git

2021-03-06 13:25

administrator   ~0099505

Branch CR32008 has been deleted by inv.

SHA-1: acc3c3e62fd1610a17a170431f4adf63d68bda66

Related Changesets

occt: master d6e050ac

2020-12-18 11:29:59

kgv


Committer: bugmaster Details Diff
0032008: Modeling Algorithms - disallow implicit copy of Extrema algorithms

Extrema_GenExtPS now prefers resizing of Array2 tables instead of managing tables by extra handles.
Removed unsafe casts to Adaptor3d_SurfacePtr/Adaptor3d_CurvePtr in Extrema classes.
Removed unsafe casts to curve adaptors in Extrema_ExtCC, Extrema_ExtCC2d classes.

Extrema_GenExtPS, Extrema_GenExtSS, Extrema_ExtCS -
copies by value are now disallowed;
several unexpected places copying the object have been fixed.

IntTools_Context - maps of void* have been replaced by typed maps.
Affected Issues
0032008
rm - src/Adaptor3d/Adaptor3d_CurveOnSurfacePtr.hxx Diff File
rm - src/Adaptor3d/Adaptor3d_CurvePtr.hxx Diff File
rm - src/Adaptor3d/Adaptor3d_SurfacePtr.hxx Diff File
mod - src/Adaptor3d/FILES Diff File
mod - src/BOPAlgo/BOPAlgo_Tools.cxx Diff File
mod - src/BRepFill/BRepFill_Filling.cxx Diff File
mod - src/BRepFill/BRepFill_Filling.hxx Diff File
mod - src/BRepGProp/BRepGProp_TFunction.cxx Diff File
mod - src/BRepGProp/BRepGProp_TFunction.hxx Diff File
mod - src/BRepGProp/BRepGProp_UFunction.cxx Diff File
mod - src/BRepGProp/BRepGProp_UFunction.hxx Diff File
mod - src/BRepGProp/BRepGProp_VinertGK.cxx Diff File
mod - src/BRepGProp/BRepGProp_VinertGK.hxx Diff File
mod - src/Extrema/Extrema_ExtCC.cxx Diff File
mod - src/Extrema/Extrema_ExtCC.hxx Diff File
mod - src/Extrema/Extrema_ExtCC2d.cxx Diff File
mod - src/Extrema/Extrema_ExtCC2d.hxx Diff File
mod - src/Extrema/Extrema_ExtCS.cxx Diff File
mod - src/Extrema/Extrema_ExtCS.hxx Diff File
mod - src/Extrema/Extrema_ExtPRevS.cxx Diff File
mod - src/Extrema/Extrema_ExtPS.cxx Diff File
mod - src/Extrema/Extrema_ExtPS.hxx Diff File
mod - src/Extrema/Extrema_ExtSS.cxx Diff File
mod - src/Extrema/Extrema_ExtSS.hxx Diff File
mod - src/Extrema/Extrema_FuncExtCS.cxx Diff File
mod - src/Extrema/Extrema_FuncExtCS.hxx Diff File
mod - src/Extrema/Extrema_FuncExtSS.cxx Diff File
mod - src/Extrema/Extrema_FuncExtSS.hxx Diff File
mod - src/Extrema/Extrema_FuncPSNorm.cxx Diff File
mod - src/Extrema/Extrema_FuncPSNorm.hxx Diff File
mod - src/Extrema/Extrema_GenExtCS.cxx Diff File
mod - src/Extrema/Extrema_GenExtCS.hxx Diff File
mod - src/Extrema/Extrema_GenExtPS.cxx Diff File
mod - src/Extrema/Extrema_GenExtPS.hxx Diff File
mod - src/Extrema/Extrema_GenExtSS.cxx Diff File
mod - src/Extrema/Extrema_GenExtSS.hxx Diff File
rm - src/Extrema/Extrema_HArray2OfPOnSurfParams.hxx Diff File
mod - src/Extrema/FILES Diff File
mod - src/GeomAPI/GeomAPI_ExtremaCurveCurve.cxx Diff File
mod - src/GeomAPI/GeomAPI_ExtremaCurveSurface.cxx Diff File
mod - src/GeomFill/GeomFill_Darboux.cxx Diff File
mod - src/GeomInt/GeomInt_IntSS_1.cxx Diff File
mod - src/HLRBRep/HLRBRep_Intersector.cxx Diff File
mod - src/IntTools/IntTools_BeanFaceIntersector.cxx Diff File
mod - src/IntTools/IntTools_BeanFaceIntersector.hxx Diff File
mod - src/IntTools/IntTools_Context.cxx Diff File
mod - src/IntTools/IntTools_Context.hxx Diff File
mod - src/ProjLib/ProjLib_CompProjectedCurve.cxx Diff File
mod - src/ProjLib/ProjLib_PrjFunc.cxx Diff File
mod - src/ProjLib/ProjLib_PrjFunc.hxx Diff File
mod - src/ProjLib/ProjLib_PrjResolve.cxx Diff File
mod - src/ProjLib/ProjLib_PrjResolve.hxx Diff File

Issue History

Date Modified Username Field Change
2020-12-18 13:55 kgv New Issue
2020-12-18 13:55 kgv Assigned To => abv
2020-12-18 14:29 git Note Added: 0097710
2020-12-18 22:11 git Note Added: 0097732
2020-12-19 16:02 git Note Added: 0097807
2020-12-19 22:14 kgv Note Added: 0097810
2020-12-19 22:14 kgv Status new => resolved
2020-12-22 11:21 kgv Relationship added related to 0032014
2021-01-09 23:59 kgv Category OCCT:Foundation Classes => OCCT:Modeling Algorithms
2021-01-09 23:59 kgv Summary Foundation Classes - NCollection_Array2::Resize() does not allocate pointer array => Modeling Algorithms - disallow implicit copy of Extrema algorithms
2021-01-10 00:02 kgv Description Updated
2021-01-10 00:34 git Note Added: 0098026
2021-01-10 00:36 kgv Relationship added related to 0032044
2021-01-10 03:44 kgv Assigned To abv => msv
2021-01-11 11:57 msv Note Added: 0098048
2021-01-11 11:57 msv Assigned To msv => kgv
2021-01-11 11:57 msv Status resolved => assigned
2021-03-03 22:44 git Note Added: 0099353
2021-03-03 23:00 git Note Added: 0099356
2021-03-03 23:03 git Note Added: 0099357
2021-03-03 23:33 git Note Added: 0099358
2021-03-03 23:35 git Note Added: 0099359
2021-03-04 06:22 kgv Note Added: 0099361
2021-03-04 06:22 kgv Assigned To kgv => msv
2021-03-04 06:22 kgv Status assigned => resolved
2021-03-04 11:13 git Note Added: 0099383
2021-03-04 12:14 msv Note Added: 0099384
2021-03-04 12:14 msv Assigned To msv => bugmaster
2021-03-04 12:14 msv Status resolved => reviewed
2021-03-05 12:20 git Note Added: 0099426
2021-03-06 12:16 bugmaster Note Added: 0099479
2021-03-06 12:16 bugmaster Status reviewed => tested
2021-03-06 12:29 bugmaster Test case number => Not required
2021-03-06 12:34 bugmaster Changeset attached => occt master d6e050ac
2021-03-06 12:34 bugmaster Status tested => verified
2021-03-06 12:34 bugmaster Resolution open => fixed
2021-03-06 13:24 git Note Added: 0099484
2021-03-06 13:25 git Note Added: 0099489
2021-03-06 13:25 git Note Added: 0099505
2022-03-02 08:09 kgv Relationship added parent of 0032860