MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0032008Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2020-12-18 13:552021-03-06 13:25
Reporterkgv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusverifiedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 7.5.0 
Target Version[OCCT] 7.6.0*Fixed in Version 
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
Attached Files

- Relationships
related to 0032014newgka Data Exchange - large STEP file is read 2-3 times slower on msvc14 than on GCC and CLang 
related to 0032044verifiedbugmaster Foundation Classes - NCollection_Array2::Resize() does not allocate pointer array 

-  Notes
(0097710)
git (administrator)
2020-12-18 14:29

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.
(0097732)
git (administrator)
2020-12-18 22:11

Branch CR32008 has been updated forcibly by kgv.

SHA-1: a6e54da0c0a51ea4c126b19d6e0a95fa669bae48
(0097807)
git (administrator)
2020-12-19 16:02

Branch CR32008 has been updated forcibly by kgv.

SHA-1: acc3c3e62fd1610a17a170431f4adf63d68bda66
(0097810)
kgv (developer)
2020-12-19 22:14

Patch is ready for review
- OCCT branch: CR32008.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32008-master-KGV/ [^]
(0098026)
git (administrator)
2021-01-10 00:34

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.
(0098048)
msv (developer)
2021-01-11 11:57

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).
(0099353)
git (administrator)
2021-03-03 22:44

Branch CR32008_1 has been updated forcibly by kgv.

SHA-1: e25aee5e9e0ed4feeb0121dc1b90fe0afcc61791
(0099356)
git (administrator)
2021-03-03 23:00

Branch CR32008_1 has been updated forcibly by kgv.

SHA-1: c17fb857df7caf1356cb43b23af807c740199a70
(0099357)
git (administrator)
2021-03-03 23:03

Branch CR32008_1 has been updated forcibly by kgv.

SHA-1: fa2187643fb15e20cdd536348a40e365d0c11180
(0099358)
git (administrator)
2021-03-03 23:33

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.

(0099359)
git (administrator)
2021-03-03 23:35

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.
(0099361)
kgv (developer)
2021-03-04 06:22

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

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32008_2-master-KGV/ [^]
(0099383)
git (administrator)
2021-03-04 11:13

Branch CR32008_2 has been updated forcibly by kgv.

SHA-1: 2307e233da9d1311d815fb7c5de3123555f21713
(0099384)
msv (developer)
2021-03-04 12:14

For integration:
occt - CR32008_2
products - none
(0099426)
git (administrator)
2021-03-05 12:20

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

(0099479)
bugmaster (administrator)
2021-03-06 12:16

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
(0099484)
git (administrator)
2021-03-06 13:24

Branch CR32008_2 has been deleted by inv.

SHA-1: bb5d8cde27eb2bf6f9e4296337c37ebd3a5afe08
(0099489)
git (administrator)
2021-03-06 13:25

Branch CR32008_1 has been deleted by inv.

SHA-1: dd8cc08190e1943677d53c183b2659139e847a10
(0099505)
git (administrator)
2021-03-06 13:25

Branch CR32008 has been deleted by inv.

SHA-1: acc3c3e62fd1610a17a170431f4adf63d68bda66

- Related Changesets
occt: master d6e050ac
Timestamp: 2020-12-18 11:29:59
Author: 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.
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 View Revisions
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


Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker