Archived issue #0025246
Make methods Intervals and NbIntervals const in Adaptor3d_Curve and it descendants
Description
The rationale is that logically these methods should have been const, as the fields that they change (when they do) are just a cache and do not change logical state of the object.
Steps to reproduce
- Generate Visual Studio projects (VS2012 or later) with patched WOK
- Build OCCT
- Build OCCT
Additional information
In Release Notes this change must be highlighted in Porting section: all classes inheriting Adaptor3d_Curve (directly or indirectly) in application code must be updated to use new signature of methods Intervals() and NbIntervals(). Note that no compiler warning will be generated if this is not done!
Public activity
10 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: Tue Oct 28 09:15:21 2014 +0300
0025246: Make methods Intervals and NbIntervals const in Adaptor3d_Curve and it descendants
Qualifier "const" added to NbIntervals and Intervals functions.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue Oct 28 09:15:21 2014 +0300
0025246: Make methods Intervals and NbIntervals const in Adaptor3d_Curve and it descendants
Qualifier "const" added to NbIntervals and Intervals functions.
Dear abv,
Please check current state of branches CR25246 in occt and products repositories.
Please check current state of branches CR25246 in occt and products repositories.
Dear Dmitry,
from branch CR25183 for #0025183:
please check/update patch for #0025246 with introduced override in WOK to ensure that all inheritors have been updated (including products branch - it would be good to add Standard_OVERRIDE to these methods in headers, not exported from .cdl).
from branch CR25183 for #0025183:
- NbIntervals(me; S : Shape from GeomAbs) returns Integer + NbIntervals(me: in out; S : Shape from GeomAbs) returns Integer ... - Intervals(me; T : in out Array1OfReal from TColStd; + Intervals(me: in out; T : in out Array1OfReal from TColStd;
please check/update patch for #0025246 with introduced override in WOK to ensure that all inheritors have been updated (including products branch - it would be good to add Standard_OVERRIDE to these methods in headers, not exported from .cdl).
occt-products Branch [archived branch] has been updated
occt Branch [archived branch] has been updated according to changes in this patch
Dear Kirill, please review.
occt Branch [archived branch] has been updated according to changes in this patch
Dear Kirill, please review.
Dear Dmitry,
please re-base branches CR25246 for occt and products to current master and cherry-pick patch from CR25183 into CR25246 for occt.
please re-base branches CR25246 for occt and products to current master and cherry-pick patch from CR25183 into CR25246 for occt.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Dear Kirill,
occt and occt-products branches CR25246 has been re-based and ready to be reviewed.
occt and occt-products branches CR25246 has been re-based and ready to be reviewed.
Please test the patch.
Notice that steps to reproduce suppose using patched WOK - this can be skipped for now, just test on current WOK.
Notice that steps to reproduce suppose using patched WOK - this can be skipped for now, just test on current WOK.
Dear Commenter 1,
Branch CR25246 from occt git-repository and
branch CR25246 from products git-repository
was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
[revision removed]
Number of compiler warnings:
occt component :
Linux: 18 (18 on master)
Windows: 0 (0 on master)
products component :
Linux: 11 (11 on master)
Windows: 1 (1 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
Not needed
Testing on Linux:
occt component :
Total MEMORY difference: 84862335 / 86193283
Total CPU difference: 50513.44000000016 / 48446.16999999995
products component :
Total MEMORY difference: 23436364 / 23470864
Total CPU difference: 16128.989999999974 / 15857.75999999999
Testing on Windows:
occt component :
Total MEMORY difference: 40698856 / 40708321
Total CPU difference: 36347.59375 / 34798.28125
products component :
Total MEMORY difference: 11056207 / 11104501
Total CPU difference: 11270.84375 / 12082.625
There are no differences in images found by testdiff.
Branch CR25246 from occt git-repository and
branch CR25246 from products git-repository
was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
[revision removed]
Number of compiler warnings:
occt component :
Linux: 18 (18 on master)
Windows: 0 (0 on master)
products component :
Linux: 11 (11 on master)
Windows: 1 (1 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
Not needed
Testing on Linux:
occt component :
Total MEMORY difference: 84862335 / 86193283
Total CPU difference: 50513.44000000016 / 48446.16999999995
products component :
Total MEMORY difference: 23436364 / 23470864
Total CPU difference: 16128.989999999974 / 15857.75999999999
Testing on Windows:
occt component :
Total MEMORY difference: 40698856 / 40708321
Total CPU difference: 36347.59375 / 34798.28125
products component :
Total MEMORY difference: 11056207 / 11104501
Total CPU difference: 11270.84375 / 12082.625
There are no differences in images found by testdiff.
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records