Archived issue #0032008
Modeling Algorithms - disallow implicit copy of Extrema algorithms
Description
Extrema classes provides implicit copy constructors, however these tools look too heavy for such usage and better to be avoided.
Public activity
19 archived notes
Participants are labeled by their role within this record.
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
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.
[revision removed]
Detailed log of new commits:
Author: Author
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.
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Patch is ready for review
- OCCT branch: [archived branch]
http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32008-master-KGV/
- OCCT branch: [archived branch]
http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32008-master-KGV/
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
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.
[revision removed]
Detailed log of new commits:
Author: Author
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.
Why didn't you get rid of void* for the type of curves in Extrema_ExtCC?
+ 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).
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).
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Mar 3 23:17:59 2021 +0300
Extrema_ExtCC, Extrema_ExtCC2d - eliminated unsafe casts.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Mar 3 23:17:59 2021 +0300
Extrema_ExtCC, Extrema_ExtCC2d - eliminated unsafe casts.
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
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.
[revision removed]
Detailed log of new commits:
Author: Author
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.
Remarks have been pushed to the patch
- OCCT: branch CR32008_2.
http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32008_2-master-KGV/
- OCCT: branch CR32008_2.
http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32008_2-master-KGV/
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
For integration:
occt - CR32008_2
products - none
occt - CR32008_2
products - none
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Fri Mar 5 12:20:46 2021 +0300
# fix compatibility with VS2008
[revision removed]
Detailed log of new commits:
Author: Author
Date: Fri Mar 5 12:20:46 2021 +0300
# fix compatibility with VS2008
Combination -
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
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
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
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
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records
- #0032860 · parent of · closedCoding Rules, Extrema_GenExtPS - add exported destructor
- #0032014 · related to · newData Exchange - large STEP file is read 2-3 times slower on msvc14 than on GCC and CLang
- #0032044 · related to · closedFoundation Classes - NCollection_Array2::Resize() does not allocate pointer array