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     //-----------------------------------------------------------//
00181     // BooleanOperations                                         //
00182     //-----------------------------------------------------------//
00183     GEOM_Object MakeBoolean (in GEOM_Object theShape1,
00184                     in GEOM_Object theShape2,
00185                     in long        theOperation) ;
00186     GEOM_Object MakeFuse (in GEOM_Object theShape1,
00187                  in GEOM_Object theShape2) ;
00188     GEOM_Object MakePartition (in GEOM_List   theShapes,
00189                       in GEOM_List   theTools,
00190                       in GEOM_List   theKeepInside,
00191                       in GEOM_List   theRemoveInside,
00192                       in short       theLimit,
00193                       in boolean     theRemoveWebs,
00194                       in GEOM_List   theMaterials) ;
00195     GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
00196                        in GEOM_Object thePlane) ;
00197 
00198     //-----------------------------------------------------------//
00199     // InsertOperations                                          //
00200     //-----------------------------------------------------------//
00201     GEOM_Object MakeCopy (in GEOM_Object theOriginal) ;
00202     void Export (in GEOM_Object theObject, in string theFileName, in string theFormatName) ;
00203     GEOM_Object Import (in string theFileName, in string theFormatName) ;
00204     void ImportTranslators (out string_array theFormats,
00205                    out string_array thePatterns) ;
00206     void ExportTranslators (out string_array theFormats,
00207                    out string_array thePatterns) ;
00208 
00209     //-----------------------------------------------------------//
00210     // TransformOperations                                       //
00211     //-----------------------------------------------------------//
00212     GEOM_Object TranslateTwoPoints (in GEOM_Object theObject,
00213                         in GEOM_Object thePoint1,
00214                         in GEOM_Object thePoint2) ;
00215     GEOM_Object TranslateTwoPointsCopy (in GEOM_Object theObject,
00216                          in GEOM_Object thePoint1,
00217                                         in GEOM_Object thePoint2) ;
00218     GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject,
00219                      in double      theDX, 
00220                      in double      theDY, 
00221                      in double      theDZ) ;
00222     GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
00223                          in double      theDX, 
00224                          in double      theDY, 
00225                          in double      theDZ) ;
00226     GEOM_Object TranslateVector (in GEOM_Object theObject,
00227                      in GEOM_Object theVector) ;
00228     GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
00229                          in GEOM_Object theVector) ;
00230     GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
00231                       in GEOM_Object theVector,
00232                       in double      theStep,
00233                       in long        theNbTimes) ;
00234     GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
00235                       in GEOM_Object theVector1,
00236                       in double      theStep1,
00237                       in long        theNbTimes1,
00238                       in GEOM_Object theVector2,
00239                       in double      theStep2,
00240                       in long        theNbTimes2) ;
00241     GEOM_Object Rotate (in GEOM_Object theObject,
00242                in GEOM_Object theAxis,
00243                in double      theAngle) ;
00244     GEOM_Object RotateCopy (in GEOM_Object theObject,
00245                    in GEOM_Object theAxis,
00246                    in double      theAngle) ;
00247     GEOM_Object MultiRotate1D (in GEOM_Object theObject,
00248                       in GEOM_Object theAxis,
00249                       in long        theNbTimes) ;
00250     GEOM_Object MultiRotate2D (in GEOM_Object theObject,
00251                       in GEOM_Object theAxis,
00252                       in double      theAngle,
00253                       in long        theNbTimes1,
00254                       in double      theStep,
00255                       in long        theNbTimes2) ;
00256     GEOM_Object MirrorPlane (in GEOM_Object theObject, 
00257                     in GEOM_Object thePlane) ;
00258     GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject, 
00259                      in GEOM_Object thePlane) ;
00260     GEOM_Object MirrorAxis (in GEOM_Object theObject, 
00261                    in GEOM_Object theAxis) ;
00262     GEOM_Object MirrorAxisCopy (in GEOM_Object theObject, 
00263                     in GEOM_Object theAxis) ;
00264     GEOM_Object MirrorPoint (in GEOM_Object theObject, 
00265                     in GEOM_Object thePoint) ;
00266     GEOM_Object MirrorPointCopy (in GEOM_Object theObject, 
00267                      in GEOM_Object thePoint) ;
00268     GEOM_Object OffsetShape (in GEOM_Object theObject, 
00269                     in double      theOffset) ;
00270     GEOM_Object OffsetShapeCopy (in GEOM_Object theObject, 
00271                      in double      theOffset) ;
00272     GEOM_Object ScaleShape (in GEOM_Object theObject, 
00273                    in GEOM_Object thePoint,
00274                    in double      theFactor) ;
00275     GEOM_Object ScaleShapeCopy (in GEOM_Object theObject, 
00276                     in GEOM_Object thePoint,
00277                     in double      theFactor) ;
00278     GEOM_Object PositionShape (in GEOM_Object theObject,
00279                       in GEOM_Object theStartLCS,
00280                       in GEOM_Object theEndLCS) ;
00281     GEOM_Object PositionShapeCopy (in GEOM_Object theObject,
00282                        in GEOM_Object theStartLCS,
00283                        in GEOM_Object theEndLCS) ;
00284 
00285     //-----------------------------------------------------------//
00286     // ShapesOperations                                          //
00287     //-----------------------------------------------------------//
00288     GEOM_Object MakeEdge (in GEOM_Object thePnt1, 
00289                  in GEOM_Object thePnt2) ;
00290     GEOM_Object MakeWire (in GEOM_List theEdgesAndWires) ;
00291     GEOM_Object MakeFace (in GEOM_Object theWire, 
00292                  in boolean     isPlanarWanted) ;
00293     GEOM_Object MakeFaceWires (in GEOM_List theWires, 
00294                       in boolean   isPlanarWanted) ;
00295     GEOM_Object MakeShell (in GEOM_List theFacesAndShells) ;
00296     GEOM_Object MakeSolidShell (in GEOM_Object theShell) ;
00297     GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
00298     GEOM_Object MakeCompound (in GEOM_List theShapes) ;
00299     GEOM_Object MakeGlueFaces (in GEOM_Object theShape, 
00300                       in double      theTolerance) ;
00301     GEOM_List MakeExplode (in GEOM_Object theShape,
00302                   in long        theShapeType,
00303                   in boolean     isSorted) ;
00304     long NumberOfFaces (in GEOM_Object theShape) ;
00305     long NumberOfEdges (in GEOM_Object theShape) ;
00306     GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
00307 
00308     //-----------------------------------------------------------//
00309     // BlocksOperations                                          //
00310     //-----------------------------------------------------------//
00311     GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1,
00312                        in GEOM_Object thePnt2,
00313                        in GEOM_Object thePnt3,
00314                        in GEOM_Object thePnt4) ;
00315     GEOM_Object MakeQuad (in GEOM_Object theEdge1,
00316                  in GEOM_Object theEdge2,
00317                  in GEOM_Object theEdge3,
00318                  in GEOM_Object theEdge4) ;
00319     GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1,
00320                     in GEOM_Object theEdge2) ;
00321     GEOM_Object MakeHexa (in GEOM_Object theFace1,
00322                  in GEOM_Object theFace2,
00323                  in GEOM_Object theFace3,
00324                  in GEOM_Object theFace4,
00325                  in GEOM_Object theFace5,
00326                  in GEOM_Object theFace6) ;
00327     GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1,
00328                     in GEOM_Object theFace2) ;
00329     GEOM_Object GetPoint (in GEOM_Object theShape,
00330                  in double      theX,
00331                  in double      theY,
00332                  in double      theZ,
00333                  in double      theEpsilon) ;
00334     GEOM_Object GetEdge (in GEOM_Object theShape,
00335                 in GEOM_Object thePoint1,
00336                 in GEOM_Object thePoint2) ;
00337     GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape,
00338                       in GEOM_Object thePoint) ;
00339     GEOM_Object GetFaceByPoints (in GEOM_Object theShape,
00340                      in GEOM_Object thePoint1,
00341                      in GEOM_Object thePoint2,
00342                      in GEOM_Object thePoint3,
00343                      in GEOM_Object thePoint4) ;
00344     GEOM_Object GetFaceByEdges (in GEOM_Object theShape,
00345                     in GEOM_Object theEdge1,
00346                     in GEOM_Object theEdge2) ;
00347     GEOM_Object GetOppositeFace (in GEOM_Object theBlock,
00348                      in GEOM_Object theFace) ;
00349     GEOM_Object GetFaceNearPoint (in GEOM_Object theShape,
00350                       in GEOM_Object thePoint) ;
00351     GEOM_Object GetFaceByNormale (in GEOM_Object theBlock,
00352                       in GEOM_Object theVector) ;
00353     boolean IsCompoundOfBlocks (in GEOM_Object theCompound,
00354                     in long        theMinNbFaces,
00355                     in long        theMaxNbFaces,
00356                     out long       theNbBlocks) ;
00357     boolean CheckCompoundOfBlocks (in GEOM_Object theCompound,
00358                        out GEOM_IBlocksOperations::BCErrors   theErrors) ;
00359     string PrintBCErrors (in GEOM_Object theCompound,
00360                  in GEOM_IBlocksOperations::BCErrors    theErrors) ;
00361     GEOM_List ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
00362                            in long        theMinNbFaces,
00363                            in long        theMaxNbFaces) ;
00364     GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound,
00365                        in GEOM_Object thePoint) ;
00366     GEOM_Object GetBlockByParts (in GEOM_Object theCompound,
00367                      in GEOM_List   theParts) ;
00368     GEOM_List GetBlocksByParts (in GEOM_Object theCompound,
00369                     in GEOM_List   theParts) ;
00370     GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
00371                             in long        theDirFace1,
00372                             in long        theDirFace2,
00373                             in long        theNbTimes) ;
00374     GEOM_Object MakeMultiTransformation2D (in GEOM_Object theBlock,
00375                             in long        theDirFace1U,
00376                             in long        theDirFace2U,
00377                             in long        theNbTimesU,
00378                             in long        theDirFace1V,
00379                             in long        theDirFace2V,
00380                             in long        theNbTimesV) ;
00381 
00382     //-----------------------------------------------------------//
00383     // CurvesOperations                                          //
00384     //-----------------------------------------------------------//
00385     GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
00386                        in GEOM_Object theVec,
00387                        in double      theR) ;
00388     GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1,
00389                         in GEOM_Object thePnt2,
00390                         in GEOM_Object thePnt3) ;
00391     GEOM_Object MakeEllipse (in GEOM_Object thePnt,
00392                     in GEOM_Object theVec,
00393                     in double      theRMajor,
00394                     in double      theRMinor) ;
00395     GEOM_Object MakeArc (in GEOM_Object thePnt1,
00396                 in GEOM_Object thePnt2,
00397                 in GEOM_Object thePnt3) ;
00398     GEOM_Object MakePolyline (in GEOM_List thePoints) ;
00399     GEOM_Object MakeSplineBezier (in GEOM_List thePoints) ;
00400     GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints) ;
00401     GEOM_Object MakeSketcher (in string    theCommand, 
00402                      in GEOM_List theWorkingPlane) ;
00403     
00404     //-----------------------------------------------------------//
00405     // LocalOperations                                           //
00406     //-----------------------------------------------------------//
00407     GEOM_Object MakeFilletAll (in GEOM_Object theShape,
00408                       in double      theR) ;
00409     GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
00410                      in double      theR,
00411                      in GEOM_List   theEdges) ;
00412     GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
00413                      in double      theR,
00414                      in GEOM_List   theFaces) ;
00415     GEOM_Object MakeChamferAll (in GEOM_Object theShape,
00416                     in double      theD) ;
00417     GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
00418                      in double theD1, in double theD2,
00419                      in long theFace1, in long theFace2) ;
00420     GEOM_Object MakeChamferFaces (in GEOM_Object theShape,
00421                       in double theD1, in double theD2,
00422                       in GEOM_List theFaces) ;
00423     GEOM_Object MakeArchimede (in GEOM_Object theShape,
00424                       in double      theWeight,
00425                       in double      theWaterDensity,
00426                       in double      theMeshDeflection) ;
00427     long GetSubShapeIndex (in GEOM_Object theShape, 
00428                   in GEOM_Object theSubShape) ;
00429 
00430     //-----------------------------------------------------------//
00431     // GroupOperations                                           //
00432     //-----------------------------------------------------------//
00433     GEOM_Object CreateGroup (in GEOM_Object theMainShape, 
00434                     in long        theShapeType) ;
00435     void AddObject (in GEOM_Object theGroup, 
00436               in long        theSubShapeId) ;
00437     void RemoveObject (in GEOM_Object theGroup, 
00438                  in long        theSubShapeId) ;
00439     long GetType (in GEOM_Object theGroup) ;
00440     GEOM_Object  GetMainShape(in GEOM_Object theGroup) ;
00441     GEOM_List  GetObjects(in GEOM_Object theGroup) ;
00442 
00443   };
00444 };
00445 
00446 #endif