]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Additional modifications for PAL6944 (for testing GEOM operations JR_ASV_2_1_0_deb
authorsmh <smh@opencascade.com>
Fri, 10 Dec 2004 13:38:25 +0000 (13:38 +0000)
committersmh <smh@opencascade.com>
Fri, 10 Dec 2004 13:38:25 +0000 (13:38 +0000)
which has ListOfLong, ListOfDouble or ListOfGO as arguments) :
creation of additional nodes in Supervision module which allow to:
1.create an empty list of predefined type items,
2.add  item to already existing list.

idl/GEOM_Superv.idl
resources/GEOMCatalog.xml
src/GEOM_I_Superv/GEOM_List_i.hh [new file with mode: 0644]
src/GEOM_I_Superv/GEOM_Superv_i.cc
src/GEOM_I_Superv/GEOM_Superv_i.hh
src/GEOM_I_Superv/Makefile.in

index d50c74abe7800808f0a11051bfa90e33a3f68edb..4f2c94f366182b6d5f46cbfcbaa0c442ea6d5e28 100644 (file)
@@ -29,6 +29,9 @@
 
 module GEOM
 {
+  interface GEOM_List
+  { };
+
   interface GEOM_Superv : Engines::Component,SALOMEDS::Driver
   {
     //-----------------------------------------------------------//
@@ -36,6 +39,27 @@ module GEOM
     //-----------------------------------------------------------//
     void SetStudyID (in long theStudyID) ;
     
+    //-----------------------------------------------------------//
+    // Create ListOfGO and add items to it                       // 
+    //-----------------------------------------------------------//
+    GEOM_List CreateListOfGO();
+    void AddItemToListOfGO( inout GEOM_List theList, 
+                           in GEOM_Object theObject);
+
+    //-----------------------------------------------------------//
+    // Create ListOfLong and add items to it                     // 
+    //-----------------------------------------------------------//
+    GEOM_List CreateListOfLong();
+    void AddItemToListOfLong( inout GEOM_List theList, 
+                             in long theObject);
+
+    //-----------------------------------------------------------//
+    // Create ListOfDouble and add items to it                   // 
+    //-----------------------------------------------------------//
+    GEOM_List CreateListOfDouble();
+    void AddItemToListOfDouble( inout GEOM_List theList, 
+                               in double theObject);
+
     //-----------------------------------------------------------//
     // Primitives Construction : BasicOperations                 // 
     //-----------------------------------------------------------//
@@ -61,9 +85,9 @@ module GEOM
                                   in double theTrimSize) ;
     GEOM_Object MakePlanePntVec (in GEOM_Object thePnt,
                                 in GEOM_Object theVec,
-                                in double theTrimSize) ;
+                                in double      theTrimSize) ;
     GEOM_Object MakePlaneFace (in GEOM_Object theFace,
-                              in double theTrimSize) ;
+                              in double      theTrimSize) ;
     GEOM_Object MakeMarker (in double theOX , in double theOY , in double theOZ,
                            in double theXDX, in double theXDY, in double theXDZ,
                            in double theYDX, in double theYDY, in double theYDZ) ;
@@ -84,8 +108,8 @@ module GEOM
                               in GEOM_Object thePnt2) ;
     GEOM_Object MakeCylinderPntVecRH (in GEOM_Object thePnt,
                                      in GEOM_Object theAxis,
-                                     in double theRadius,
-                                     in double theHeight) ;
+                                     in double      theRadius,
+                                     in double      theHeight) ;
     GEOM_Object MakeCylinderRH (in double theR, 
                                in double theH) ;
     GEOM_Object MakeSphere (in double theX,
@@ -94,18 +118,18 @@ module GEOM
                            in double theRadius) ;
     GEOM_Object MakeSphereR (in double theR) ;
     GEOM_Object MakeSpherePntR (in GEOM_Object thePnt, 
-                               in double theR) ;
+                               in double      theR) ;
     GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt,
                                   in GEOM_Object theVec,
-                                  in double theRMajor,
-                                  in double theRMinor) ;
+                                  in double      theRMajor,
+                                  in double      theRMinor) ;
     GEOM_Object MakeTorusRR (in double theRMajor,
                             in double theRMinor) ;
     GEOM_Object MakeConePntVecR1R2H (in GEOM_Object thePnt,
                                     in GEOM_Object theAxis,
-                                    in double theR1,
-                                    in double theR2,
-                                    in double theHeight) ;
+                                    in double      theR1,
+                                    in double      theR2,
+                                    in double      theHeight) ;
     GEOM_Object MakeConeR1R2H (in double theR1, 
                               in double theR2, 
                               in double theHeight) ;
@@ -119,7 +143,7 @@ module GEOM
                          in GEOM_Object thePath) ;
     GEOM_Object MakeRevolutionAxisAngle (in GEOM_Object theBase,
                                         in GEOM_Object theAxis,
-                                        in double theAngle) ;
+                                        in double      theAngle) ;
     GEOM_Object MakeFilling (in GEOM_Object theShape,
                             in long theMinDeg, in long theMaxDeg,
                             in double theTol2D, in double theTol3D,
@@ -130,16 +154,16 @@ module GEOM
     //-----------------------------------------------------------//
     GEOM_Object MakeBoolean (in GEOM_Object theShape1,
                             in GEOM_Object theShape2,
-                            in long theOperation) ;
+                            in long        theOperation) ;
     GEOM_Object MakeFuse (in GEOM_Object theShape1,
                          in GEOM_Object theShape2) ;
-    GEOM_Object MakePartition (in ListOfGO   theShapes,
-                              in ListOfGO   theTools,
-                              in ListOfGO   theKeepInside,
-                              in ListOfGO   theRemoveInside,
-                              in short      theLimit,
-                              in boolean    theRemoveWebs,
-                              in ListOfLong theMaterials) ;
+    GEOM_Object MakePartition (in GEOM_List   theShapes,
+                              in GEOM_List   theTools,
+                              in GEOM_List   theKeepInside,
+                              in GEOM_List   theRemoveInside,
+                              in short       theLimit,
+                              in boolean     theRemoveWebs,
+                              in GEOM_List   theMaterials) ;
     GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
                                   in GEOM_Object thePlane) ;
 
@@ -164,55 +188,65 @@ module GEOM
                                        in GEOM_Object thePoint1,
                                         in GEOM_Object thePoint2) ;
     GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject,
-                                in double theDX, 
-                                in double theDY, 
-                                in double theDZ) ;
+                                in double      theDX, 
+                                in double      theDY, 
+                                in double      theDZ) ;
     GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
-                                    in double theDX, 
-                                    in double theDY, 
-                                    in double theDZ) ;
+                                    in double      theDX, 
+                                    in double      theDY, 
+                                    in double      theDZ) ;
     GEOM_Object TranslateVector (in GEOM_Object theObject,
                                 in GEOM_Object theVector) ;
     GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
                                     in GEOM_Object theVector) ;
     GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
                                  in GEOM_Object theVector,
-                                 in double theStep,
-                                 in long theNbTimes) ;
+                                 in double      theStep,
+                                 in long        theNbTimes) ;
     GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
                                  in GEOM_Object theVector1,
-                                 in double theStep1,
-                                 in long theNbTimes1,
+                                 in double      theStep1,
+                                 in long        theNbTimes1,
                                  in GEOM_Object theVector2,
-                                 in double theStep2,
-                                 in long theNbTimes2) ;
+                                 in double      theStep2,
+                                 in long        theNbTimes2) ;
     GEOM_Object Rotate (in GEOM_Object theObject,
                        in GEOM_Object theAxis,
-                       in double theAngle) ;
+                       in double      theAngle) ;
     GEOM_Object RotateCopy (in GEOM_Object theObject,
                            in GEOM_Object theAxis,
-                           in double theAngle) ;
+                           in double      theAngle) ;
     GEOM_Object MultiRotate1D (in GEOM_Object theObject,
                               in GEOM_Object theAxis,
-                              in long theNbTimes) ;
+                              in long        theNbTimes) ;
     GEOM_Object MultiRotate2D (in GEOM_Object theObject,
                               in GEOM_Object theAxis,
-                              in double theAngle,
-                              in long theNbTimes1,
-                              in double theStep,
-                              in long theNbTimes2) ;
-    GEOM_Object MirrorPlane (in GEOM_Object theObject, in GEOM_Object thePlane) ;
-    GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject, in GEOM_Object thePlane) ;
-    GEOM_Object MirrorAxis (in GEOM_Object theObject, in GEOM_Object theAxis) ;
-    GEOM_Object MirrorAxisCopy (in GEOM_Object theObject, in GEOM_Object theAxis) ;
-    GEOM_Object MirrorPoint (in GEOM_Object theObject, in GEOM_Object thePoint) ;
-    GEOM_Object MirrorPointCopy (in GEOM_Object theObject, in GEOM_Object thePoint) ;
-    GEOM_Object OffsetShape (in GEOM_Object theObject, in double theOffset) ;
-    GEOM_Object OffsetShapeCopy (in GEOM_Object theObject, in double theOffset) ;
-    GEOM_Object ScaleShape (in GEOM_Object theObject, in GEOM_Object thePoint,
-                           in double theFactor) ;
-    GEOM_Object ScaleShapeCopy (in GEOM_Object theObject, in GEOM_Object thePoint,
-                               in double theFactor) ;
+                              in double      theAngle,
+                              in long        theNbTimes1,
+                              in double      theStep,
+                              in long        theNbTimes2) ;
+    GEOM_Object MirrorPlane (in GEOM_Object theObject, 
+                            in GEOM_Object thePlane) ;
+    GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject, 
+                                in GEOM_Object thePlane) ;
+    GEOM_Object MirrorAxis (in GEOM_Object theObject, 
+                           in GEOM_Object theAxis) ;
+    GEOM_Object MirrorAxisCopy (in GEOM_Object theObject, 
+                               in GEOM_Object theAxis) ;
+    GEOM_Object MirrorPoint (in GEOM_Object theObject, 
+                            in GEOM_Object thePoint) ;
+    GEOM_Object MirrorPointCopy (in GEOM_Object theObject, 
+                                in GEOM_Object thePoint) ;
+    GEOM_Object OffsetShape (in GEOM_Object theObject, 
+                            in double      theOffset) ;
+    GEOM_Object OffsetShapeCopy (in GEOM_Object theObject, 
+                                in double      theOffset) ;
+    GEOM_Object ScaleShape (in GEOM_Object theObject, 
+                           in GEOM_Object thePoint,
+                           in double      theFactor) ;
+    GEOM_Object ScaleShapeCopy (in GEOM_Object theObject, 
+                               in GEOM_Object thePoint,
+                               in double      theFactor) ;
     GEOM_Object PositionShape (in GEOM_Object theObject,
                               in GEOM_Object theStartLCS,
                               in GEOM_Object theEndLCS) ;
@@ -223,18 +257,22 @@ module GEOM
     //-----------------------------------------------------------//
     // ShapesOperations                                          //
     //-----------------------------------------------------------//
-    GEOM_Object MakeEdge (in GEOM_Object thePnt1, in GEOM_Object thePnt2) ;
-    GEOM_Object MakeWire (in ListOfGO theEdgesAndWires) ;
-    GEOM_Object MakeFace (in GEOM_Object theWire, in boolean isPlanarWanted) ;
-    GEOM_Object MakeFaceWires (in ListOfGO theWires, in boolean isPlanarWanted) ;
-    GEOM_Object MakeShell (in ListOfGO theFacesAndShells) ;
+    GEOM_Object MakeEdge (in GEOM_Object thePnt1, 
+                         in GEOM_Object thePnt2) ;
+    GEOM_Object MakeWire (in GEOM_List theEdgesAndWires) ;
+    GEOM_Object MakeFace (in GEOM_Object theWire, 
+                         in boolean     isPlanarWanted) ;
+    GEOM_Object MakeFaceWires (in GEOM_List theWires, 
+                              in boolean   isPlanarWanted) ;
+    GEOM_Object MakeShell (in GEOM_List theFacesAndShells) ;
     GEOM_Object MakeSolidShell (in GEOM_Object theShell) ;
-    GEOM_Object MakeSolidShells (in ListOfGO theShells) ;
-    GEOM_Object MakeCompound (in ListOfGO theShapes) ;
-    GEOM_Object MakeGlueFaces (in GEOM_Object theShape, in double theTolerance) ;
-    ListOfGO MakeExplode (in GEOM_Object theShape,
-                         in long        theShapeType,
-                         in boolean     isSorted) ;
+    GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
+    GEOM_Object MakeCompound (in GEOM_List theShapes) ;
+    GEOM_Object MakeGlueFaces (in GEOM_Object theShape, 
+                              in double      theTolerance) ;
+    GEOM_List MakeExplode (in GEOM_Object theShape,
+                          in long        theShapeType,
+                          in boolean     isSorted) ;
     long NumberOfFaces (in GEOM_Object theShape) ;
     long NumberOfEdges (in GEOM_Object theShape) ;
     GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
@@ -292,15 +330,15 @@ module GEOM
                                   out GEOM_IBlocksOperations::BCErrors   theErrors) ;
     string PrintBCErrors (in GEOM_Object theCompound,
                          in GEOM_IBlocksOperations::BCErrors    theErrors) ;
-    ListOfGO ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
-                                     in long        theMinNbFaces,
-                                     in long        theMaxNbFaces) ;
+    GEOM_List ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
+                                      in long        theMinNbFaces,
+                                      in long        theMaxNbFaces) ;
     GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound,
                                   in GEOM_Object thePoint) ;
     GEOM_Object GetBlockByParts (in GEOM_Object theCompound,
-                                in ListOfGO    theParts) ;
-    ListOfGO GetBlocksByParts (in GEOM_Object theCompound,
-                              in ListOfGO    theParts) ;
+                                in GEOM_List   theParts) ;
+    GEOM_List GetBlocksByParts (in GEOM_Object theCompound,
+                               in GEOM_List   theParts) ;
     GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
                                           in long        theDirFace1,
                                           in long        theDirFace2,
@@ -318,21 +356,22 @@ module GEOM
     //-----------------------------------------------------------//
     GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
                                   in GEOM_Object theVec,
-                                  in double theR) ;
+                                  in double      theR) ;
     GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1,
                                    in GEOM_Object thePnt2,
                                    in GEOM_Object thePnt3) ;
     GEOM_Object MakeEllipse (in GEOM_Object thePnt,
                             in GEOM_Object theVec,
-                            in double theRMajor,
-                            in double theRMinor) ;
+                            in double      theRMajor,
+                            in double      theRMinor) ;
     GEOM_Object MakeArc (in GEOM_Object thePnt1,
                         in GEOM_Object thePnt2,
                         in GEOM_Object thePnt3) ;
-    GEOM_Object MakePolyline (in ListOfGO thePoints) ;
-    GEOM_Object MakeSplineBezier (in ListOfGO thePoints) ;
-    GEOM_Object MakeSplineInterpolation (in ListOfGO thePoints) ;
-    GEOM_Object MakeSketcher (in string theCommand, in ListOfDouble theWorkingPlane) ;
+    GEOM_Object MakePolyline (in GEOM_List thePoints) ;
+    GEOM_Object MakeSplineBezier (in GEOM_List thePoints) ;
+    GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints) ;
+    GEOM_Object MakeSketcher (in string    theCommand, 
+                             in GEOM_List theWorkingPlane) ;
     
     //-----------------------------------------------------------//
     // LocalOperations                                           //
@@ -341,10 +380,10 @@ module GEOM
                               in double      theR) ;
     GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
                                 in double      theR,
-                                in ListOfLong  theEdges) ;
+                                in GEOM_List   theEdges) ;
     GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
                                 in double      theR,
-                                in ListOfLong  theFaces) ;
+                                in GEOM_List   theFaces) ;
     GEOM_Object MakeChamferAll (in GEOM_Object theShape,
                                in double      theD) ;
     GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
@@ -352,22 +391,26 @@ module GEOM
                                 in long theFace1, in long theFace2) ;
     GEOM_Object MakeChamferFaces (in GEOM_Object theShape,
                                  in double theD1, in double theD2,
-                                 in ListOfLong theFaces) ;
+                                 in GEOM_List theFaces) ;
     GEOM_Object MakeArchimede (in GEOM_Object theShape,
-                              in double theWeight,
-                              in double theWaterDensity,
-                              in double theMeshDeflection) ;
-    long GetSubShapeIndex (in GEOM_Object theShape, in GEOM_Object theSubShape) ;
+                              in double      theWeight,
+                              in double      theWaterDensity,
+                              in double      theMeshDeflection) ;
+    long GetSubShapeIndex (in GEOM_Object theShape, 
+                          in GEOM_Object theSubShape) ;
 
     //-----------------------------------------------------------//
     // GroupOperations                                           //
     //-----------------------------------------------------------//
-    GEOM_Object CreateGroup (in GEOM_Object theMainShape, in long theShapeType) ;
-    void AddObject (in GEOM_Object theGroup, in long theSubShapeId) ;
-    void RemoveObject (in GEOM_Object theGroup, in long theSubShapeId) ;
+    GEOM_Object CreateGroup (in GEOM_Object theMainShape, 
+                            in long        theShapeType) ;
+    void AddObject (in GEOM_Object theGroup, 
+                   in long        theSubShapeId) ;
+    void RemoveObject (in GEOM_Object theGroup, 
+                      in long        theSubShapeId) ;
     long GetType (in GEOM_Object theGroup) ;
     GEOM_Object  GetMainShape(in GEOM_Object theGroup) ;
-    ListOfLong  GetObjects(in GEOM_Object theGroup) ;
+    GEOM_List  GetObjects(in GEOM_Object theGroup) ;
 
   };
 };
index 136e16d1937338d8c8bdb5f1a4ec25d7c428ee34..09867674189ff5f60b3e0da8a442a6b778bbce58 100644 (file)
             <component-name>GEOM_Superv</component-name>
             <component-username>GEOM_Superv</component-username>
             <component-type>OTHER</component-type>
-            <component-author>asv</component-author>
+            <component-author>mkr</component-author>
             <component-version>2.1.0</component-version>
             <component-comment>unknown</component-comment>
             <component-multistudy>1</component-multistudy>
                 <component-service-list>
                     <component-service>
                         <service-name>SetStudyID</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <outParameter-list></outParameter-list>
                         <DataStream-list></DataStream-list>
                     </component-service>
+                    <component-service>
+                        <service-name>CreateListOfGO</service-name>
+                        <service-author>mkr</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list></inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_List</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>AddItemToListOfGO</service-name>
+                        <service-author>mkr</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theList</inParameter-name>
+                                <inParameter-type>GEOM_List</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>theList</outParameter-name>
+                                <outParameter-type>GEOM_List</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>CreateListOfLong</service-name>
+                        <service-author>mkr</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list></inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_List</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>AddItemToListOfLong</service-name>
+                        <service-author>mkr</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theList</inParameter-name>
+                                <inParameter-type>GEOM_List</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>theList</outParameter-name>
+                                <outParameter-type>GEOM_List</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>CreateListOfDouble</service-name>
+                        <service-author>mkr</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list></inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_List</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>AddItemToListOfDouble</service-name>
+                        <service-author>mkr</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theList</inParameter-name>
+                                <inParameter-type>GEOM_List</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>theList</outParameter-name>
+                                <outParameter-type>GEOM_List</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
                     <component-service>
                         <service-name>MakePointXYZ</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakePointWithReference</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakePointOnCurve</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeVectorDXDYDZ</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeVectorTwoPnt</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeLineTwoPnt</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakePlaneThreePnt</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakePlanePntVec</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakePlaneFace</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeMarker</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeBox</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeBoxDXDYDZ</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeBoxTwoPnt</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeCylinderPntVecRH</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeCylinderRH</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeSphere</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeSphereR</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeSpherePntR</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeTorusPntVecRR</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeTorusRR</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeConePntVecR1R2H</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeConeR1R2H</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakePrismVecH</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakePrismTwoPnt</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakePipe</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeRevolutionAxisAngle</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeFilling</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeBoolean</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeFuse</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakePartition</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <inParameter-list>
                             <inParameter>
                                 <inParameter-name>theShapes</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                             <inParameter>
                                 <inParameter-name>theTools</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                             <inParameter>
                                 <inParameter-name>theKeepInside</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                             <inParameter>
                                 <inParameter-name>theRemoveInside</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                             <inParameter>
                             </inParameter>
                             <inParameter>
                                 <inParameter-name>theMaterials</inParameter-name>
-                                <inParameter-type>ListOfLong</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeHalfPartition</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeCopy</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>Export</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>Import</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>ImportTranslators</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>ExportTranslators</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>TranslateTwoPoints</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>TranslateTwoPointsCopy</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>TranslateDXDYDZ</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>TranslateDXDYDZCopy</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>TranslateVector</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>TranslateVectorCopy</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MultiTranslate1D</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MultiTranslate2D</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>Rotate</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>RotateCopy</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MultiRotate1D</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MultiRotate2D</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MirrorPlane</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MirrorPlaneCopy</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MirrorAxis</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MirrorAxisCopy</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MirrorPoint</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MirrorPointCopy</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>OffsetShape</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>OffsetShapeCopy</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>ScaleShape</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>ScaleShapeCopy</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>PositionShape</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>PositionShapeCopy</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeEdge</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeWire</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <inParameter-list>
                             <inParameter>
                                 <inParameter-name>theEdgesAndWires</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeFace</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeFaceWires</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <inParameter-list>
                             <inParameter>
                                 <inParameter-name>theWires</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                             <inParameter>
                     </component-service>
                     <component-service>
                         <service-name>MakeShell</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <inParameter-list>
                             <inParameter>
                                 <inParameter-name>theFacesAndShells</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeSolidShell</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeSolidShells</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <inParameter-list>
                             <inParameter>
                                 <inParameter-name>theShells</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeCompound</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <inParameter-list>
                             <inParameter>
                                 <inParameter-name>theShapes</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeGlueFaces</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeExplode</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <outParameter-list>
                             <outParameter>
                                 <outParameter-name>return</outParameter-name>
-                                <outParameter-type>ListOfGO</outParameter-type>
+                                <outParameter-type>GEOM_List</outParameter-type>
                                 <outParameter-comment>unknown</outParameter-comment>
                             </outParameter>
                         </outParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>NumberOfFaces</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>NumberOfEdges</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>ChangeOrientation</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeQuad4Vertices</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeQuad</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeQuad2Edges</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeHexa</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeHexa2Faces</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetPoint</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetEdge</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetEdgeNearPoint</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetFaceByPoints</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetFaceByEdges</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetOppositeFace</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetFaceNearPoint</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetFaceByNormale</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>IsCompoundOfBlocks</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>CheckCompoundOfBlocks</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>PrintBCErrors</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>ExplodeCompoundOfBlocks</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <outParameter-list>
                             <outParameter>
                                 <outParameter-name>return</outParameter-name>
-                                <outParameter-type>ListOfGO</outParameter-type>
+                                <outParameter-type>GEOM_List</outParameter-type>
                                 <outParameter-comment>unknown</outParameter-comment>
                             </outParameter>
                         </outParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>GetBlockNearPoint</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetBlockByParts</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                             </inParameter>
                             <inParameter>
                                 <inParameter-name>theParts</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>GetBlocksByParts</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                             </inParameter>
                             <inParameter>
                                 <inParameter-name>theParts</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                         <outParameter-list>
                             <outParameter>
                                 <outParameter-name>return</outParameter-name>
-                                <outParameter-type>ListOfGO</outParameter-type>
+                                <outParameter-type>GEOM_List</outParameter-type>
                                 <outParameter-comment>unknown</outParameter-comment>
                             </outParameter>
                         </outParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeMultiTransformation1D</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeMultiTransformation2D</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeCirclePntVecR</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeCircleThreePnt</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeEllipse</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeArc</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakePolyline</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <inParameter-list>
                             <inParameter>
                                 <inParameter-name>thePoints</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeSplineBezier</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <inParameter-list>
                             <inParameter>
                                 <inParameter-name>thePoints</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeSplineInterpolation</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <inParameter-list>
                             <inParameter>
                                 <inParameter-name>thePoints</inParameter-name>
-                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeSketcher</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                             </inParameter>
                             <inParameter>
                                 <inParameter-name>theWorkingPlane</inParameter-name>
-                                <inParameter-type>ListOfDouble</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeFilletAll</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeFilletEdges</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                             </inParameter>
                             <inParameter>
                                 <inParameter-name>theEdges</inParameter-name>
-                                <inParameter-type>ListOfLong</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeFilletFaces</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                             </inParameter>
                             <inParameter>
                                 <inParameter-name>theFaces</inParameter-name>
-                                <inParameter-type>ListOfLong</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeChamferAll</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeChamferEdge</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>MakeChamferFaces</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                             </inParameter>
                             <inParameter>
                                 <inParameter-name>theFaces</inParameter-name>
-                                <inParameter-type>ListOfLong</inParameter-type>
+                                <inParameter-type>GEOM_List</inParameter-type>
                                 <inParameter-comment>unknown</inParameter-comment>
                             </inParameter>
                         </inParameter-list>
                     </component-service>
                     <component-service>
                         <service-name>MakeArchimede</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetSubShapeIndex</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>CreateGroup</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>AddObject</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>RemoveObject</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetType</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetMainShape</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                     </component-service>
                     <component-service>
                         <service-name>GetObjects</service-name>
-                        <service-author>asv</service-author>
+                        <service-author>mkr</service-author>
                         <service-version>2.1.0</service-version>
                         <service-comment>unknown</service-comment>
                         <service-by-default>0</service-by-default>
                         <outParameter-list>
                             <outParameter>
                                 <outParameter-name>return</outParameter-name>
-                                <outParameter-type>ListOfLong</outParameter-type>
+                                <outParameter-type>GEOM_List</outParameter-type>
                                 <outParameter-comment>unknown</outParameter-comment>
                             </outParameter>
                         </outParameter-list>
diff --git a/src/GEOM_I_Superv/GEOM_List_i.hh b/src/GEOM_I_Superv/GEOM_List_i.hh
new file mode 100644 (file)
index 0000000..293881e
--- /dev/null
@@ -0,0 +1,85 @@
+#ifndef __GEOM_LIST_I_H__
+#define __GEOM_LIST_I_H__
+
+// IDL headers
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(GEOM_Superv)
+
+#include "GEOM_Gen_i.hh"
+#include "utilities.h"
+
+template <class Type>
+class GEOM_List_i : 
+  public virtual POA_GEOM::GEOM_List,
+  public virtual PortableServer::RefCountServantBase
+{
+public:
+  GEOM_List_i();
+  GEOM_List_i(const Type& theListToCopy);
+  ~GEOM_List_i();
+
+  const Type& GetList();
+
+  template <class ElemType>
+  void AddObject(ElemType theObject);
+
+private:
+  Type myGOList;
+};
+
+//=============================================================================
+//  constructor:
+//=============================================================================
+template <class Type>
+GEOM_List_i<Type>::GEOM_List_i()
+{
+  MESSAGE("GEOM_List_i::GEOM_List_i");
+  //create an empty list
+  myGOList.length(0);
+}
+
+//=============================================================================
+//  constructor:
+//=============================================================================
+template <class Type>
+GEOM_List_i<Type>::GEOM_List_i(const Type& theListToCopy)
+{
+  int aLength = theListToCopy.length();
+  myGOList.length(aLength);
+  for (int i = 0; i < aLength; i++)
+    myGOList[i] = theListToCopy[i];
+}
+
+//=============================================================================
+//  destructor:
+//=============================================================================
+template <class Type>
+GEOM_List_i<Type>::~GEOM_List_i()
+{
+  MESSAGE("GEOM_List_i::~GEOM_List_i");
+}
+
+//=============================================================================
+//  GetList:
+//=============================================================================
+template <class Type>
+const Type& GEOM_List_i<Type>::GetList()
+{
+  MESSAGE("GEOM_List_i::GetList()");
+  return myGOList;
+}
+
+//=============================================================================
+//  AddObject:
+//=============================================================================
+template <class Type>
+template <class ElemType>
+void GEOM_List_i<Type>::AddObject(ElemType theObject)
+{
+  MESSAGE("GEOM_List_i::AddObject(...)");
+  int aLength = myGOList.length();
+  myGOList.length(aLength+1);
+  myGOList[aLength] = theObject;
+}
+
+#endif
index 360ad26860ea0d7e02ea6577c9ab3f5ed20a94da..445ba9b62b4c759f6ef60ca55336e8fcdf734312 100644 (file)
@@ -17,6 +17,10 @@ GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb,
   _thisObj = this ;
   _id = _poa->activate_object(_thisObj);
   name_service = new SALOME_NamingService(_orb);
+  //get RootPOA (the default)
+  //myPOA = PortableServer::RefCountServantBase::_default_POA();
+  CORBA::Object_var anObj = _orb->resolve_initial_references("RootPOA");
+  myPOA = PortableServer::POA::_narrow(anObj);
 
   myGeomEngine = GEOM::GEOM_Gen::_nil();
   myStudyID = -1;
@@ -72,6 +76,78 @@ void GEOM_Superv_i::SetStudyID( CORBA::Long theId )
   myStudyID = theId;
 }
 
+//=============================================================================
+//  CreateListOfGO:
+//=============================================================================
+GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfGO()
+{
+  MESSAGE("GEOM_Superv_i::CreateListOfGO()");
+  GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>();
+  return aListPtr->_this();
+}
+
+//=============================================================================
+//  AddItemToListOfGO:
+//=============================================================================
+void GEOM_Superv_i::AddItemToListOfGO(GEOM::GEOM_List_ptr& theList, 
+                                     GEOM::GEOM_Object_ptr    theObject)
+{
+  MESSAGE("GEOM_Superv_i::AddItemToListOfGO(...)");
+  if (GEOM_List_i<GEOM::ListOfGO>* aList = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theList, myPOA).in())) {
+    aList->AddObject(theObject);
+    MESSAGE(" NewLength = "<<aList->GetList().length());
+  }
+}
+
+//=============================================================================
+//  CreateListOfLong:
+//=============================================================================
+GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong()
+{
+  MESSAGE("GEOM_Superv_i::CreateListOfLong()");
+  GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>();
+  return aListPtr->_this();
+}
+
+//=============================================================================
+//  AddItemToListOfLong:
+//=============================================================================
+void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList, 
+                                       long                     theObject)
+{
+  MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)");
+  if (GEOM_List_i<GEOM::ListOfLong>* aList = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theList, myPOA).in())) {
+    aList->AddObject(theObject);
+    MESSAGE(" NewLength = "<<aList->GetList().length());
+  }
+}
+
+//=============================================================================
+//  CreateListOfDouble:
+//=============================================================================
+GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble()
+{
+  MESSAGE("GEOM_Superv_i::CreateListOfDouble()");
+  GEOM_List_i<GEOM::ListOfDouble>* aListPtr = new GEOM_List_i<GEOM::ListOfDouble>();
+  return aListPtr->_this();
+}
+
+//=============================================================================
+//  AddItemToListOfDouble:
+//=============================================================================
+void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList, 
+                                         double                   theObject)
+{
+  MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)");
+  if (GEOM_List_i<GEOM::ListOfDouble>* aList = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theList, myPOA).in())) {
+    aList->AddObject(theObject);
+    MESSAGE(" NewLength = "<<aList->GetList().length());
+  }
+}
+
 //=============================================================================
 //  getBasicOp:
 //=============================================================================
@@ -182,6 +258,17 @@ void GEOM_Superv_i::getGroupOp()
   myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID);
 }
 
+//=============================================================================
+//  GetServant:
+//=============================================================================
+PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr       theObject,
+                                                         PortableServer::POA_ptr thePOA)
+{
+  if(CORBA::is_nil(theObject))  return NULL;
+  PortableServer::Servant aServant = thePOA->reference_to_servant(theObject);
+  return aServant;
+}
+
 //============================================================================
 // function : Save()
 // purpose  : save OCAF/Geom document
@@ -698,18 +785,32 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse (GEOM::GEOM_Object_ptr theShape1,
 //=============================================================================
 //  MakePartition:
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (const GEOM::ListOfGO&   theShapes,
-                                                   const GEOM::ListOfGO&   theTools,
-                                                   const GEOM::ListOfGO&   theKeepInside,
-                                                   const GEOM::ListOfGO&   theRemoveInside,
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr   theShapes,
+                                                   GEOM::GEOM_List_ptr   theTools,
+                                                   GEOM::GEOM_List_ptr   theKeepInside,
+                                                   GEOM::GEOM_List_ptr   theRemoveInside,
                                                    const CORBA::Short      theLimit,
                                                    const CORBA::Boolean    theRemoveWebs,
-                                                   const GEOM::ListOfLong& theMaterials)
+                                                   GEOM::GEOM_List_ptr theMaterials)
 {
   MESSAGE("GEOM_Superv_i::MakePartition");
-  if (CORBA::is_nil(myBoolOp)) getBoolOp();
-  return myBoolOp->MakePartition(theShapes, theTools, theKeepInside, theRemoveInside,
-                                theLimit, theRemoveWebs, theMaterials);
+  GEOM_List_i<GEOM::ListOfGO>* aListImplS = 
+    dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
+  GEOM_List_i<GEOM::ListOfGO>* aListImplT = 
+    dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
+  GEOM_List_i<GEOM::ListOfGO>* aListImplKI = 
+    dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
+  GEOM_List_i<GEOM::ListOfGO>* aListImplRI = 
+    dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
+  GEOM_List_i<GEOM::ListOfLong>* aListImplM = 
+    dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
+  if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
+    if (CORBA::is_nil(myBoolOp)) getBoolOp();
+    return myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(), 
+                                  aListImplKI->GetList(), aListImplRI->GetList(),
+                                  theLimit, theRemoveWebs, aListImplM->GetList());
+  }
+  return NULL;
 }
 
 //=============================================================================
@@ -1084,11 +1185,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
 //=============================================================================
 //  MakeWire:
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (const GEOM::ListOfGO& theEdgesAndWires)
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires)
 {
   MESSAGE("GEOM_Superv_i::MakeWire");
-  if (CORBA::is_nil(myShapesOp)) getShapesOp();
-  return myShapesOp->MakeWire(theEdgesAndWires);
+  if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
+    if (CORBA::is_nil(myShapesOp)) getShapesOp();
+    return myShapesOp->MakeWire(aListImplEW->GetList());
+  }
+  return NULL;
 }
 
 //=============================================================================
@@ -1105,22 +1210,30 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
 //=============================================================================
 //  MakeFaceWires:
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (const GEOM::ListOfGO& theWires,
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
                                                    CORBA::Boolean isPlanarWanted)
 {
   MESSAGE("GEOM_Superv_i::MakeFaceWires");
-  if (CORBA::is_nil(myShapesOp)) getShapesOp();
-  return myShapesOp->MakeFaceWires(theWires, isPlanarWanted);
+  if (GEOM_List_i<GEOM::ListOfGO>* aListImplW = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
+    if (CORBA::is_nil(myShapesOp)) getShapesOp();
+    return myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
+  }
+  return NULL;
 }
 
 //=============================================================================
 //  MakeShell:
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (const GEOM::ListOfGO& theFacesAndShells)
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
 {
   MESSAGE("GEOM_Superv_i::MakeShell");
-  if (CORBA::is_nil(myShapesOp)) getShapesOp();
-  return myShapesOp->MakeShell(theFacesAndShells);
+  if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
+    if (CORBA::is_nil(myShapesOp)) getShapesOp();
+    return myShapesOp->MakeShell(aListImplFS->GetList());
+  }
+  return NULL;
 }
 
 //=============================================================================
@@ -1136,21 +1249,29 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theSh
 //=============================================================================
 //  MakeSolidShells:
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (const GEOM::ListOfGO& theShells)
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
 {
   MESSAGE("GEOM_Superv_i::MakeSolidShells");
-  if (CORBA::is_nil(myShapesOp)) getShapesOp();
-  return myShapesOp->MakeSolidShells(theShells);
+  if (GEOM_List_i<GEOM::ListOfGO>* aListImplS = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
+    if (CORBA::is_nil(myShapesOp)) getShapesOp();
+    return myShapesOp->MakeSolidShells(aListImplS->GetList());
+  }
+  return NULL;
 }
 
 //=============================================================================
 //  MakeCompound:
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (const GEOM::ListOfGO& theShapes)
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
 {
   MESSAGE("GEOM_Superv_i::MakeCompound");
-  if (CORBA::is_nil(myShapesOp)) getShapesOp();
-  return myShapesOp->MakeCompound(theShapes);
+  if (GEOM_List_i<GEOM::ListOfGO>* aListImpl = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
+    if (CORBA::is_nil(myShapesOp)) getShapesOp();
+    return myShapesOp->MakeCompound(aListImpl->GetList());
+  }
+  return NULL;
 }
 
 //=============================================================================
@@ -1167,13 +1288,17 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theSha
 //=============================================================================
 //  MakeExplode:
 //=============================================================================
-GEOM::ListOfGO* GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
-                                           const CORBA::Long theShapeType,
-                                           const CORBA::Boolean isSorted)
+GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
+                                                   const CORBA::Long theShapeType,
+                                                   const CORBA::Boolean isSorted)
 {
   MESSAGE("GEOM_Superv_i::MakeExplode");
   if (CORBA::is_nil(myShapesOp)) getShapesOp();
-  return myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
+
+  GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
+  GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
+  MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
+  return aListPtr->_this();
 }
 
 //=============================================================================
@@ -1406,13 +1531,15 @@ char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
 //=============================================================================
 //  ExplodeCompoundOfBlocks:
 //=============================================================================
-GEOM::ListOfGO* GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
-                                                       const CORBA::Long     theMinNbFaces,
-                                                       const CORBA::Long     theMaxNbFaces)
+GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
+                                                               const CORBA::Long     theMinNbFaces,
+                                                               const CORBA::Long     theMaxNbFaces)
 {
   MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
   if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
-  return myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
+  GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
+  GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
+  return aListPtr->_this();
 }
 
 //=============================================================================
@@ -1430,22 +1557,33 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr th
 //  GetBlockByParts:
 //=============================================================================
 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
-                                                     const GEOM::ListOfGO& theParts)
+                                                     GEOM::GEOM_List_ptr theParts)
 {
   MESSAGE("GEOM_Superv_i::GetBlockByParts");
-  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
-  return myBlocksOp->GetBlockByParts(theCompound, theParts);
+  if (GEOM_List_i<GEOM::ListOfGO>* aListImplP = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
+    if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+    return myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
+  }
+  return NULL;
 }
 
 //=============================================================================
 //  GetBlocksByParts:
 //=============================================================================
-GEOM::ListOfGO* GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
-                                                const GEOM::ListOfGO& theParts)
+GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
+                                                        GEOM::GEOM_List_ptr theParts)
 {
   MESSAGE("GEOM_Superv_i::GetBlocksByParts");
-  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
-  return myBlocksOp->GetBlocksByParts(theCompound, theParts);
+  if (GEOM_List_i<GEOM::ListOfGO>* aListImplP = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
+    if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+    
+    GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
+    GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
+    return aListPtr->_this();
+  }
+  return NULL;
 }
 
 //=============================================================================
@@ -1533,42 +1671,58 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
 //=============================================================================
 //  MakePolyline:
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (const GEOM::ListOfGO& thePoints)
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints)
 {
   MESSAGE("GEOM_Superv_i::MakePolyline");
-  if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
-  return myCurvesOp->MakePolyline(thePoints);
+  if (GEOM_List_i<GEOM::ListOfGO>* aListImplP = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
+    if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
+    return myCurvesOp->MakePolyline(aListImplP->GetList());
+  }
+  return NULL;
 }
 
 //=============================================================================
 //  MakeSplineBezier:
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (const GEOM::ListOfGO& thePoints)
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints)
 {
   MESSAGE("GEOM_Superv_i::MakeSplineBezier");
-  if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
-  return myCurvesOp->MakeSplineBezier(thePoints);
+  if (GEOM_List_i<GEOM::ListOfGO>* aListImplP = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
+    if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
+    return myCurvesOp->MakeSplineBezier(aListImplP->GetList());
+  }
+  return NULL;
 }
 
 //=============================================================================
 //  MakeSplineInterpolation:
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (const GEOM::ListOfGO& thePoints)
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints)
 {
   MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
-  if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
-  return myCurvesOp->MakeSplineInterpolation(thePoints);
+  if (GEOM_List_i<GEOM::ListOfGO>* aListImplP = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
+    if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
+    return myCurvesOp->MakeSplineInterpolation(aListImplP->GetList());
+  }
+  return NULL;
 }
 
 //=============================================================================
 //  MakeSketcher:
 //=============================================================================
 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand, 
-                                                  const GEOM::ListOfDouble& theWorkingPlane)
+                                                  GEOM::GEOM_List_ptr theWorkingPlane)
 {
   MESSAGE("GEOM_Superv_i::MakeSketcher");
-  if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
-  return myCurvesOp->MakeSketcher(theCommand, theWorkingPlane);
+  if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
+    if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
+    return myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
+  }
+  return NULL;
 }
 
 //=============================== LocalOperations =============================
@@ -1588,11 +1742,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theSha
 //=============================================================================
 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, 
                                                      CORBA::Double theR,
-                                                     const GEOM::ListOfLong& theEdges)
+                                                     GEOM::GEOM_List_ptr theEdges)
 {
   MESSAGE("GEOM_Superv_i::MakeFilletEdges");
-  if (CORBA::is_nil(myLocalOp)) getLocalOp();
-  return myLocalOp->MakeFilletEdges(theShape, theR, theEdges);
+  if (GEOM_List_i<GEOM::ListOfLong>* aListImplE = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
+    if (CORBA::is_nil(myLocalOp)) getLocalOp();
+    return myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
+  }
+  return NULL;
 }
 
 //=============================================================================
@@ -1600,11 +1758,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theS
 //=============================================================================
 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, 
                                                      CORBA::Double theR,
-                                                     const GEOM::ListOfLong& theFaces)
+                                                     GEOM::GEOM_List_ptr theFaces)
 {
   MESSAGE("GEOM_Superv_i::MakeFilletFaces");
-  if (CORBA::is_nil(myLocalOp)) getLocalOp();
-  return myLocalOp->MakeFilletFaces(theShape, theR, theFaces);
+  if (GEOM_List_i<GEOM::ListOfLong>* aListImplF = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
+    if (CORBA::is_nil(myLocalOp)) getLocalOp();
+    return myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
+  }
+  return NULL;
 }
 
 //=============================================================================
@@ -1634,11 +1796,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theS
 //=============================================================================
 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
                                                       CORBA::Double theD1, CORBA::Double theD2,
-                                                      const GEOM::ListOfLong& theFaces)
+                                                      GEOM::GEOM_List_ptr theFaces)
 {
   MESSAGE("GEOM_Superv_i::MakeChamferFaces");
-  if (CORBA::is_nil(myLocalOp)) getLocalOp();
-  return myLocalOp->MakeChamferFaces(theShape, theD1, theD2, theFaces);
+  if (GEOM_List_i<GEOM::ListOfLong>* aListImplF = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
+    if (CORBA::is_nil(myLocalOp)) getLocalOp();
+    return myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
+  }
+  return NULL;
 }
 
 //=============================================================================
@@ -1722,11 +1888,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGrou
 //=============================================================================
 //  GetObjects:
 //=============================================================================
-GEOM::ListOfLong* GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
+GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
 {
   MESSAGE("GEOM_Superv_i::GetObjects");
   if (CORBA::is_nil(myGroupOp)) getGroupOp();
-  return myGroupOp->GetObjects(theGroup);
+
+  GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
+  GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
+  MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
+  return aListPtr->_this();
 }
 
 //=====================================================================================
index 67f780c107eba84aec524c3909bd0047d9461c03..3a3ce45965c8f7c1e8beea2509a6dc1b2df3bbc6 100644 (file)
@@ -6,6 +6,7 @@
 #include CORBA_SERVER_HEADER(GEOM_Superv)
 
 #include "GEOM_Gen_i.hh"
+#include "GEOM_List_i.hh"
 
 #include "QAD_Study.h"
 #include "QAD_Application.h"
@@ -37,11 +38,35 @@ public:
   void getLocalOp();
   void getGroupOp();  
 
+  PortableServer::ServantBase_var GetServant(CORBA::Object_ptr       theObject,
+                                            PortableServer::POA_ptr thePOA);
+
   //-----------------------------------------------------------------------//
   // Set current stydy ID                                                  //
   //-----------------------------------------------------------------------//
   void SetStudyID( CORBA::Long theId );      
 
+  //-----------------------------------------------------------//
+  // Create ListOfGO and add items to it                       // 
+  //-----------------------------------------------------------//
+  GEOM::GEOM_List_ptr CreateListOfGO();
+  void AddItemToListOfGO(GEOM::GEOM_List_ptr& theList, 
+                        GEOM::GEOM_Object_ptr    theObject);
+
+  //-----------------------------------------------------------//
+  // Create ListOfLong and add items to it                     // 
+  //-----------------------------------------------------------//
+  GEOM::GEOM_List_ptr CreateListOfLong();
+  void AddItemToListOfLong(GEOM::GEOM_List_ptr& theList, 
+                          long    theObject);
+  
+  //-----------------------------------------------------------//
+  // Create ListOfDouble and add items to it                   // 
+  //-----------------------------------------------------------//
+  GEOM::GEOM_List_ptr CreateListOfDouble();
+  void AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList, 
+                            double    theObject);
+
   //-----------------------------------------------------------------------//
   // Inherited methods from SALOMEDS::Driver                               //
   //-----------------------------------------------------------------------//    
@@ -187,13 +212,13 @@ public:
                                     CORBA::Long theOperation);
   GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1,
                                  GEOM::GEOM_Object_ptr theShape2);
-  GEOM::GEOM_Object_ptr MakePartition (const GEOM::ListOfGO&   theShapes,
-                                      const GEOM::ListOfGO&   theTools,
-                                      const GEOM::ListOfGO&   theKeepInside,
-                                      const GEOM::ListOfGO&   theRemoveInside,
+  GEOM::GEOM_Object_ptr MakePartition (GEOM::GEOM_List_ptr   theShapes,
+                                      GEOM::GEOM_List_ptr   theTools,
+                                      GEOM::GEOM_List_ptr   theKeepInside,
+                                      GEOM::GEOM_List_ptr   theRemoveInside,
                                       const CORBA::Short      theLimit,
                                       const CORBA::Boolean    theRemoveWebs,
-                                      const GEOM::ListOfLong& theMaterials);
+                                      GEOM::GEOM_List_ptr theMaterials);
   GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
                                           GEOM::GEOM_Object_ptr thePlane);
 
@@ -292,20 +317,20 @@ public:
   //-----------------------------------------------------------//
   GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
                                  GEOM::GEOM_Object_ptr thePnt2);
-  GEOM::GEOM_Object_ptr MakeWire (const GEOM::ListOfGO& theEdgesAndWires);
+  GEOM::GEOM_Object_ptr MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires);
   GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire,
                                  CORBA::Boolean isPlanarWanted);
-  GEOM::GEOM_Object_ptr MakeFaceWires (const GEOM::ListOfGO& theWires,
+  GEOM::GEOM_Object_ptr MakeFaceWires (GEOM::GEOM_List_ptr theWires,
                                       CORBA::Boolean isPlanarWanted);
-  GEOM::GEOM_Object_ptr MakeShell (const GEOM::ListOfGO& theFacesAndShells);
+  GEOM::GEOM_Object_ptr MakeShell (GEOM::GEOM_List_ptr theFacesAndShells);
   GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell);
-  GEOM::GEOM_Object_ptr MakeSolidShells (const GEOM::ListOfGO& theShells);
-  GEOM::GEOM_Object_ptr MakeCompound (const GEOM::ListOfGO& theShapes);
+  GEOM::GEOM_Object_ptr MakeSolidShells (GEOM::GEOM_List_ptr theShells);
+  GEOM::GEOM_Object_ptr MakeCompound (GEOM::GEOM_List_ptr theShapes);
   GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
                                       const CORBA::Double   theTolerance);
-  GEOM::ListOfGO* MakeExplode (GEOM::GEOM_Object_ptr theShape,
-                              const CORBA::Long theShapeType,
-                              const CORBA::Boolean isSorted);
+  GEOM::GEOM_List_ptr MakeExplode (GEOM::GEOM_Object_ptr theShape,
+                                      const CORBA::Long theShapeType,
+                                      const CORBA::Boolean isSorted);
   CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
   CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
   GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape);
@@ -363,15 +388,15 @@ public:
                                        GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors);
   char* PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
                       const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors);
-  GEOM::ListOfGO* ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
-                                          const CORBA::Long     theMinNbFaces,
-                                          const CORBA::Long     theMaxNbFaces);
+  GEOM::GEOM_List_ptr ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
+                                                  const CORBA::Long     theMinNbFaces,
+                                                  const CORBA::Long     theMaxNbFaces);
   GEOM::GEOM_Object_ptr GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
                                           GEOM::GEOM_Object_ptr thePoint);
   GEOM::GEOM_Object_ptr GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
-                                        const GEOM::ListOfGO& theParts);
-  GEOM::ListOfGO* GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
-                                   const GEOM::ListOfGO& theParts);
+                                        GEOM::GEOM_List_ptr theParts);
+  GEOM::GEOM_List_ptr GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
+                                           GEOM::GEOM_List_ptr theParts);
   GEOM::GEOM_Object_ptr MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
                                                   const CORBA::Long     theDirFace1,
                                                   const CORBA::Long     theDirFace2,
@@ -399,11 +424,11 @@ public:
   GEOM::GEOM_Object_ptr MakeArc (GEOM::GEOM_Object_ptr thePnt1,
                                 GEOM::GEOM_Object_ptr thePnt2,
                                 GEOM::GEOM_Object_ptr thePnt3);
-  GEOM::GEOM_Object_ptr MakePolyline (const GEOM::ListOfGO& thePoints);
-  GEOM::GEOM_Object_ptr MakeSplineBezier (const GEOM::ListOfGO& thePoints);
-  GEOM::GEOM_Object_ptr MakeSplineInterpolation (const GEOM::ListOfGO& thePoints);
+  GEOM::GEOM_Object_ptr MakePolyline (GEOM::GEOM_List_ptr thePoints);
+  GEOM::GEOM_Object_ptr MakeSplineBezier (GEOM::GEOM_List_ptr thePoints);
+  GEOM::GEOM_Object_ptr MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints);
   GEOM::GEOM_Object_ptr MakeSketcher (const char* theCommand, 
-                                     const GEOM::ListOfDouble& theWorkingPlane);
+                                     const GEOM::GEOM_List_ptr theWorkingPlane);
 
   //-----------------------------------------------------------//
   // LocalOperations                                           //
@@ -411,16 +436,16 @@ public:
   GEOM::GEOM_Object_ptr MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
                                       CORBA::Double theR);
   GEOM::GEOM_Object_ptr MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
-                                        const GEOM::ListOfLong& theEdges);
+                                        GEOM::GEOM_List_ptr theEdges);
   GEOM::GEOM_Object_ptr MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
-                                        const GEOM::ListOfLong& theFaces);
+                                        GEOM::GEOM_List_ptr theFaces);
   GEOM::GEOM_Object_ptr MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD);
   GEOM::GEOM_Object_ptr MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
                                         CORBA::Double theD1, CORBA::Double theD2,
                                         CORBA::Long theFace1, CORBA::Long theFace2);
   GEOM::GEOM_Object_ptr MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
                                          CORBA::Double theD1, CORBA::Double theD2,
-                                         const GEOM::ListOfLong& theFaces);
+                                         GEOM::GEOM_List_ptr theFaces);
   GEOM::GEOM_Object_ptr MakeArchimede (GEOM::GEOM_Object_ptr theShape,
                                        CORBA::Double theWeight,
                                       CORBA::Double theWaterDensity,
@@ -439,12 +464,13 @@ public:
                     CORBA::Long theSubShapeId);
   CORBA::Long GetType (GEOM::GEOM_Object_ptr theGroup);
   GEOM::GEOM_Object_ptr GetMainShape (GEOM::GEOM_Object_ptr theGroup);
-  GEOM::ListOfLong* GetObjects (GEOM::GEOM_Object_ptr theGroup);
+  GEOM::GEOM_List_ptr GetObjects (GEOM::GEOM_Object_ptr theGroup);
   
 private:
   SALOME_NamingService *  name_service; 
   GEOM::GEOM_Gen_ptr      myGeomEngine;
   CORBA::Long             myStudyID;
+  PortableServer::POA_var myPOA;
   
   GEOM::GEOM_IBasicOperations_ptr     myBasicOp;
   GEOM::GEOM_I3DPrimOperations_ptr    my3DPrimOp;
index 14c03b7bf260cb99a3ff5c5441abd31ba91fe856..961912a8119de0a403461609ed989742ced38339 100644 (file)
@@ -43,7 +43,7 @@ LIB_SERVER_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Component.idl SALOM
                  SALOME_GenericObj.idl SALOME_ModuleCatalog.idl GEOM_Gen.idl GEOM_Superv.idl \
 
 # Executables targets
-BIN = 
+BIN =
 BIN_SRC = 
 BIN_CLIENT_IDL = 
 BIN_SERVER_IDL =