Back to index

salome-smesh  6.5.0
SMESH_MeshEditor.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   : SMESH_MeshEditor.idl
00023 
00024 #ifndef _SMESH_MESHEDITOR_IDL_
00025 #define _SMESH_MESHEDITOR_IDL_
00026 
00027 #include "SMESH_Mesh.idl"
00028 
00029 module SMESH
00030 {
00031   enum Bnd_Dimension { BND_2DFROM3D, BND_1DFROM3D, BND_1DFROM2D };
00032 
00036   interface NumericalFunctor;
00037   interface SMESH_MeshEditor
00038   {
00044     SMESH_IDSource MakeIDSource(in long_array IDsOfElements, in ElementType type);
00045 
00051     boolean RemoveElements(in long_array IDsOfElements);
00052 
00058     boolean RemoveNodes(in long_array IDsOfNodes);
00059 
00064     long RemoveOrphanNodes();
00065 
00073     long AddNode(in double x, in double y, in double z);
00074 
00079     long Add0DElement(in long IDOfNode);
00080 
00089     long AddEdge(in long_array IDsOfNodes);
00090 
00099     long AddFace(in long_array IDsOfNodes);
00100 
00101     long AddPolygonalFace(in long_array IdsOfNodes);
00102 
00111     long AddVolume(in long_array IDsOfNodes);
00112 
00119     long AddPolyhedralVolume (in long_array IdsOfNodes,
00120                               in long_array Quantities);
00121 
00128     long AddPolyhedralVolumeByFaces (in long_array IdsOfFaces);
00129 
00135     void SetNodeOnVertex(in long NodeID, in long VertexID)
00136       raises (SALOME::SALOME_Exception);
00143     void SetNodeOnEdge(in long NodeID, in long EdgeID, in double paramOnEdge)
00144       raises (SALOME::SALOME_Exception);
00152     void SetNodeOnFace(in long NodeID, in long FaceID, in double u, in double v)
00153       raises (SALOME::SALOME_Exception);
00159     void SetNodeInVolume(in long NodeID, in long SolidID)
00160       raises (SALOME::SALOME_Exception);
00166     void SetMeshElementOnShape(in long ElementID, in long ShapeID)
00167       raises (SALOME::SALOME_Exception);
00168 
00169 
00170     boolean MoveNode(in long NodeID, in double x, in double y, in double z);
00171 
00172     boolean InverseDiag(in long NodeID1, in long NodeID2);
00173 
00174     boolean DeleteDiag(in long NodeID1, in long NodeID2);
00175 
00176     boolean Reorient(in long_array IDsOfElements);
00177 
00178     boolean ReorientObject(in SMESH_IDSource theObject);
00179 
00188     boolean TriToQuad (in long_array       IDsOfElements,
00189                        in NumericalFunctor Criterion,
00190                        in double           MaxAngle);
00191 
00197     boolean TriToQuadObject (in SMESH_IDSource   theObject,
00198                              in NumericalFunctor Criterion,
00199                              in double           MaxAngle);
00200 
00207     boolean QuadToTri (in long_array       IDsOfElements,
00208                        in NumericalFunctor Criterion);
00209 
00215     boolean QuadToTriObject (in SMESH_IDSource   theObject,
00216                              in NumericalFunctor Criterion);
00217 
00224     boolean SplitQuad (in long_array IDsOfElements,
00225                        in boolean    Diag13);
00226 
00232     boolean SplitQuadObject (in SMESH_IDSource theObject,
00233                              in boolean        Diag13);
00234 
00242     long BestSplit (in long             IDOfQuad,
00243                     in NumericalFunctor Criterion);
00244 
00253     void SplitVolumesIntoTetra(in SMESH_IDSource elems, in short methodFlags)
00254       raises (SALOME::SALOME_Exception);
00255 
00256 
00257     enum Smooth_Method { LAPLACIAN_SMOOTH, CENTROIDAL_SMOOTH };
00258 
00259     boolean Smooth(in long_array    IDsOfElements,
00260                    in long_array    IDsOfFixedNodes,
00261                    in long          MaxNbOfIterations,
00262                    in double        MaxAspectRatio,
00263                    in Smooth_Method Method);
00264 
00265     boolean SmoothObject(in SMESH_IDSource  theObject,
00266                          in long_array      IDsOfFixedNodes,
00267                          in long            MaxNbOfIterations,
00268                          in double          MaxAspectRatio,
00269                          in Smooth_Method   Method);
00270 
00271     boolean SmoothParametric(in long_array    IDsOfElements,
00272                              in long_array    IDsOfFixedNodes,
00273                              in long          MaxNbOfIterations,
00274                              in double        MaxAspectRatio,
00275                              in Smooth_Method Method);
00276 
00277     boolean SmoothParametricObject(in SMESH_IDSource  theObject,
00278                                    in long_array      IDsOfFixedNodes,
00279                                    in long            MaxNbOfIterations,
00280                                    in double          MaxAspectRatio,
00281                                    in Smooth_Method   Method);
00282 
00283     void ConvertToQuadratic(in boolean theForce3d);
00284 
00285     boolean ConvertFromQuadratic();
00286 
00287     void ConvertToQuadraticObject(in boolean        theForce3d, 
00288                                   in SMESH_IDSource theObject) 
00289       raises (SALOME::SALOME_Exception);
00290 
00291     void ConvertFromQuadraticObject(in SMESH_IDSource theObject)
00292       raises (SALOME::SALOME_Exception);
00293 
00294     void RenumberNodes();
00295 
00296     void RenumberElements();
00297 
00305     void RotationSweep(in long_array       IDsOfElements,
00306                        in AxisStruct       Axix,
00307                        in double           AngleInRadians,
00308                        in long             NbOfSteps,
00309                        in double           Tolerance);
00314     ListOfGroups RotationSweepMakeGroups(in long_array       IDsOfElements,
00315                                          in AxisStruct       Axix,
00316                                          in double           AngleInRadians,
00317                                          in long             NbOfSteps,
00318                                          in double           Tolerance);
00326     void RotationSweepObject(in SMESH_IDSource  theObject,
00327                              in AxisStruct      Axix,
00328                              in double          AngleInRadians,
00329                              in long            NbOfSteps,
00330                              in double          Tolerance);
00335     ListOfGroups RotationSweepObjectMakeGroups(in SMESH_IDSource  theObject,
00336                                                in AxisStruct      Axix,
00337                                                in double          AngleInRadians,
00338                                                in long            NbOfSteps,
00339                                                in double          Tolerance);
00347     void RotationSweepObject1D(in SMESH_IDSource  theObject,
00348                                in AxisStruct      Axix,
00349                                in double          AngleInRadians,
00350                                in long            NbOfSteps,
00351                                in double          Tolerance);
00356     ListOfGroups RotationSweepObject1DMakeGroups(in SMESH_IDSource  theObject,
00357                                                  in AxisStruct      Axix,
00358                                                  in double          AngleInRadians,
00359                                                  in long            NbOfSteps,
00360                                                  in double          Tolerance);
00368     void RotationSweepObject2D(in SMESH_IDSource  theObject,
00369                                in AxisStruct      Axix,
00370                                in double          AngleInRadians,
00371                                in long            NbOfSteps,
00372                                in double          Tolerance);
00377     ListOfGroups RotationSweepObject2DMakeGroups(in SMESH_IDSource  theObject,
00378                                                  in AxisStruct      Axix,
00379                                                  in double          AngleInRadians,
00380                                                  in long            NbOfSteps,
00381                                                  in double          Tolerance);
00388     void ExtrusionSweep(in long_array      IDsOfElements,
00389                         in DirStruct       StepVector,
00390                         in long            NbOfSteps);
00397     void ExtrusionSweep0D(in long_array    IDsOfElements,
00398                         in DirStruct       StepVector,
00399                         in long            NbOfSteps);
00404     ListOfGroups ExtrusionSweepMakeGroups(in long_array      IDsOfElements,
00405                                           in DirStruct       StepVector,
00406                                           in long            NbOfSteps);
00410     ListOfGroups ExtrusionSweepMakeGroups0D(in long_array      IDsOfElements,
00411                                           in DirStruct       StepVector,
00412                                           in long            NbOfSteps);
00420     void AdvancedExtrusion(in long_array      IDsOfElements,
00421                            in DirStruct       StepVector,
00422                            in long            NbOfSteps,
00423                            in long            ExtrFlags,
00424                            in double          SewTolerance);
00429     ListOfGroups AdvancedExtrusionMakeGroups(in long_array      IDsOfElements,
00430                                              in DirStruct       StepVector,
00431                                              in long            NbOfSteps,
00432                                              in long            ExtrFlags,
00433                                              in double          SewTolerance);
00434 
00435     void ExtrusionSweepObject(in SMESH_IDSource  theObject,
00436                               in DirStruct       StepVector,
00437                               in long            NbOfSteps);
00438     ListOfGroups ExtrusionSweepObjectMakeGroups(in SMESH_IDSource  theObject,
00439                                                 in DirStruct       StepVector,
00440                                                 in long            NbOfSteps);
00441 
00442     void ExtrusionSweepObject0D(in SMESH_IDSource theObject,
00443                                 in DirStruct      StepVector,
00444                                 in long           NbOfSteps);
00445     ListOfGroups ExtrusionSweepObject0DMakeGroups(in SMESH_IDSource theObject,
00446                                                   in DirStruct      StepVector,
00447                                                   in long           NbOfSteps);
00448 
00449     void ExtrusionSweepObject1D(in SMESH_IDSource theObject,
00450                                 in DirStruct      StepVector,
00451                                 in long           NbOfSteps);
00452     ListOfGroups ExtrusionSweepObject1DMakeGroups(in SMESH_IDSource theObject,
00453                                                   in DirStruct      StepVector,
00454                                                   in long           NbOfSteps);
00455 
00456     void ExtrusionSweepObject2D(in SMESH_IDSource theObject,
00457                                 in DirStruct      StepVector,
00458                                 in long           NbOfSteps);
00459     ListOfGroups ExtrusionSweepObject2DMakeGroups(in SMESH_IDSource theObject,
00460                                                   in DirStruct      StepVector,
00461                                                   in long           NbOfSteps);
00462 
00463     enum Extrusion_Error {
00464       EXTR_OK,
00465       EXTR_NO_ELEMENTS,
00466       EXTR_PATH_NOT_EDGE,
00467       EXTR_BAD_PATH_SHAPE,
00468       EXTR_BAD_STARTING_NODE,
00469       EXTR_BAD_ANGLES_NUMBER,
00470       EXTR_CANT_GET_TANGENT
00471       };
00472 
00473     ListOfGroups ExtrusionAlongPathX(in long_array        IDsOfElements,
00474                                      in SMESH_IDSource    Path,
00475                                      in long              NodeStart,
00476                                      in boolean           HasAngles,
00477                                      in double_array      Angles,
00478                                      in boolean           LinearVariation,
00479                                      in boolean           HasRefPoint,
00480                                      in PointStruct       RefPoint,
00481                                      in boolean           MakeGroups,
00482                                      in ElementType       ElemType,
00483                                      out Extrusion_Error  Error);
00484 
00485     ListOfGroups ExtrusionAlongPathObjX(in SMESH_IDSource    theObject,
00486                                         in SMESH_IDSource    Path,
00487                                         in long              NodeStart,
00488                                         in boolean           HasAngles,
00489                                         in double_array      Angles,
00490                                         in boolean           LinearVariation,
00491                                         in boolean           HasRefPoint,
00492                                         in PointStruct       RefPoint,
00493                                         in boolean           MakeGroups,
00494                                         in ElementType       ElemType,
00495                                         out Extrusion_Error  Error);
00496 
00497     Extrusion_Error ExtrusionAlongPath(in long_array        IDsOfElements,
00498                                        in SMESH_Mesh        PathMesh,
00499                                        in GEOM::GEOM_Object PathShape,
00500                                        in long              NodeStart,
00501                                        in boolean           HasAngles,
00502                                        in double_array      Angles,
00503                                        in boolean           HasRefPoint,
00504                                        in PointStruct       RefPoint);
00505     ListOfGroups ExtrusionAlongPathMakeGroups(in long_array        IDsOfElements,
00506                                               in SMESH_Mesh        PathMesh,
00507                                               in GEOM::GEOM_Object PathShape,
00508                                               in long              NodeStart,
00509                                               in boolean           HasAngles,
00510                                               in double_array      Angles,
00511                                               in boolean           HasRefPoint,
00512                                               in PointStruct       RefPoint,
00513                                               out Extrusion_Error  Error);
00514 
00515     Extrusion_Error ExtrusionAlongPathObject(in SMESH_IDSource    theObject,
00516                                              in SMESH_Mesh        PathMesh,
00517                                              in GEOM::GEOM_Object PathShape,
00518                                              in long              NodeStart,
00519                                              in boolean           HasAngles,
00520                                              in double_array      Angles,
00521                                              in boolean           HasRefPoint,
00522                                              in PointStruct       RefPoint);
00523     ListOfGroups ExtrusionAlongPathObjectMakeGroups(in SMESH_IDSource    theObject,
00524                                                     in SMESH_Mesh        PathMesh,
00525                                                     in GEOM::GEOM_Object PathShape,
00526                                                     in long              NodeStart,
00527                                                     in boolean           HasAngles,
00528                                                     in double_array      Angles,
00529                                                     in boolean           HasRefPoint,
00530                                                     in PointStruct       RefPoint,
00531                                                     out Extrusion_Error  Error);
00532 
00533     Extrusion_Error ExtrusionAlongPathObject1D(in SMESH_IDSource    theObject,
00534                                                in SMESH_Mesh        PathMesh,
00535                                                in GEOM::GEOM_Object PathShape,
00536                                                in long              NodeStart,
00537                                                in boolean           HasAngles,
00538                                                in double_array      Angles,
00539                                                in boolean           HasRefPoint,
00540                                                in PointStruct       RefPoint);
00541     ListOfGroups ExtrusionAlongPathObject1DMakeGroups(in SMESH_IDSource    theObject,
00542                                                       in SMESH_Mesh        PathMesh,
00543                                                       in GEOM::GEOM_Object PathShape,
00544                                                       in long              NodeStart,
00545                                                       in boolean           HasAngles,
00546                                                       in double_array      Angles,
00547                                                       in boolean           HasRefPoint,
00548                                                       in PointStruct       RefPoint,
00549                                                       out Extrusion_Error  Error);
00550 
00551     Extrusion_Error ExtrusionAlongPathObject2D(in SMESH_IDSource    theObject,
00552                                                in SMESH_Mesh        PathMesh,
00553                                                in GEOM::GEOM_Object PathShape,
00554                                                in long              NodeStart,
00555                                                in boolean           HasAngles,
00556                                                in double_array      Angles,
00557                                                in boolean           HasRefPoint,
00558                                                in PointStruct       RefPoint);
00559     ListOfGroups ExtrusionAlongPathObject2DMakeGroups(in SMESH_IDSource    theObject,
00560                                                       in SMESH_Mesh        PathMesh,
00561                                                       in GEOM::GEOM_Object PathShape,
00562                                                       in long              NodeStart,
00563                                                       in boolean           HasAngles,
00564                                                       in double_array      Angles,
00565                                                       in boolean           HasRefPoint,
00566                                                       in PointStruct       RefPoint,
00567                                                       out Extrusion_Error  Error);
00568 
00577     double_array LinearAnglesVariation(in SMESH_Mesh        PathMesh,
00578                                        in GEOM::GEOM_Object PathShape,
00579                                        in double_array      Angles);
00580 
00581     enum MirrorType { POINT, AXIS, PLANE };
00582 
00583     void Mirror (in long_array IDsOfElements,
00584                  in AxisStruct Mirror,
00585                  in MirrorType Type,
00586                  in boolean    Copy);
00587     ListOfGroups MirrorMakeGroups (in long_array IDsOfElements,
00588                                    in AxisStruct Mirror,
00589                                    in MirrorType Type);
00590     SMESH_Mesh MirrorMakeMesh (in long_array IDsOfElements,
00591                                in AxisStruct Mirror,
00592                                in MirrorType Type,
00593                                in boolean    CopyGroups,
00594                                in string     MeshName);
00595 
00596     void MirrorObject (in SMESH_IDSource theObject,
00597                        in AxisStruct     Mirror,
00598                        in MirrorType     Type,
00599                        in boolean        Copy);
00600     ListOfGroups MirrorObjectMakeGroups (in SMESH_IDSource theObject,
00601                                          in AxisStruct     Mirror,
00602                                          in MirrorType     Type);
00603     SMESH_Mesh MirrorObjectMakeMesh (in SMESH_IDSource theObject,
00604                                      in AxisStruct     Mirror,
00605                                      in MirrorType     Type,
00606                                      in boolean        CopyGroups,
00607                                      in string         MeshName);
00608 
00609     void Translate (in long_array IDsOfElements,
00610                     in DirStruct  Vector,
00611                     in boolean    Copy);
00612     ListOfGroups TranslateMakeGroups (in long_array IDsOfElements,
00613                                       in DirStruct  Vector);
00614     SMESH_Mesh TranslateMakeMesh (in long_array IDsOfElements,
00615                                   in DirStruct  Vector,
00616                                   in boolean    CopyGroups,
00617                                   in string     MeshName);
00618 
00619     void TranslateObject (in SMESH_IDSource theObject,
00620                           in DirStruct      Vector,
00621                           in boolean        Copy);
00622     ListOfGroups TranslateObjectMakeGroups (in SMESH_IDSource theObject,
00623                                             in DirStruct      Vector);
00624     SMESH_Mesh TranslateObjectMakeMesh (in SMESH_IDSource theObject,
00625                                         in DirStruct      Vector,
00626                                         in boolean        CopyGroups,
00627                                         in string         MeshName);
00628 
00629     void Scale (in SMESH_IDSource theObject,
00630                 in PointStruct    thePoint,
00631                 in double_array   theScaleFact,
00632                 in boolean        Copy);
00633     ListOfGroups ScaleMakeGroups (in SMESH_IDSource theObject,
00634                                   in PointStruct    thePoint,
00635                                   in double_array   theScaleFact);
00636     SMESH_Mesh ScaleMakeMesh (in SMESH_IDSource theObject,
00637                               in PointStruct    thePoint,
00638                               in double_array   theScaleFact,
00639                               in boolean        CopyGroups,
00640                               in string         MeshName);
00641 
00642     void Rotate (in long_array IDsOfElements,
00643                  in AxisStruct Axis,
00644                  in double     AngleInRadians,
00645                  in boolean    Copy);
00646     ListOfGroups RotateMakeGroups (in long_array IDsOfElements,
00647                                    in AxisStruct Axis,
00648                                    in double     AngleInRadians);
00649     SMESH_Mesh RotateMakeMesh (in long_array IDsOfElements,
00650                                in AxisStruct Axis,
00651                                in double     AngleInRadians,
00652                                in boolean    CopyGroups,
00653                                in string     MeshName);
00654 
00655     void RotateObject (in SMESH_IDSource theObject,
00656                        in AxisStruct     Axis,
00657                        in double         AngleInRadians,
00658                        in boolean        Copy);
00659     ListOfGroups RotateObjectMakeGroups (in SMESH_IDSource theObject,
00660                                          in AxisStruct     Axis,
00661                                          in double         AngleInRadians);
00662     SMESH_Mesh RotateObjectMakeMesh (in SMESH_IDSource theObject,
00663                                      in AxisStruct     Axis,
00664                                      in double         AngleInRadians,
00665                                      in boolean        CopyGroups,
00666                                      in string         MeshName);
00667 
00668     void FindCoincidentNodes (in  double              Tolerance,
00669                               out array_of_long_array GroupsOfNodes);
00670 
00671     void FindCoincidentNodesOnPart (in  SMESH_IDSource      SubMeshOrGroup,
00672                                     in  double              Tolerance,
00673                                     out array_of_long_array GroupsOfNodes);
00674 
00675     void FindCoincidentNodesOnPartBut (in  SMESH_IDSource      SubMeshOrGroup,
00676                                        in  double              Tolerance,
00677                                        out array_of_long_array GroupsOfNodes,
00678                                        in  ListOfIDSources     ExceptSubMeshOrGroups);
00679 
00680     void MergeNodes (in array_of_long_array GroupsOfNodes);
00681 
00687     void FindEqualElements (in  SMESH_IDSource      MeshOrSubMeshOrGroup,
00688                             out array_of_long_array GroupsOfElementsID);
00689 
00694     void MergeElements(in array_of_long_array GroupsOfElementsID);
00695 
00699     void MergeEqualElements();
00700 
00705     long MoveClosestNodeToPoint(in double x, in double y, in double z, in long nodeID);
00706 
00710     long FindNodeClosestTo(in double x, in double y, in double z);
00711 
00717     long_array FindElementsByPoint(in double x, in double y, in double z, in ElementType type);
00718 
00725     long_array FindAmongElementsByPoint(in SMESH_IDSource elements,
00726                                         in double x, in double y, in double z, 
00727                                         in ElementType type);
00728 
00733     short GetPointState(in double x, in double y, in double z);
00734 
00735     enum Sew_Error {
00736       SEW_OK,
00737       SEW_BORDER1_NOT_FOUND,
00738       SEW_BORDER2_NOT_FOUND,
00739       SEW_BOTH_BORDERS_NOT_FOUND,
00740       SEW_BAD_SIDE_NODES,
00741       SEW_VOLUMES_TO_SPLIT,
00742       // for SewSideElements() only:
00743       SEW_DIFF_NB_OF_ELEMENTS,
00744       SEW_TOPO_DIFF_SETS_OF_ELEMENTS,
00745       SEW_BAD_SIDE1_NODES,
00746       SEW_BAD_SIDE2_NODES
00747       };
00748 
00749     Sew_Error SewFreeBorders (in long FirstNodeID1,
00750                               in long SecondNodeID1,
00751                               in long LastNodeID1,
00752                               in long FirstNodeID2,
00753                               in long SecondNodeID2,
00754                               in long LastNodeID2,
00755                               in boolean CreatePolygons,
00756                               in boolean CreatePolyedrs);
00757 
00758     Sew_Error SewConformFreeBorders (in long FirstNodeID1,
00759                                      in long SecondNodeID1,
00760                                      in long LastNodeID1,
00761                                      in long FirstNodeID2,
00762                                      in long SecondNodeID2);
00763 
00764     Sew_Error SewBorderToSide (in long FirstNodeIDOnFreeBorder,
00765                                in long SecondNodeIDOnFreeBorder,
00766                                in long LastNodeIDOnFreeBorder,
00767                                in long FirstNodeIDOnSide,
00768                                in long LastNodeIDOnSide,
00769                                in boolean CreatePolygons,
00770                                in boolean CreatePolyedrs);
00771 
00772     Sew_Error SewSideElements (in long_array IDsOfSide1Elements,
00773                                in long_array IDsOfSide2Elements,
00774                                in long       NodeID1OfSide1ToMerge,
00775                                in long       NodeID1OfSide2ToMerge,
00776                                in long       NodeID2OfSide1ToMerge,
00777                                in long       NodeID2OfSide2ToMerge);
00778 
00784     boolean ChangeElemNodes(in long ide, in long_array newIDs);
00785 
00790     MeshPreviewStruct GetPreviewData();
00791 
00797     long_array GetLastCreatedNodes();
00798 
00804     long_array GetLastCreatedElems();
00805 
00815     boolean DoubleNodes( in long_array theNodes, in long_array theModifiedElems );
00816 
00825     boolean DoubleNode( in long theNodeId, in long_array theModifiedElems );
00826 
00835     boolean DoubleNodeGroup( in SMESH_GroupBase theNodes,
00836                              in SMESH_GroupBase theModifiedElems );
00846     SMESH_Group DoubleNodeGroupNew( in SMESH_GroupBase theNodes,
00847                                     in SMESH_GroupBase theModifiedElems );
00848 
00857     boolean DoubleNodeGroups( in ListOfGroups theNodes,
00858                               in ListOfGroups theModifiedElems );
00868     SMESH_Group DoubleNodeGroupsNew( in ListOfGroups theNodes,
00869                                  in ListOfGroups theModifiedElems );
00870 
00881     boolean DoubleNodeElem( in long_array theElems,
00882                             in long_array theNodesNot,
00883                             in long_array theAffectedElems );
00884 
00896     boolean DoubleNodeElemInRegion( in long_array theElems,
00897                                     in long_array theNodesNot,
00898                                     in GEOM::GEOM_Object theShape );
00899 
00910     boolean DoubleNodeElemGroup( in SMESH_GroupBase theElems,
00911                                  in SMESH_GroupBase theNodesNot,
00912                                  in SMESH_GroupBase theAffectedElems );
00924     SMESH_Group DoubleNodeElemGroupNew( in SMESH_GroupBase theElems,
00925                                         in SMESH_GroupBase theNodesNot,
00926                                         in SMESH_GroupBase theAffectedElems );
00940     ListOfGroups DoubleNodeElemGroup2New( in SMESH_GroupBase theElems,
00941                                           in SMESH_GroupBase theNodesNot,
00942                                           in SMESH_GroupBase theAffectedElems,
00943                                           in boolean         theElemGroupNeeded,
00944                                           in boolean         theNodeGroupNeeded);
00945 
00957     boolean DoubleNodeElemGroupInRegion( in SMESH_GroupBase theElems,
00958                                          in SMESH_GroupBase theNodesNot,
00959                                          in GEOM::GEOM_Object theShape );
00960 
00971     boolean DoubleNodeElemGroups( in ListOfGroups theElems,
00972                                   in ListOfGroups theNodesNot,
00973                                   in ListOfGroups theAffectedElems );
00985     SMESH_Group DoubleNodeElemGroupsNew( in ListOfGroups theElems,
00986                                          in ListOfGroups theNodesNot,
00987                                          in ListOfGroups theAffectedElems );
01001     ListOfGroups DoubleNodeElemGroups2New( in ListOfGroups theElems,
01002                                            in ListOfGroups theNodesNot,
01003                                            in ListOfGroups theAffectedElems,
01004                                            in boolean         theElemGroupNeeded,
01005                                            in boolean         theNodeGroupNeeded );
01006 
01018     boolean DoubleNodeElemGroupsInRegion( in ListOfGroups theElems,
01019                                           in ListOfGroups theNodesNot,
01020                                           in GEOM::GEOM_Object theShape );
01021 
01027     boolean Make2DMeshFrom3D();
01028 
01045     SMESH_Mesh MakeBoundaryMesh(in SMESH_IDSource elements,
01046                                 in Bnd_Dimension  dimension,
01047                                 in string         groupName,
01048                                 in string         meshName,
01049                                 in boolean        toCopyElements,
01050                                 in boolean        toCopyExistingBondary,
01051                                 out SMESH_Group   group);
01067     long MakeBoundaryElements(in Bnd_Dimension   dimension,
01068                               in string          groupName,
01069                               in string          meshName,
01070                               in boolean         toCopyAll,
01071                               in ListOfIDSources groups,
01072                               out SMESH_Mesh     mesh,
01073                               out SMESH_Group    group) raises (SALOME::SALOME_Exception);
01074 
01087     boolean DoubleNodesOnGroupBoundaries( in ListOfGroups theDomains,
01088                                           in boolean createJointElems ) 
01089       raises (SALOME::SALOME_Exception);
01090 
01100     boolean CreateFlatElementsOnFacesGroups( in ListOfGroups theGroupsOfFaces ); 
01101   };
01102 };
01103 
01104 #endif