Back to index

salome-geom  6.5.0
GEOM_Superv.idl
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
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::EngineComponent,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     GEOM_Object MakePointOnCurveByLength (in GEOM_Object theRefCurve,
00076                                           in double theLength,
00077                                           in GEOM_Object theStartPoint);
00078 
00079     GEOM_Object MakeTangentOnCurve (in GEOM_Object theRefCurve,
00080                                      in double theParameter);
00081 
00082     GEOM_Object MakeVectorDXDYDZ (in double theDX,
00083                                   in double theDY,
00084                                   in double theDZ) ;
00085     GEOM_Object MakeVectorTwoPnt (in GEOM_Object thePnt1,
00086                                   in GEOM_Object thePnt2) ;
00087     GEOM_Object MakeLineTwoPnt (in GEOM_Object thePnt1,
00088                                 in GEOM_Object thePnt2) ;
00089     GEOM_Object MakeLineTwoFaces (in GEOM_Object theFace1,
00090                                   in GEOM_Object theFace2) ;
00091     GEOM_Object MakePlaneThreePnt (in GEOM_Object thePnt1,
00092                                    in GEOM_Object thePnt2,
00093                                    in GEOM_Object thePnt3,
00094                                    in double theTrimSize) ;
00095     GEOM_Object MakePlanePntVec (in GEOM_Object thePnt,
00096                                  in GEOM_Object theVec,
00097                                  in double      theTrimSize) ;
00098     GEOM_Object MakePlaneFace (in GEOM_Object theFace,
00099                                in double      theTrimSize) ;
00100     GEOM_Object MakePlane2Vec (in GEOM_Object theVec1,
00101                                in GEOM_Object theVec2,
00102                                in double      theTrimSize) ;
00103     GEOM_Object MakePlaneLCS (in GEOM_Object theLCS,
00104                               in double      theTrimSize,
00105                               in double      theOrientation) ;
00106     GEOM_Object MakeMarker (in double theOX , in double theOY , in double theOZ,
00107                             in double theXDX, in double theXDY, in double theXDZ,
00108                             in double theYDX, in double theYDY, in double theYDZ) ;
00109 
00110     GEOM_Object MakeMarkerFromShape (in GEOM_Object theShape) ;
00111 
00112     GEOM_Object MakeMarkerPntTwoVec (in GEOM_Object theOrigin,
00113                                      in GEOM_Object theXVec,
00114                                      in GEOM_Object theYVec) ;
00115 
00125     GEOM_Object MakeTangentPlaneOnFace(in GEOM_Object theFace,
00126                                        in double theParameterU,
00127                                        in double theParameterV,
00128                                        in double theTrimSize);
00129 
00130     //-----------------------------------------------------------//
00131     // Primitives Construction : 3DPrimOperations                //
00132     //-----------------------------------------------------------//
00133     GEOM_Object MakeBox (in double theX1,
00134                          in double theY1,
00135                          in double theZ1,
00136                          in double theX2,
00137                          in double theY2,
00138                          in double theZ2) ;
00139     GEOM_Object MakeBoxDXDYDZ (in double theDX,
00140                                in double theDY,
00141                                in double theDZ) ;
00142     GEOM_Object MakeBoxTwoPnt (in GEOM_Object thePnt1,
00143                                in GEOM_Object thePnt2) ;
00144     GEOM_Object MakeFaceHW (in double theH,
00145                             in double theW,
00146                             in short  theOrientation) ;
00147     GEOM_Object MakeFaceObjHW (in GEOM_Object theObj,
00148                                in double      theH,
00149                                in double      theW) ;
00150     GEOM_Object MakeDiskPntVecR (in GEOM_Object thePnt,
00151                                  in GEOM_Object theVec,
00152                                  in double      theR) ;
00153     GEOM_Object MakeDiskThreePnt (in GEOM_Object thePnt1,
00154                                   in GEOM_Object thePnt2,
00155                                   in GEOM_Object thePnt3) ;
00156     GEOM_Object MakeDiskR (in double theR,
00157                             in short  theOrientation) ;
00158     GEOM_Object MakeCylinderPntVecRH (in GEOM_Object thePnt,
00159                                       in GEOM_Object theAxis,
00160                                       in double      theRadius,
00161                                       in double      theHeight) ;
00162     GEOM_Object MakeCylinderRH (in double theR,
00163                                 in double theH) ;
00164     GEOM_Object MakeSphere (in double theX,
00165                             in double theY,
00166                             in double theZ,
00167                             in double theRadius) ;
00168     GEOM_Object MakeSphereR (in double theR) ;
00169     GEOM_Object MakeSpherePntR (in GEOM_Object thePnt,
00170                                 in double      theR) ;
00171     GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt,
00172                                    in GEOM_Object theVec,
00173                                    in double      theRMajor,
00174                                    in double      theRMinor) ;
00175     GEOM_Object MakeTorusRR (in double theRMajor,
00176                              in double theRMinor) ;
00177     GEOM_Object MakeConePntVecR1R2H (in GEOM_Object thePnt,
00178                                      in GEOM_Object theAxis,
00179                                      in double      theR1,
00180                                      in double      theR2,
00181                                      in double      theHeight) ;
00182     GEOM_Object MakeConeR1R2H (in double theR1,
00183                                in double theR2,
00184                                in double theHeight) ;
00185     GEOM_Object MakePrismVecH (in GEOM_Object theBase,
00186                                in GEOM_Object theVec,
00187                                in double      theH) ;
00188     GEOM_Object MakePrismVecH2Ways (in GEOM_Object theBase,
00189                                     in GEOM_Object theVec,
00190                                     in double      theH) ;
00191     GEOM_Object MakePrismTwoPnt (in GEOM_Object theBase,
00192                                  in GEOM_Object thePoint1,
00193                                  in GEOM_Object thePoint2) ;
00194     GEOM_Object MakePrismTwoPnt2Ways (in GEOM_Object theBase,
00195                                       in GEOM_Object thePoint1,
00196                                       in GEOM_Object thePoint2) ;
00197     GEOM_Object MakePipe (in GEOM_Object theBase,
00198                           in GEOM_Object thePath) ;
00199     GEOM_Object MakeRevolutionAxisAngle (in GEOM_Object theBase,
00200                                          in GEOM_Object theAxis,
00201                                          in double      theAngle) ;
00202     GEOM_Object MakeRevolutionAxisAngle2Ways (in GEOM_Object theBase,
00203                                               in GEOM_Object theAxis,
00204                                               in double      theAngle) ;
00205     GEOM_Object MakeFilling (in GEOM_Object theShape,
00206                              in long theMinDeg, in long theMaxDeg,
00207                              in double theTol2D, in double theTol3D,
00208                              in long theNbIter,
00209                              in filling_oper_method theMethod,
00210                              in boolean theApprox) ;
00211     GEOM_Object MakeThruSections(in ListOfGO theSeqSections,
00212                                  in boolean theModeSolid,
00213                                  in double thePreci,
00214                                  in boolean theRuled);
00215 
00216     GEOM_Object MakePipeWithDifferentSections (in ListOfGO theSeqBases,
00217                                                in ListOfGO theLocations,
00218                                                in GEOM_Object thePath,
00219                                                in boolean theWithContact ,
00220                                                in boolean theWithCorrection );
00221 
00222     GEOM_Object MakePipeWithShellSections (in ListOfGO theSeqBases,
00223                                            in ListOfGO theSeqSubBases,
00224                                            in ListOfGO theLocations,
00225                                            in GEOM_Object thePath,
00226                                            in boolean theWithContact ,
00227                                            in boolean theWithCorrection );
00228 
00229     GEOM_Object MakePipeShellsWithoutPath (in ListOfGO theSeqBases,
00230                                            in ListOfGO theLocations );
00231 
00232     GEOM_Object MakePipeBiNormalAlongVector (in GEOM_Object theBase,
00233                                              in GEOM_Object thePath,
00234                                              in GEOM_Object theVec);
00235 
00236     //-----------------------------------------------------------//
00237     // BooleanOperations                                         //
00238     //-----------------------------------------------------------//
00239     GEOM_Object MakeBoolean (in GEOM_Object theShape1,
00240                              in GEOM_Object theShape2,
00241                              in long        theOperation) ;
00242     GEOM_Object MakeFuse (in GEOM_Object theShape1,
00243                           in GEOM_Object theShape2) ;
00244     GEOM_Object MakePartition (in GEOM_List   theShapes,
00245                                in GEOM_List   theTools,
00246                                in GEOM_List   theKeepInside,
00247                                in GEOM_List   theRemoveInside,
00248                                in short       theLimit,
00249                                in boolean     theRemoveWebs,
00250                                in GEOM_List   theMaterials,
00251                                in short       theKeepNonlimitShapes);
00252     GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
00253                                    in GEOM_Object thePlane) ;
00254 
00255     //-----------------------------------------------------------//
00256     // InsertOperations                                          //
00257     //-----------------------------------------------------------//
00258     GEOM_Object MakeCopy (in GEOM_Object theOriginal) ;
00259     void Export (in GEOM_Object theObject, in string theFileName, in string theFormatName) ;
00260     GEOM_Object ImportFile (in string theFileName, in string theFormatName) ;
00261     void ImportTranslators (out string_array theFormats,
00262                             out string_array thePatterns) ;
00263     void ExportTranslators (out string_array theFormats,
00264                             out string_array thePatterns) ;
00265 
00266     //-----------------------------------------------------------//
00267     // TransformOperations                                       //
00268     //-----------------------------------------------------------//
00269     GEOM_Object TranslateTwoPoints (in GEOM_Object theObject,
00270                                     in GEOM_Object thePoint1,
00271                                     in GEOM_Object thePoint2) ;
00272     GEOM_Object TranslateTwoPointsCopy (in GEOM_Object theObject,
00273                                         in GEOM_Object thePoint1,
00274                                         in GEOM_Object thePoint2) ;
00275     GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject,
00276                                  in double      theDX,
00277                                  in double      theDY,
00278                                  in double      theDZ) ;
00279     GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
00280                                      in double      theDX,
00281                                      in double      theDY,
00282                                      in double      theDZ) ;
00283     GEOM_Object TranslateVector (in GEOM_Object theObject,
00284                                  in GEOM_Object theVector) ;
00285     GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
00286                                      in GEOM_Object theVector) ;
00287     GEOM_Object TranslateVectorDistance (in GEOM_Object theObject,
00288                                          in GEOM_Object theVector,
00289                                          in double      theDistance,
00290                                          in boolean     theCopy) ;
00291     GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
00292                                   in GEOM_Object theVector,
00293                                   in double      theStep,
00294                                   in long        theNbTimes) ;
00295     GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
00296                                   in GEOM_Object theVector1,
00297                                   in double      theStep1,
00298                                   in long        theNbTimes1,
00299                                   in GEOM_Object theVector2,
00300                                   in double      theStep2,
00301                                   in long        theNbTimes2) ;
00302     GEOM_Object Rotate (in GEOM_Object theObject,
00303                         in GEOM_Object theAxis,
00304                         in double      theAngle) ;
00305     GEOM_Object RotateCopy (in GEOM_Object theObject,
00306                             in GEOM_Object theAxis,
00307                             in double      theAngle) ;
00308     GEOM_Object RotateThreePoints (in GEOM_Object theObject,
00309                                    in GEOM_Object theCentPoint,
00310                                    in GEOM_Object thePoint1,
00311                                    in GEOM_Object thePoint2);
00312     GEOM_Object RotateThreePointsCopy (in GEOM_Object theObject,
00313                                        in GEOM_Object theCentPoint,
00314                                        in GEOM_Object thePoint1,
00315                                        in GEOM_Object thePoint2);
00316     GEOM_Object MultiRotate1D (in GEOM_Object theObject,
00317                                in GEOM_Object theAxis,
00318                                in long        theNbTimes) ;
00319     GEOM_Object MultiRotate2D (in GEOM_Object theObject,
00320                                in GEOM_Object theAxis,
00321                                in double      theAngle,
00322                                in long        theNbTimes1,
00323                                in double      theStep,
00324                                in long        theNbTimes2) ;
00325     GEOM_Object MirrorPlane (in GEOM_Object theObject,
00326                              in GEOM_Object thePlane) ;
00327     GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject,
00328                                  in GEOM_Object thePlane) ;
00329     GEOM_Object MirrorAxis (in GEOM_Object theObject,
00330                             in GEOM_Object theAxis) ;
00331     GEOM_Object MirrorAxisCopy (in GEOM_Object theObject,
00332                                 in GEOM_Object theAxis) ;
00333     GEOM_Object MirrorPoint (in GEOM_Object theObject,
00334                              in GEOM_Object thePoint) ;
00335     GEOM_Object MirrorPointCopy (in GEOM_Object theObject,
00336                                  in GEOM_Object thePoint) ;
00337     GEOM_Object OffsetShape (in GEOM_Object theObject,
00338                              in double      theOffset) ;
00339     GEOM_Object OffsetShapeCopy (in GEOM_Object theObject,
00340                                  in double      theOffset) ;
00341     GEOM_Object ScaleShape (in GEOM_Object theObject,
00342                             in GEOM_Object thePoint,
00343                             in double      theFactor) ;
00344     GEOM_Object ScaleShapeCopy (in GEOM_Object theObject,
00345                                 in GEOM_Object thePoint,
00346                                 in double      theFactor) ;
00347     GEOM_Object ScaleShapeAlongAxes (in GEOM_Object theObject,
00348                                      in GEOM_Object thePoint,
00349                                      in double theFactorX,
00350                                      in double theFactorY,
00351                                      in double theFactorZ);
00352     GEOM_Object ScaleShapeAlongAxesCopy (in GEOM_Object theObject,
00353                                          in GEOM_Object thePoint,
00354                                          in double theFactorX,
00355                                          in double theFactorY,
00356                                          in double theFactorZ);
00357     GEOM_Object PositionShape (in GEOM_Object theObject,
00358                                in GEOM_Object theStartLCS,
00359                                in GEOM_Object theEndLCS) ;
00360     GEOM_Object PositionShapeCopy (in GEOM_Object theObject,
00361                                    in GEOM_Object theStartLCS,
00362                                    in GEOM_Object theEndLCS) ;
00363     GEOM_Object PositionAlongPath (in GEOM_Object theObject,
00364                                    in GEOM_Object thePath,
00365                                    in double theDistance,
00366                                    in boolean theCopy,
00367                                    in boolean theReverse);
00368 
00369     //-----------------------------------------------------------//
00370     // ShapesOperations                                          //
00371     //-----------------------------------------------------------//
00372     GEOM_Object MakeEdge (in GEOM_Object thePnt1,
00373                           in GEOM_Object thePnt2) ;
00374     GEOM_Object MakeEdgeOnCurveByLength (in GEOM_Object theRefCurve,
00375                                          in double theLength,
00376                                          in GEOM_Object theStartPoint);
00377     GEOM_Object MakeWire (in GEOM_List theEdgesAndWires,
00378                           in double    theTolerance) ;
00379     GEOM_Object MakeFace (in GEOM_Object theWire,
00380                           in boolean     isPlanarWanted) ;
00381     GEOM_Object MakeFaceWires (in GEOM_List theWires,
00382                                in boolean   isPlanarWanted) ;
00383     GEOM_Object MakeShell (in GEOM_List theFacesAndShells) ;
00384     GEOM_Object MakeSolidShell (in GEOM_Object theShell) ;
00385     GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
00386     GEOM_Object MakeCompound (in GEOM_List theShapes) ;
00387     GEOM_Object MakeGlueFaces (in GEOM_Object theShape,
00388                                in double theTolerance,
00389                                in boolean doKeepNonSolids);
00390     GEOM_List GetGlueFaces (in GEOM_Object theShape,
00391                             in double theTolerance);
00392     GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape,
00393                                      in double theTolerance,
00394                                      in ListOfGO theFaces,
00395                                      in boolean doKeepNonSolids,
00396                                      in boolean doGlueAllEdges);
00397     GEOM_List MakeExplode (in GEOM_Object theShape,
00398                            in long        theShapeType,
00399                            in boolean     isSorted) ;
00400     long NumberOfFaces (in GEOM_Object theShape) ;
00401     long NumberOfEdges (in GEOM_Object theShape) ;
00402     GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
00403 
00404     GEOM_List GetShapesOnShape (in GEOM_Object theCheckShape,
00405                                 in GEOM_Object theShape,
00406                                 in short       theShapeType,
00407                                 in shape_state theState);
00408     GEOM_Object GetShapesOnShapeAsCompound (in GEOM_Object theCheckShape,
00409                                             in GEOM_Object theShape,
00410                                             in short       theShapeType,
00411                                             in shape_state theState);
00412 
00413     //-----------------------------------------------------------//
00414     // BlocksOperations                                          //
00415     //-----------------------------------------------------------//
00416     GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1,
00417                                    in GEOM_Object thePnt2,
00418                                    in GEOM_Object thePnt3,
00419                                    in GEOM_Object thePnt4) ;
00420     GEOM_Object MakeQuad (in GEOM_Object theEdge1,
00421                           in GEOM_Object theEdge2,
00422                           in GEOM_Object theEdge3,
00423                           in GEOM_Object theEdge4) ;
00424     GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1,
00425                                 in GEOM_Object theEdge2) ;
00426     GEOM_Object MakeHexa (in GEOM_Object theFace1,
00427                           in GEOM_Object theFace2,
00428                           in GEOM_Object theFace3,
00429                           in GEOM_Object theFace4,
00430                           in GEOM_Object theFace5,
00431                           in GEOM_Object theFace6) ;
00432     GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1,
00433                                 in GEOM_Object theFace2) ;
00434     GEOM_Object GetPoint (in GEOM_Object theShape,
00435                           in double      theX,
00436                           in double      theY,
00437                           in double      theZ,
00438                           in double      theEpsilon) ;
00439     GEOM_Object GetEdge (in GEOM_Object theShape,
00440                          in GEOM_Object thePoint1,
00441                          in GEOM_Object thePoint2) ;
00442     GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape,
00443                                   in GEOM_Object thePoint) ;
00444     GEOM_Object GetFaceByPoints (in GEOM_Object theShape,
00445                                  in GEOM_Object thePoint1,
00446                                  in GEOM_Object thePoint2,
00447                                  in GEOM_Object thePoint3,
00448                                  in GEOM_Object thePoint4) ;
00449     GEOM_Object GetFaceByEdges (in GEOM_Object theShape,
00450                                 in GEOM_Object theEdge1,
00451                                 in GEOM_Object theEdge2) ;
00452     GEOM_Object GetOppositeFace (in GEOM_Object theBlock,
00453                                  in GEOM_Object theFace) ;
00454     GEOM_Object GetFaceNearPoint (in GEOM_Object theShape,
00455                                   in GEOM_Object thePoint) ;
00456     GEOM_Object GetFaceByNormale (in GEOM_Object theBlock,
00457                                   in GEOM_Object theVector) ;
00458     boolean IsCompoundOfBlocks (in GEOM_Object theCompound,
00459                                 in long        theMinNbFaces,
00460                                 in long        theMaxNbFaces,
00461                                 out long       theNbBlocks) ;
00462     boolean CheckCompoundOfBlocks (in GEOM_Object theCompound,
00463                                    out GEOM_IBlocksOperations::BCErrors   theErrors) ;
00464     string PrintBCErrors (in GEOM_Object theCompound,
00465                           in GEOM_IBlocksOperations::BCErrors    theErrors) ;
00466     GEOM_List ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
00467                                        in long        theMinNbFaces,
00468                                        in long        theMaxNbFaces) ;
00469     GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound,
00470                                    in GEOM_Object thePoint) ;
00471     GEOM_Object GetBlockByParts (in GEOM_Object theCompound,
00472                                  in GEOM_List   theParts) ;
00473     GEOM_List GetBlocksByParts (in GEOM_Object theCompound,
00474                                 in GEOM_List   theParts) ;
00475     GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
00476                                            in long        theDirFace1,
00477                                            in long        theDirFace2,
00478                                            in long        theNbTimes) ;
00479     GEOM_Object MakeMultiTransformation2D (in GEOM_Object theBlock,
00480                                            in long        theDirFace1U,
00481                                            in long        theDirFace2U,
00482                                            in long        theNbTimesU,
00483                                            in long        theDirFace1V,
00484                                            in long        theDirFace2V,
00485                                            in long        theNbTimesV) ;
00486 
00487     //-----------------------------------------------------------//
00488     // CurvesOperations                                          //
00489     //-----------------------------------------------------------//
00490     GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
00491                                    in GEOM_Object theVec,
00492                                    in double      theR) ;
00493     GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1,
00494                                     in GEOM_Object thePnt2,
00495                                     in GEOM_Object thePnt3) ;
00496     GEOM_Object MakeCircleCenter2Pnt (in GEOM_Object thePnt1,
00497                                          in GEOM_Object thePnt2,
00498                                       in GEOM_Object thePnt3) ;
00499     GEOM_Object MakeEllipse (in GEOM_Object thePnt,
00500                              in GEOM_Object theVec,
00501                              in double      theRMajor,
00502                              in double      theRMinor) ;
00503     GEOM_Object MakeEllipseVec (in GEOM_Object thePnt,
00504                                 in GEOM_Object theVec,
00505                                 in double      theRMajor,
00506                                 in double      theRMinor,
00507                                 in GEOM_Object theVecMaj) ;
00508     GEOM_Object MakeArc (in GEOM_Object thePnt1,
00509                          in GEOM_Object thePnt2,
00510                          in GEOM_Object thePnt3) ;
00511     GEOM_Object MakeArcCenter (in GEOM_Object theCenter,
00512                                in GEOM_Object thePnt1,
00513                                in GEOM_Object thePnt2,
00514                                in boolean theSense) ;
00515     GEOM_Object MakeArcOfEllipse (in GEOM_Object theCenter,
00516                                  in GEOM_Object thePnt1,
00517                                  in GEOM_Object thePnt2) ;
00518     GEOM_Object MakePolyline (in GEOM_List thePoints,
00519                               in boolean   theIsClosed) ;
00520     GEOM_Object MakeSplineBezier (in GEOM_List thePoints,
00521                                   in boolean   theIsClosed) ;
00522     GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints,
00523                                          in boolean   theIsClosed,
00524                                          in boolean   theDoReordering) ;
00525     GEOM_Object MakeSketcher (in string    theCommand,
00526                               in GEOM_List theWorkingPlane) ;
00527 
00528     //-----------------------------------------------------------//
00529     // LocalOperations                                           //
00530     //-----------------------------------------------------------//
00531     GEOM_Object MakeFilletAll (in GEOM_Object theShape,
00532                                in double      theR) ;
00533     GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
00534                                  in double      theR,
00535                                  in GEOM_List   theEdges) ;
00536     GEOM_Object MakeFilletEdgesR1R2 (in GEOM_Object theShape,
00537                                      in double      theR1,
00538                                      in double      theR2,
00539                                      in GEOM_List   theEdges) ;
00540     GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
00541                                  in double      theR,
00542                                  in GEOM_List   theFaces) ;
00543     GEOM_Object MakeFilletFacesR1R2 (in GEOM_Object theShape,
00544                                      in double      theR1,
00545                                      in double      theR2,
00546                                      in GEOM_List   theFaces) ;
00547     GEOM_Object MakeFillet2D (in GEOM_Object theShape,
00548                               in double      theR,
00549                               in GEOM_List   theVertexes) ;
00550     GEOM_Object MakeChamferAll (in GEOM_Object theShape,
00551                                 in double      theD) ;
00552     GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
00553                                  in double theD1, in double theD2,
00554                                  in long theFace1, in long theFace2) ;
00555     GEOM_Object MakeChamferEdgeAD (in GEOM_Object theShape,
00556                                    in double theD, in double theAngle,
00557                                    in long theFace1, in long theFace2) ;
00558     GEOM_Object MakeChamferFaces (in GEOM_Object theShape,
00559                                   in double theD1, in double theD2,
00560                                   in GEOM_List theFaces) ;
00561     GEOM_Object MakeChamferFacesAD (in GEOM_Object theShape,
00562                                     in double theD, in double theAngle,
00563                                     in GEOM_List theFaces) ;
00564     GEOM_Object MakeChamferEdges (in GEOM_Object theShape,
00565                                   in double theD1, in double theD2,
00566                                   in GEOM_List theEdges) ;
00567     GEOM_Object MakeChamferEdgesAD (in GEOM_Object theShape,
00568                                     in double theD, in double theAngle,
00569                                     in GEOM_List theEdges) ;
00570     GEOM_Object MakeArchimede (in GEOM_Object theShape,
00571                                in double      theWeight,
00572                                in double      theWaterDensity,
00573                                in double      theMeshDeflection) ;
00574     long GetSubShapeIndex (in GEOM_Object theShape,
00575                            in GEOM_Object theSubShape) ;
00576 
00577     //-----------------------------------------------------------//
00578     // GroupOperations                                           //
00579     //-----------------------------------------------------------//
00580     GEOM_Object CreateGroup (in GEOM_Object theMainShape,
00581                              in long        theShapeType) ;
00582     void AddObject (in GEOM_Object theGroup,
00583                     in long        theSubShapeId) ;
00584     void RemoveObject (in GEOM_Object theGroup,
00585                        in long        theSubShapeId) ;
00586     long GetType (in GEOM_Object theGroup) ;
00587     GEOM_Object  GetMainShape(in GEOM_Object theGroup) ;
00588     GEOM_List  GetObjects(in GEOM_Object theGroup) ;
00589 
00590     //-----------------------------------------------------------//
00591     // AdvancedOperations                                        //
00592     //-----------------------------------------------------------//
00593     GEOM_List MakePipeTShape (in double theR1, in double theW1, in double theL1,
00594                 in double theR2, in double theW2, in double theL2,
00595                 in boolean theHexMesh);
00596 
00597     GEOM_List MakePipeTShapeWithPosition (in double theR1, in double theW1, in double theL1,
00598                         in double theR2, in double theW2, in double theL2,
00599                         in boolean theHexMesh,
00600                         in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
00601 
00602     GEOM_List MakePipeTShapeChamfer (in double theR1, in double theW1, in double theL1,
00603                     in double theR2, in double theW2, in double theL2,
00604                     in double theH, in double theW, in boolean theHexMesh);
00605 
00606     GEOM_List MakePipeTShapeChamferWithPosition (in double theR1, in double theW1, in double theL1,
00607                            in double theR2, in double theW2, in double theL2,
00608                            in double theH, in double theW, in boolean theHexMesh,
00609                            in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
00610 
00611     GEOM_List MakePipeTShapeFillet (in double theR1, in double theW1, in double theL1,
00612                       in double theR2, in double theW2, in double theL2,
00613                       in double theRF, in boolean theHexMesh);
00614 
00615     GEOM_List MakePipeTShapeFilletWithPosition (in double theR1, in double theW1, in double theL1,
00616                           in double theR2, in double theW2, in double theL2,
00617                           in double theRF, in boolean theHexMesh,
00618                           in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
00619 
00620     /*@@ insert new functions before this line @@ do not remove this line @@*/
00621  };
00622 };
00623 
00624 #endif