Archived issue #0024734
Convertation of the generic classes to the non-generic. Part 4
Description
1) Generic classes "LProp_FuncCurExt", "LProp_FuncCurNul" and "LProp_NumericCurInf" from "LProp" package converted to the non-generic classes and moved to the "Geom2dLProp" package. Therefore names of this classes were changed to "Geom2dLProp_FuncCurExt", "Geom2dLProp_FuncCurNul" and "Geom2dLProp_NumericCurInf".
2) Generic class "Sweep_LinearRegularSweep" from "Sweep" package converted to the non-generic classes and moved to the "BRepSweep" package. Therefore name of this class was changed to "BRepSweep_NumLinearRegularSweep". Also 2 internal classes(Array2OfShapes and SequenceOfShapes) of "BRepSweep_NumLinearRegularSweep" moved to "BRepSweep.cdl".
3) Generic classes "Primitives_Wedge" and "Primitives_OneAxis" from "Primitives" package converted to the non-generic classes and moved to the "BRepPrim" package. Therefore names of this classes were changed to "BRepPrim_GWedge" and "BRepPrim_OneAxis". Also enum "Direction" moved to BRepPrim. Therefore all "Primitives" package was deleted.
And some other minor changes were done.
2) Generic class "Sweep_LinearRegularSweep" from "Sweep" package converted to the non-generic classes and moved to the "BRepSweep" package. Therefore name of this class was changed to "BRepSweep_NumLinearRegularSweep". Also 2 internal classes(Array2OfShapes and SequenceOfShapes) of "BRepSweep_NumLinearRegularSweep" moved to "BRepSweep.cdl".
3) Generic classes "Primitives_Wedge" and "Primitives_OneAxis" from "Primitives" package converted to the non-generic classes and moved to the "BRepPrim" package. Therefore names of this classes were changed to "BRepPrim_GWedge" and "BRepPrim_OneAxis". Also enum "Direction" moved to BRepPrim. Therefore all "Primitives" package was deleted.
And some other minor changes were done.
Public activity
8 archived notes
Participants are labeled by their role within this record.
Changes are ready for review in CR24734 branch.
I have no remarks from my side. Igor, please review.
I think, it is not necessary to make
class Array2OfShapes
instantiates Array2 from TCollection (Shape from TopoDS);
class SequenceOfShapes
instantiates Sequence from TCollection (Shape from TopoDS);
because we have ready to use the same containers in TopTools.
Besides, if we have general strategy to remove .gxx,
may be it is better to use
NCollection_Array2<TopoDS_Shape>...?
class Array2OfShapes
instantiates Array2 from TCollection (Shape from TopoDS);
class SequenceOfShapes
instantiates Sequence from TCollection (Shape from TopoDS);
because we have ready to use the same containers in TopTools.
Besides, if we have general strategy to remove .gxx,
may be it is better to use
NCollection_Array2<TopoDS_Shape>...?
For the moment, I suggest to keep using TCollection instances (good to use existing ones if they are available in another package). We will replace TCollection instances by NCollection implementation "en masse" in a separate move.
I agree with Andrey, because using of NCollection_Array2 template class means getting rid of "cdl", but on this step i convert cdl generic classes to the cdl non-generic. And I suppose that steps: converting of "cdl" to "non-cdl" and replacing of "TCollection" to "NCollection" will be done "en masse" in a separate moves as Andrey said.
But it is really necessary to delete classes Array2OfShapesand and SequenceOfShapes and use the same containers from TopTools.
But it is really necessary to delete classes Array2OfShapesand and SequenceOfShapes and use the same containers from TopTools.
Dear Andrey,
Check it please.
Check it please.
No other remarks, please test
Dear BugMaster,
Branch CR24734 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 30 (30 on master)
Windows: 0 (0 on master)
products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 386235832 / 386276008
Total CPU difference: 57487.470000000016 / 48827.5
Testing on Windows:
Total MEMORY difference: 430412488 / 430943812
Total CPU difference: 33785.5625 / 35761.78125
There are no differences in images found by testdiff.
Branch CR24734 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 30 (30 on master)
Windows: 0 (0 on master)
products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 386235832 / 386276008
Total CPU difference: 57487.470000000016 / 48827.5
Testing on Windows:
Total MEMORY difference: 430412488 / 430943812
Total CPU difference: 33785.5625 / 35761.78125
There are no differences in images found by testdiff.
Related records