Salome HOME
0016757: EDF 546 GEOM : Add Face and Disc in geom primitives
[modules/geom.git] / src / GEOM_I_Superv / GEOM_Superv_i.hh
index 0d303970496751e0e5a07a2c15078bda6dd62567..deea12244866079df5b167ee60bff9c5116714e7 100644 (file)
@@ -187,6 +187,17 @@ public:
                                       CORBA::Double theDZ);
   GEOM::GEOM_Object_ptr MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1, 
                                       GEOM::GEOM_Object_ptr thePnt2);
+  GEOM::GEOM_Object_ptr MakeFaceHW (CORBA::Double theH,
+                                   CORBA::Double theW);
+  GEOM::GEOM_Object_ptr MakeFacePlaneHW (GEOM::GEOM_Object_ptr theFace, 
+                                        CORBA::Double theH,
+                                        CORBA::Double theW);
+  GEOM::GEOM_Object_ptr MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
+                                        GEOM::GEOM_Object_ptr theVector,
+                                        CORBA::Double theR);
+  GEOM::GEOM_Object_ptr MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
+                                         GEOM::GEOM_Object_ptr thePnt2,
+                                         GEOM::GEOM_Object_ptr thePnt3);
   GEOM::GEOM_Object_ptr MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
                                              GEOM::GEOM_Object_ptr theAxis,
                                              CORBA::Double theRadius,
@@ -226,6 +237,14 @@ public:
   GEOM::GEOM_Object_ptr MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
                                              GEOM::GEOM_Object_ptr thePoint1,
                                              GEOM::GEOM_Object_ptr thePoint2);
+  GEOM::GEOM_Object_ptr MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
+                                        CORBA::Double         theDX,
+                                        CORBA::Double         theDY,
+                                        CORBA::Double         theDZ);
+  GEOM::GEOM_Object_ptr MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
+                                             CORBA::Double         theDX,
+                                             CORBA::Double         theDY,
+                                             CORBA::Double         theDZ);
   GEOM::GEOM_Object_ptr MakePipe (GEOM::GEOM_Object_ptr theBase, 
                                  GEOM::GEOM_Object_ptr thePath);
   GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
@@ -237,7 +256,7 @@ public:
   GEOM::GEOM_Object_ptr MakeFilling (GEOM::GEOM_Object_ptr theShape,
                                     CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
                                     CORBA::Double theTol2D, CORBA::Double theTol3D,
-                                    CORBA::Long theNbIter);
+                                    CORBA::Long theNbIter, CORBA::Boolean theApprox);
 
   GEOM::GEOM_Object_ptr MakeThruSections(const GEOM::ListOfGO& theSeqSections,
                                         CORBA::Boolean theModeSolid,
@@ -314,6 +333,10 @@ public:
                                         GEOM::GEOM_Object_ptr theVector);
   GEOM::GEOM_Object_ptr TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
                                             GEOM::GEOM_Object_ptr theVector);
+  GEOM::GEOM_Object_ptr TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
+                                                GEOM::GEOM_Object_ptr theVector,
+                                                CORBA::Double theDistance,
+                                                CORBA::Boolean theCopy);
   GEOM::GEOM_Object_ptr MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
                                          GEOM::GEOM_Object_ptr theVector,
                                          CORBA::Double theStep,
@@ -373,6 +396,16 @@ public:
   GEOM::GEOM_Object_ptr ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject, 
                                        GEOM::GEOM_Object_ptr thePoint,
                                        CORBA::Double theFactor);
+  GEOM::GEOM_Object_ptr ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
+                                            GEOM::GEOM_Object_ptr thePoint,
+                                            CORBA::Double theFactorX,
+                                            CORBA::Double theFactorY,
+                                            CORBA::Double theFactorZ);
+  GEOM::GEOM_Object_ptr ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
+                                                GEOM::GEOM_Object_ptr thePoint,
+                                                CORBA::Double theFactorX,
+                                                CORBA::Double theFactorY,
+                                                CORBA::Double theFactorZ);
   GEOM::GEOM_Object_ptr PositionShape (GEOM::GEOM_Object_ptr theObject,
                                       GEOM::GEOM_Object_ptr theStartLCS,
                                       GEOM::GEOM_Object_ptr theEndLCS);
@@ -410,6 +443,17 @@ public:
   CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
   GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape);
 
+  GEOM::GEOM_List_ptr GetShapesOnShape (GEOM::GEOM_Object_ptr theCheckShape,
+                                       GEOM::GEOM_Object_ptr theShape,
+                                       CORBA::Short theShapeType,
+                                       GEOM::shape_state theState);
+  GEOM::GEOM_Object_ptr GetShapesOnShapeAsCompound
+                                       (GEOM::GEOM_Object_ptr theCheckShape,
+                                       GEOM::GEOM_Object_ptr theShape,
+                                       CORBA::Short theShapeType,
+                                       GEOM::shape_state theState);
+
+
   //-----------------------------------------------------------//
   // BlocksOperations                                          //
   //-----------------------------------------------------------//
@@ -566,21 +610,21 @@ public:
   
 private:
   SALOME_NamingService *  name_service; 
-  GEOM::GEOM_Gen_ptr      myGeomEngine;
+  GEOM::GEOM_Gen_var      myGeomEngine;
   CORBA::Long             myStudyID;
   CORBA::Long             myLastStudyID; // mkr : PAL10770
   PortableServer::POA_var myPOA;
   
-  GEOM::GEOM_IBasicOperations_ptr     myBasicOp;
-  GEOM::GEOM_I3DPrimOperations_ptr    my3DPrimOp;
-  GEOM::GEOM_IBooleanOperations_ptr   myBoolOp;
-  GEOM::GEOM_IInsertOperations_ptr    myInsOp;
-  GEOM::GEOM_ITransformOperations_ptr myTransfOp;
-  GEOM::GEOM_IShapesOperations_ptr    myShapesOp;
-  GEOM::GEOM_IBlocksOperations_ptr    myBlocksOp;
-  GEOM::GEOM_ICurvesOperations_ptr    myCurvesOp;
-  GEOM::GEOM_ILocalOperations_ptr     myLocalOp;
-  GEOM::GEOM_IGroupOperations_ptr     myGroupOp;
+  GEOM::GEOM_IBasicOperations_var     myBasicOp;
+  GEOM::GEOM_I3DPrimOperations_var    my3DPrimOp;
+  GEOM::GEOM_IBooleanOperations_var   myBoolOp;
+  GEOM::GEOM_IInsertOperations_var    myInsOp;
+  GEOM::GEOM_ITransformOperations_var myTransfOp;
+  GEOM::GEOM_IShapesOperations_var    myShapesOp;
+  GEOM::GEOM_IBlocksOperations_var    myBlocksOp;
+  GEOM::GEOM_ICurvesOperations_var    myCurvesOp;
+  GEOM::GEOM_ILocalOperations_var     myLocalOp;
+  GEOM::GEOM_IGroupOperations_var     myGroupOp;
 
 };