Archived issue #0024734

Convertation of the generic classes to the non-generic. Part 4

Open CASCADEOCCT:Codingclosed8 public notes

Search issues

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.

Public activity

8 archived notes

Participants are labeled by their role within this record.

01Commenter 1
Changes are ready for review in CR24734 branch.
02Commenter 2
I have no remarks from my side. Igor, please review.
03Commenter 3
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>...?
04Commenter 4
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.
05Commenter 5
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.

06Commenter 6
Dear Andrey,

Check it please.
07Commenter 7
No other remarks, please test
08Commenter 8
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.

Related records