idl/GEOM_Superv.idl

Go to the documentation of this file.
00001 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00002 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
00003 // 
00004 //  This library is free software; you can redistribute it and/or 
00005 //  modify it under the terms of the GNU Lesser General Public 
00006 //  License as published by the Free Software Foundation; either 
00007 //  version 2.1 of the License. 
00008 // 
00009 //  This library is distributed in the hope that it will be useful, 
00010 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
00011 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
00012 //  Lesser General Public License for more details. 
00013 // 
00014 //  You should have received a copy of the GNU Lesser General Public 
00015 //  License along with this library; if not, write to the Free Software 
00016 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
00017 // 
00018 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00019 //
00020 //
00021 //
00022 //  File   : GEOM_Superv.idl
00023 //  Author : Lucien PIGNOLONI
00024 
00025 #ifndef __GEOM_SUPERV__
00026 #define __GEOM_SUPERV__
00027 
00028 #include "GEOM_Gen.idl"
00029 
00030 module GEOM
00031 {
00032   interface GEOM_List
00033   { };
00034 
00035   interface GEOM_Superv : Engines::Component,SALOMEDS::Driver
00036   {
00037     //-----------------------------------------------------------//
00038     // Set current study ID                                      // 
00039     //-----------------------------------------------------------//
00040     void SetStudyID (in long theStudyID) ;
00041     
00042     //-----------------------------------------------------------//
00043     // Create ListOfGO and add items to it                       // 
00044     //-----------------------------------------------------------//
00045     GEOM_List CreateListOfGO();
00046     void AddItemToListOfGO( inout GEOM_List theList, 
00047                    in GEOM_Object theObject);
00048 
00049     //-----------------------------------------------------------//
00050     // Create ListOfLong and add items to it                     // 
00051     //-----------------------------------------------------------//
00052     GEOM_List CreateListOfLong();
00053     void AddItemToListOfLong( inout GEOM_List theList, 
00054                      in long theObject);
00055 
00056     //-----------------------------------------------------------//
00057     // Create ListOfDouble and add items to it                   // 
00058     //-----------------------------------------------------------//
00059     GEOM_List CreateListOfDouble();
00060     void AddItemToListOfDouble( inout GEOM_List theList, 
00061                     in double theObject);
00062 
00063     //-----------------------------------------------------------//
00064     // Primitives Construction : BasicOperations                 // 
00065     //-----------------------------------------------------------//
00066     GEOM_Object MakePointXYZ (in double theX,
00067                      in double theY,
00068                      in double theZ) ;
00069     GEOM_Object MakePointWithReference (in GEOM_Object theReference,
00070                          in double theX, 
00071                          in double theY, 
00072                          in double theZ) ;
00073     GEOM_Object MakePointOnCurve (in GEOM_Object theRefCurve,
00074                       in double theParameter) ;
00075 
00076     GEOM_Object MakeTangentOnCurve (in GEOM_Object theRefCurve,
00077                          in double theParameter);
00078 
00079     GEOM_Object MakeVectorDXDYDZ (in double theDX,
00080                       in double theDY,
00081                       in double theDZ) ;
00082     GEOM_Object MakeVectorTwoPnt (in GEOM_Object thePnt1,
00083                       in GEOM_Object thePnt2) ;
00084     GEOM_Object MakeLineTwoPnt (in GEOM_Object thePnt1,
00085                     in GEOM_Object thePnt2) ;
00086     GEOM_Object MakePlaneThreePnt (in GEOM_Object thePnt1,
00087                        in GEOM_Object thePnt2,
00088                        in GEOM_Object thePnt3,
00089                        in double theTrimSize) ;
00090     GEOM_Object MakePlanePntVec (in GEOM_Object thePnt,
00091                      in GEOM_Object theVec,
00092                      in double      theTrimSize) ;
00093     GEOM_Object MakePlaneFace (in GEOM_Object theFace,
00094                       in double      theTrimSize) ;
00095     GEOM_Object MakeMarker (in double theOX , in double theOY , in double theOZ,
00096                    in double theXDX, in double theXDY, in double theXDZ,
00097                    in double theYDX, in double theYDY, in double theYDZ) ;
00098 
00108     GEOM_Object MakeTangentPlaneOnFace(in GEOM_Object theFace,
00109                            in double theParameterU,
00110                            in double theParameterV,
00111                            in double theTrimSize);
00112 
00113     //-----------------------------------------------------------//
00114     // Primitives Construction : 3DPrimOperations                //
00115     //-----------------------------------------------------------//
00116     GEOM_Object MakeBox (in double theX1,
00117                 in double theY1,
00118                 in double theZ1,
00119                 in double theX2,
00120                 in double theY2,
00121                 in double theZ2) ; 
00122     GEOM_Object MakeBoxDXDYDZ (in double theDX, 
00123                       in double theDY, 
00124                       in double theDZ) ;
00125     GEOM_Object MakeBoxTwoPnt (in GEOM_Object thePnt1, 
00126                       in GEOM_Object thePnt2) ;
00127     GEOM_Object MakeCylinderPntVecRH (in GEOM_Object thePnt,
00128                           in GEOM_Object theAxis,
00129                           in double      theRadius,
00130                           in double      theHeight) ;
00131     GEOM_Object MakeCylinderRH (in double theR, 
00132                     in double theH) ;
00133     GEOM_Object MakeSphere (in double theX,
00134                    in double theY,
00135                    in double theZ,
00136                    in double theRadius) ;
00137     GEOM_Object MakeSphereR (in double theR) ;
00138     GEOM_Object MakeSpherePntR (in GEOM_Object thePnt, 
00139                     in double      theR) ;
00140     GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt,
00141                        in GEOM_Object theVec,
00142                        in double      theRMajor,
00143                        in double      theRMinor) ;
00144     GEOM_Object MakeTorusRR (in double theRMajor,
00145                     in double theRMinor) ;
00146     GEOM_Object MakeConePntVecR1R2H (in GEOM_Object thePnt,
00147                          in GEOM_Object theAxis,
00148                          in double      theR1,
00149                          in double      theR2,
00150                          in double      theHeight) ;
00151     GEOM_Object MakeConeR1R2H (in double theR1, 
00152                       in double theR2, 
00153                       in double theHeight) ;
00154     GEOM_Object MakePrismVecH (in GEOM_Object theBase,
00155                       in GEOM_Object theVec,
00156                       in double      theH) ;
00157     GEOM_Object MakePrismTwoPnt (in GEOM_Object theBase,
00158                      in GEOM_Object thePoint1,
00159                      in GEOM_Object thePoint2) ;
00160     GEOM_Object MakePipe (in GEOM_Object theBase, 
00161                  in GEOM_Object thePath) ;
00162     GEOM_Object MakeRevolutionAxisAngle (in GEOM_Object theBase,
00163                           in GEOM_Object theAxis,
00164                           in double      theAngle) ;
00165     GEOM_Object MakeFilling (in GEOM_Object theShape,
00166                     in long theMinDeg, in long theMaxDeg,
00167                     in double theTol2D, in double theTol3D,
00168                     in long theNbIter) ;
00169     GEOM_Object MakeThruSections(in ListOfGO theSeqSections,
00170                      in boolean theModeSolid,
00171                      in double thePreci,
00172                                  in boolean theRuled);
00173 
00174     GEOM_Object MakePipeWithDifferentSections (in ListOfGO theSeqBases,
00175                                 in ListOfGO theLocations,
00176                                 in GEOM_Object thePath,
00177                                 in boolean theWithContact ,
00178                                 in boolean theWithCorrection );
00179     
00180     GEOM_Object MakePipeWithShellSections (in ListOfGO theSeqBases,
00181                             in ListOfGO theSeqSubBases,
00182                             in ListOfGO theLocations,
00183                             in GEOM_Object thePath,
00184                             in boolean theWithContact ,
00185                             in boolean theWithCorrection );
00186     
00187     //-----------------------------------------------------------//
00188     // BooleanOperations                                         //
00189     //-----------------------------------------------------------//
00190     GEOM_Object MakeBoolean (in GEOM_Object theShape1,
00191                     in GEOM_Object theShape2,
00192                     in long        theOperation) ;
00193     GEOM_Object MakeFuse (in GEOM_Object theShape1,
00194                  in GEOM_Object theShape2) ;
00195     GEOM_Object MakePartition (in GEOM_List   theShapes,
00196                       in GEOM_List   theTools,
00197                       in GEOM_List   theKeepInside,
00198                       in GEOM_List   theRemoveInside,
00199                       in short       theLimit,
00200                       in boolean     theRemoveWebs,
00201                       in GEOM_List   theMaterials) ;
00202     GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
00203                        in GEOM_Object thePlane) ;
00204 
00205     //-----------------------------------------------------------//
00206     // InsertOperations                                          //
00207     //-----------------------------------------------------------//
00208     GEOM_Object MakeCopy (in GEOM_Object theOriginal) ;
00209     void Export (in GEOM_Object theObject, in string theFileName, in string theFormatName) ;
00210     GEOM_Object Import (in string theFileName, in string theFormatName) ;
00211     void ImportTranslators (out string_array theFormats,
00212                    out string_array thePatterns) ;
00213     void ExportTranslators (out string_array theFormats,
00214                    out string_array thePatterns) ;
00215 
00216     //-----------------------------------------------------------//
00217     // TransformOperations                                       //
00218     //-----------------------------------------------------------//
00219     GEOM_Object TranslateTwoPoints (in GEOM_Object theObject,
00220                         in GEOM_Object thePoint1,
00221                         in GEOM_Object thePoint2) ;
00222     GEOM_Object TranslateTwoPointsCopy (in GEOM_Object theObject,
00223                          in GEOM_Object thePoint1,
00224                                         in GEOM_Object thePoint2) ;
00225     GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject,
00226                      in double      theDX, 
00227                      in double      theDY, 
00228                      in double      theDZ) ;
00229     GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
00230                          in double      theDX, 
00231                          in double      theDY, 
00232                          in double      theDZ) ;
00233     GEOM_Object TranslateVector (in GEOM_Object theObject,
00234                      in GEOM_Object theVector) ;
00235     GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
00236                          in GEOM_Object theVector) ;
00237     GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
00238                       in GEOM_Object theVector,
00239                       in double      theStep,
00240                       in long        theNbTimes) ;
00241     GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
00242                       in GEOM_Object theVector1,
00243                       in double      theStep1,
00244                       in long        theNbTimes1,
00245                       in GEOM_Object theVector2,
00246                       in double      theStep2,
00247                       in long        theNbTimes2) ;
00248     GEOM_Object Rotate (in GEOM_Object theObject,
00249                in GEOM_Object theAxis,
00250                in double      theAngle) ;
00251     GEOM_Object RotateCopy (in GEOM_Object theObject,
00252                    in GEOM_Object theAxis,
00253                    in double      theAngle) ;
00254     GEOM_Object RotateThreePoints (in GEOM_Object theObject,
00255                        in GEOM_Object theCentPoint,
00256                        in GEOM_Object thePoint1,
00257                        in GEOM_Object thePoint2);
00258     GEOM_Object RotateThreePointsCopy (in GEOM_Object theObject,
00259                            in GEOM_Object theCentPoint,
00260                            in GEOM_Object thePoint1,
00261                            in GEOM_Object thePoint2);
00262     GEOM_Object MultiRotate1D (in GEOM_Object theObject,
00263                       in GEOM_Object theAxis,
00264                       in long        theNbTimes) ;
00265     GEOM_Object MultiRotate2D (in GEOM_Object theObject,
00266                       in GEOM_Object theAxis,
00267                       in double      theAngle,
00268                       in long        theNbTimes1,
00269                       in double      theStep,
00270                       in long        theNbTimes2) ;
00271     GEOM_Object MirrorPlane (in GEOM_Object theObject, 
00272                     in GEOM_Object thePlane) ;
00273     GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject, 
00274                      in GEOM_Object thePlane) ;
00275     GEOM_Object MirrorAxis (in GEOM_Object theObject, 
00276                    in GEOM_Object theAxis) ;
00277     GEOM_Object MirrorAxisCopy (in GEOM_Object theObject, 
00278                     in GEOM_Object theAxis) ;
00279     GEOM_Object MirrorPoint (in GEOM_Object theObject, 
00280                     in GEOM_Object thePoint) ;
00281     GEOM_Object MirrorPointCopy (in GEOM_Object theObject, 
00282                      in GEOM_Object thePoint) ;
00283     GEOM_Object OffsetShape (in GEOM_Object theObject, 
00284                     in double      theOffset) ;
00285     GEOM_Object OffsetShapeCopy (in GEOM_Object theObject, 
00286                      in double      theOffset) ;
00287     GEOM_Object ScaleShape (in GEOM_Object theObject, 
00288                    in GEOM_Object thePoint,
00289                    in double      theFactor) ;
00290     GEOM_Object ScaleShapeCopy (in GEOM_Object theObject, 
00291                     in GEOM_Object thePoint,
00292                     in double      theFactor) ;
00293     GEOM_Object PositionShape (in GEOM_Object theObject,
00294                       in GEOM_Object theStartLCS,
00295                       in GEOM_Object theEndLCS) ;
00296     GEOM_Object PositionShapeCopy (in GEOM_Object theObject,
00297                        in GEOM_Object theStartLCS,
00298                        in GEOM_Object theEndLCS) ;
00299 
00300     //-----------------------------------------------------------//
00301     // ShapesOperations                                          //
00302     //-----------------------------------------------------------//
00303     GEOM_Object MakeEdge (in GEOM_Object thePnt1, 
00304                  in GEOM_Object thePnt2) ;
00305     GEOM_Object MakeWire (in GEOM_List theEdgesAndWires) ;
00306     GEOM_Object MakeFace (in GEOM_Object theWire, 
00307                  in boolean     isPlanarWanted) ;
00308     GEOM_Object MakeFaceWires (in GEOM_List theWires, 
00309                       in boolean   isPlanarWanted) ;
00310     GEOM_Object MakeShell (in GEOM_List theFacesAndShells) ;
00311     GEOM_Object MakeSolidShell (in GEOM_Object theShell) ;
00312     GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
00313     GEOM_Object MakeCompound (in GEOM_List theShapes) ;
00314     GEOM_Object MakeGlueFaces (in GEOM_Object theShape, 
00315                       in double theTolerance);
00316     GEOM_List GetGlueFaces (in GEOM_Object theShape, 
00317                    in double theTolerance);
00318     GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape, 
00319                          in double theTolerance,
00320                          in ListOfGO theFaces);
00321     GEOM_List MakeExplode (in GEOM_Object theShape,
00322                   in long        theShapeType,
00323                   in boolean     isSorted) ;
00324     long NumberOfFaces (in GEOM_Object theShape) ;
00325     long NumberOfEdges (in GEOM_Object theShape) ;
00326     GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
00327 
00328     //-----------------------------------------------------------//
00329     // BlocksOperations                                          //
00330     //-----------------------------------------------------------//
00331     GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1,
00332                        in GEOM_Object thePnt2,
00333                        in GEOM_Object thePnt3,
00334                        in GEOM_Object thePnt4) ;
00335     GEOM_Object MakeQuad (in GEOM_Object theEdge1,
00336                  in GEOM_Object theEdge2,
00337                  in GEOM_Object theEdge3,
00338                  in GEOM_Object theEdge4) ;
00339     GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1,
00340                     in GEOM_Object theEdge2) ;
00341     GEOM_Object MakeHexa (in GEOM_Object theFace1,
00342                  in GEOM_Object theFace2,
00343                  in GEOM_Object theFace3,
00344                  in GEOM_Object theFace4,
00345                  in GEOM_Object theFace5,
00346                  in GEOM_Object theFace6) ;
00347     GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1,
00348                     in GEOM_Object theFace2) ;
00349     GEOM_Object GetPoint (in GEOM_Object theShape,
00350                  in double      theX,
00351                  in double      theY,
00352                  in double      theZ,
00353                  in double      theEpsilon) ;
00354     GEOM_Object GetEdge (in GEOM_Object theShape,
00355                 in GEOM_Object thePoint1,
00356                 in GEOM_Object thePoint2) ;
00357     GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape,
00358                       in GEOM_Object thePoint) ;
00359     GEOM_Object GetFaceByPoints (in GEOM_Object theShape,
00360                      in GEOM_Object thePoint1,
00361                      in GEOM_Object thePoint2,
00362                      in GEOM_Object thePoint3,
00363                      in GEOM_Object thePoint4) ;
00364     GEOM_Object GetFaceByEdges (in GEOM_Object theShape,
00365                     in GEOM_Object theEdge1,
00366                     in GEOM_Object theEdge2) ;
00367     GEOM_Object GetOppositeFace (in GEOM_Object theBlock,
00368                      in GEOM_Object theFace) ;
00369     GEOM_Object GetFaceNearPoint (in GEOM_Object theShape,
00370                       in GEOM_Object thePoint) ;
00371     GEOM_Object GetFaceByNormale (in GEOM_Object theBlock,
00372                       in GEOM_Object theVector) ;
00373     boolean IsCompoundOfBlocks (in GEOM_Object theCompound,
00374                     in long        theMinNbFaces,
00375                     in long        theMaxNbFaces,
00376                     out long       theNbBlocks) ;
00377     boolean CheckCompoundOfBlocks (in GEOM_Object theCompound,
00378                        out GEOM_IBlocksOperations::BCErrors   theErrors) ;
00379     string PrintBCErrors (in GEOM_Object theCompound,
00380                  in GEOM_IBlocksOperations::BCErrors    theErrors) ;
00381     GEOM_List ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
00382                            in long        theMinNbFaces,
00383                            in long        theMaxNbFaces) ;
00384     GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound,
00385                        in GEOM_Object thePoint) ;
00386     GEOM_Object GetBlockByParts (in GEOM_Object theCompound,
00387                      in GEOM_List   theParts) ;
00388     GEOM_List GetBlocksByParts (in GEOM_Object theCompound,
00389                     in GEOM_List   theParts) ;
00390     GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
00391                             in long        theDirFace1,
00392                             in long        theDirFace2,
00393                             in long        theNbTimes) ;
00394     GEOM_Object MakeMultiTransformation2D (in GEOM_Object theBlock,
00395                             in long        theDirFace1U,
00396                             in long        theDirFace2U,
00397                             in long        theNbTimesU,
00398                             in long        theDirFace1V,
00399                             in long        theDirFace2V,
00400                             in long        theNbTimesV) ;
00401 
00402     //-----------------------------------------------------------//
00403     // CurvesOperations                                          //
00404     //-----------------------------------------------------------//
00405     GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
00406                        in GEOM_Object theVec,
00407                        in double      theR) ;
00408     GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1,
00409                         in GEOM_Object thePnt2,
00410                         in GEOM_Object thePnt3) ;
00411     GEOM_Object MakeEllipse (in GEOM_Object thePnt,
00412                     in GEOM_Object theVec,
00413                     in double      theRMajor,
00414                     in double      theRMinor) ;
00415     GEOM_Object MakeArc (in GEOM_Object thePnt1,
00416                 in GEOM_Object thePnt2,
00417                 in GEOM_Object thePnt3) ;
00418     GEOM_Object MakeArcCenter (in GEOM_Object theCenter,
00419                                in GEOM_Object thePnt1,
00420                                in GEOM_Object thePnt2,
00421                                in boolean theSense) ;
00422     GEOM_Object MakePolyline (in GEOM_List thePoints) ;
00423     GEOM_Object MakeSplineBezier (in GEOM_List thePoints) ;
00424     GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints) ;
00425     GEOM_Object MakeSketcher (in string    theCommand, 
00426                      in GEOM_List theWorkingPlane) ;
00427     
00428     //-----------------------------------------------------------//
00429     // LocalOperations                                           //
00430     //-----------------------------------------------------------//
00431     GEOM_Object MakeFilletAll (in GEOM_Object theShape,
00432                       in double      theR) ;
00433     GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
00434                      in double      theR,
00435                      in GEOM_List   theEdges) ;
00436     GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
00437                      in double      theR,
00438                      in GEOM_List   theFaces) ;
00439     GEOM_Object MakeChamferAll (in GEOM_Object theShape,
00440                     in double      theD) ;
00441     GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
00442                      in double theD1, in double theD2,
00443                      in long theFace1, in long theFace2) ;
00444     GEOM_Object MakeChamferFaces (in GEOM_Object theShape,
00445                       in double theD1, in double theD2,
00446                       in GEOM_List theFaces) ;
00447     GEOM_Object MakeArchimede (in GEOM_Object theShape,
00448                       in double      theWeight,
00449                       in double      theWaterDensity,
00450                       in double      theMeshDeflection) ;
00451     long GetSubShapeIndex (in GEOM_Object theShape, 
00452                   in GEOM_Object theSubShape) ;
00453 
00454     //-----------------------------------------------------------//
00455     // GroupOperations                                           //
00456     //-----------------------------------------------------------//
00457     GEOM_Object CreateGroup (in GEOM_Object theMainShape, 
00458                     in long        theShapeType) ;
00459     void AddObject (in GEOM_Object theGroup, 
00460               in long        theSubShapeId) ;
00461     void RemoveObject (in GEOM_Object theGroup, 
00462                  in long        theSubShapeId) ;
00463     long GetType (in GEOM_Object theGroup) ;
00464     GEOM_Object  GetMainShape(in GEOM_Object theGroup) ;
00465     GEOM_List  GetObjects(in GEOM_Object theGroup) ;
00466 
00467   };
00468 };
00469 
00470 #endif