Salome HOME
GDD: Check that the PipeTShape is a block if it is required by user
[modules/geom.git] / idl / GEOM_Superv.idl
index 98d819daf53cf3e67e8be321cef78a42e1d00ac6..9b544281f8a374b405ce8f74792d8339ca285b27 100644 (file)
@@ -1,27 +1,28 @@
-//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-// 
-//  This library is free software; you can redistribute it and/or 
-//  modify it under the terms of the GNU Lesser General Public 
-//  License as published by the Free Software Foundation; either 
-//  version 2.1 of the License. 
-// 
-//  This library is distributed in the hope that it will be useful, 
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-//  Lesser General Public License for more details. 
-// 
-//  You should have received a copy of the GNU Lesser General Public 
-//  License along with this library; if not, write to the Free Software 
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-// 
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//  Copyright (C) 2007-2010  CEA/DEN, EDF R&D, OPEN CASCADE
 //
+//  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 //
+//  This library is free software; you can redistribute it and/or
+//  modify it under the terms of the GNU Lesser General Public
+//  License as published by the Free Software Foundation; either
+//  version 2.1 of the License.
 //
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 //  File   : GEOM_Superv.idl
 //  Author : Lucien PIGNOLONI
-
+//
 #ifndef __GEOM_SUPERV__
 #define __GEOM_SUPERV__
 
@@ -94,9 +95,19 @@ module GEOM
                                 in double      theTrimSize) ;
     GEOM_Object MakePlaneFace (in GEOM_Object theFace,
                               in double      theTrimSize) ;
+    GEOM_Object MakePlane2Vec (in GEOM_Object theVec1,
+                              in GEOM_Object theVec2,
+                              in double      theTrimSize) ;
+    GEOM_Object MakePlaneLCS (in GEOM_Object theLCS,
+                             in double      theTrimSize,
+                             in double      theOrientation) ;
     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) ;
+                           
+    GEOM_Object MakeMarkerFromShape (in GEOM_Object theShape) ;
+    
+    GEOM_Object MakeMarkerPntTwoVec (in GEOM_Object theOrigin, in GEOM_Object theXVec, in GEOM_Object theYVec) ;
 
     /*!
      *  Create a tangent plane to specified face in the point with specified parameters.
@@ -126,6 +137,20 @@ module GEOM
                               in double theDZ) ;
     GEOM_Object MakeBoxTwoPnt (in GEOM_Object thePnt1, 
                               in GEOM_Object thePnt2) ;
+    GEOM_Object MakeFaceHW (in double theH, 
+                           in double theW,
+                           in short  theOrientation) ;
+    GEOM_Object MakeFaceObjHW (in GEOM_Object theObj, 
+                              in double      theH,
+                              in double      theW) ;
+    GEOM_Object MakeDiskPntVecR (in GEOM_Object thePnt,
+                                in GEOM_Object theVec,
+                                in double      theR) ;
+    GEOM_Object MakeDiskThreePnt (in GEOM_Object thePnt1,
+                                 in GEOM_Object thePnt2,
+                                 in GEOM_Object thePnt3) ;
+    GEOM_Object MakeDiskR (in double theR, 
+                          in short  theOrientation) ;
     GEOM_Object MakeCylinderPntVecRH (in GEOM_Object thePnt,
                                      in GEOM_Object theAxis,
                                      in double      theRadius,
@@ -176,7 +201,9 @@ module GEOM
     GEOM_Object MakeFilling (in GEOM_Object theShape,
                             in long theMinDeg, in long theMaxDeg,
                             in double theTol2D, in double theTol3D,
-                            in long theNbIter, in boolean theApprox) ;
+                            in long theNbIter,
+                             in filling_oper_method theMethod,
+                             in boolean theApprox) ;
     GEOM_Object MakeThruSections(in ListOfGO theSeqSections,
                                 in boolean theModeSolid,
                                 in double thePreci,
@@ -198,6 +225,10 @@ module GEOM
     GEOM_Object MakePipeShellsWithoutPath (in ListOfGO theSeqBases,
                                           in ListOfGO theLocations );
 
+    GEOM_Object MakePipeBiNormalAlongVector (in GEOM_Object theBase, 
+                                            in GEOM_Object thePath, 
+                                            in GEOM_Object theVec);
+
     //-----------------------------------------------------------//
     // BooleanOperations                                         //
     //-----------------------------------------------------------//
@@ -249,6 +280,10 @@ module GEOM
                                 in GEOM_Object theVector) ;
     GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
                                     in GEOM_Object theVector) ;
+    GEOM_Object TranslateVectorDistance (in GEOM_Object theObject,
+                                        in GEOM_Object theVector,
+                                        in double      theDistance,
+                                        in boolean     theCopy) ;
     GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
                                  in GEOM_Object theVector,
                                  in double      theStep,
@@ -305,19 +340,35 @@ module GEOM
     GEOM_Object ScaleShapeCopy (in GEOM_Object theObject, 
                                in GEOM_Object thePoint,
                                in double      theFactor) ;
+    GEOM_Object ScaleShapeAlongAxes (in GEOM_Object theObject,
+                                     in GEOM_Object thePoint,
+                                     in double theFactorX,
+                                     in double theFactorY,
+                                     in double theFactorZ);
+    GEOM_Object ScaleShapeAlongAxesCopy (in GEOM_Object theObject,
+                                         in GEOM_Object thePoint,
+                                         in double theFactorX,
+                                         in double theFactorY,
+                                         in double theFactorZ);
     GEOM_Object PositionShape (in GEOM_Object theObject,
                               in GEOM_Object theStartLCS,
                               in GEOM_Object theEndLCS) ;
     GEOM_Object PositionShapeCopy (in GEOM_Object theObject,
                                   in GEOM_Object theStartLCS,
                                   in GEOM_Object theEndLCS) ;
+    GEOM_Object PositionAlongPath (in GEOM_Object theObject,
+                                  in GEOM_Object thePath,
+                                  in double theDistance,
+                                  in boolean theCopy,
+                                  in boolean theReverse);
 
     //-----------------------------------------------------------//
     // ShapesOperations                                          //
     //-----------------------------------------------------------//
     GEOM_Object MakeEdge (in GEOM_Object thePnt1, 
                          in GEOM_Object thePnt2) ;
-    GEOM_Object MakeWire (in GEOM_List theEdgesAndWires) ;
+    GEOM_Object MakeWire (in GEOM_List theEdgesAndWires,
+                          in double    theTolerance) ;
     GEOM_Object MakeFace (in GEOM_Object theWire, 
                          in boolean     isPlanarWanted) ;
     GEOM_Object MakeFaceWires (in GEOM_List theWires, 
@@ -342,6 +393,15 @@ module GEOM
     long NumberOfEdges (in GEOM_Object theShape) ;
     GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
 
+    GEOM_List GetShapesOnShape (in GEOM_Object theCheckShape,
+                               in GEOM_Object theShape, 
+                               in short       theShapeType,
+                               in shape_state theState);
+    GEOM_Object GetShapesOnShapeAsCompound (in GEOM_Object theCheckShape,
+                                           in GEOM_Object theShape, 
+                                           in short       theShapeType,
+                                           in shape_state theState);
+
     //-----------------------------------------------------------//
     // BlocksOperations                                          //
     //-----------------------------------------------------------//
@@ -432,6 +492,11 @@ module GEOM
                             in GEOM_Object theVec,
                             in double      theRMajor,
                             in double      theRMinor) ;
+    GEOM_Object MakeEllipseVec (in GEOM_Object thePnt,
+                               in GEOM_Object theVec,
+                               in double      theRMajor,
+                               in double      theRMinor,
+                               in GEOM_Object theVecMaj) ;
     GEOM_Object MakeArc (in GEOM_Object thePnt1,
                         in GEOM_Object thePnt2,
                         in GEOM_Object thePnt3) ;
@@ -439,9 +504,13 @@ module GEOM
                                in GEOM_Object thePnt1,
                                in GEOM_Object thePnt2,
                                in boolean theSense) ;
+    GEOM_Object MakeArcOfEllipse (in GEOM_Object theCenter,
+                                in GEOM_Object thePnt1,
+                                in GEOM_Object thePnt2) ;
     GEOM_Object MakePolyline (in GEOM_List thePoints) ;
     GEOM_Object MakeSplineBezier (in GEOM_List thePoints) ;
-    GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints) ;
+    GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints,
+                                         in boolean   theIsClosed) ;
     GEOM_Object MakeSketcher (in string    theCommand, 
                              in GEOM_List theWorkingPlane) ;
     
@@ -464,6 +533,9 @@ module GEOM
                                     in double      theR1,
                                     in double      theR2,
                                     in GEOM_List   theFaces) ;
+    GEOM_Object MakeFillet2D (in GEOM_Object theShape,
+                             in double      theR,
+                             in GEOM_List   theVertexes) ;
     GEOM_Object MakeChamferAll (in GEOM_Object theShape,
                                in double      theD) ;
     GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
@@ -504,7 +576,38 @@ module GEOM
     GEOM_Object  GetMainShape(in GEOM_Object theGroup) ;
     GEOM_List  GetObjects(in GEOM_Object theGroup) ;
 
-  };
+    //-----------------------------------------------------------//
+    // AdvancedOperations                                        //
+    //-----------------------------------------------------------//
+    GEOM_List MakePipeTShape (in double theR1, in double theW1, in double theL1, 
+                in double theR2, in double theW2, in double theL2,
+                in boolean theHexMesh);
+              
+    GEOM_List MakePipeTShapeWithPosition (in double theR1, in double theW1, in double theL1, 
+                        in double theR2, in double theW2, in double theL2,
+                        in boolean theHexMesh,
+                        in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
+                        
+    GEOM_List MakePipeTShapeChamfer (in double theR1, in double theW1, in double theL1,
+                    in double theR2, in double theW2, in double theL2,
+                    in double theH, in double theW, in boolean theHexMesh);
+                    
+    GEOM_List MakePipeTShapeChamferWithPosition (in double theR1, in double theW1, in double theL1, 
+                           in double theR2, in double theW2, in double theL2, 
+                           in double theH, in double theW, in boolean theHexMesh,
+                           in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
+                           
+    GEOM_List MakePipeTShapeFillet (in double theR1, in double theW1, in double theL1, 
+                      in double theR2, in double theW2, in double theL2, 
+                      in double theRF, in boolean theHexMesh);
+                      
+    GEOM_List MakePipeTShapeFilletWithPosition (in double theR1, in double theW1, in double theL1, 
+                          in double theR2, in double theW2, in double theL2, 
+                          in double theRF, in boolean theHexMesh,
+                          in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
+
+    /*@@ insert new functions before this line @@ do not remove this line @@*/
+ };
 };
 
 #endif