24 #ifndef _SMESH_MESHEDITOR_IDL_ 
   25 #define _SMESH_MESHEDITOR_IDL_ 
   32   interface NumericalFunctor;
 
   98     ComputeError GetLastError() raises (SALOME::SALOME_Exception);
 
  112     boolean RemoveElements(in 
long_array IDsOfElements) raises (SALOME::SALOME_Exception);
 
  119     boolean RemoveNodes(in 
long_array IDsOfNodes) raises (SALOME::SALOME_Exception);
 
  125     long RemoveOrphanNodes() raises (SALOME::SALOME_Exception);
 
  134     long AddNode(in 
double x, in 
double y, in 
double z) raises (SALOME::SALOME_Exception);
 
  141     long Add0DElement(in 
long    IDOfNode,
 
  142                       in 
boolean DuplicateElements) raises (SALOME::SALOME_Exception);
 
  148     long AddBall(in 
long IDOfNode, in 
double diameter) raises (SALOME::SALOME_Exception);
 
  158     long AddEdge(in 
long_array IDsOfNodes) raises (SALOME::SALOME_Exception);
 
  168     long AddFace(in 
long_array IDsOfNodes) raises (SALOME::SALOME_Exception);
 
  170     long AddPolygonalFace(in 
long_array IdsOfNodes) raises (SALOME::SALOME_Exception);
 
  177     long AddQuadPolygonalFace(in 
long_array IdsOfNodes) raises (SALOME::SALOME_Exception);
 
  187     long AddVolume(in 
long_array IDsOfNodes) raises (SALOME::SALOME_Exception);
 
  195     long AddPolyhedralVolume (in 
long_array IdsOfNodes,
 
  196                               in 
long_array Quantities) raises (SALOME::SALOME_Exception);
 
  203     long AddPolyhedralVolumeByFaces (in 
long_array IdsOfFaces) raises (SALOME::SALOME_Exception);
 
  215                                               in 
string         theGroupName,
 
  216                                               in 
boolean        theDuplicateElements)
 
  217       raises (SALOME::SALOME_Exception);
 
  224     void SetNodeOnVertex(in 
long NodeID, in 
long VertexID)
 
  225       raises (SALOME::SALOME_Exception);
 
  232     void SetNodeOnEdge(in 
long NodeID, in 
long EdgeID, in 
double paramOnEdge)
 
  233       raises (SALOME::SALOME_Exception);
 
  241     void SetNodeOnFace(in 
long NodeID, in 
long FaceID, in 
double u, in 
double v)
 
  242       raises (SALOME::SALOME_Exception);
 
  248     void SetNodeInVolume(in 
long NodeID, in 
long SolidID)
 
  249       raises (SALOME::SALOME_Exception);
 
  255     void SetMeshElementOnShape(in 
long ElementID, in 
long ShapeID)
 
  256       raises (SALOME::SALOME_Exception);
 
  259     boolean MoveNode(in 
long NodeID, in 
double x, in 
double y, in 
double z)
 
  260       raises (SALOME::SALOME_Exception);
 
  262     boolean InverseDiag(in 
long NodeID1, in 
long NodeID2) 
 
  263       raises (SALOME::SALOME_Exception);
 
  265     boolean DeleteDiag(in 
long NodeID1, in 
long NodeID2) 
 
  266       raises (SALOME::SALOME_Exception);
 
  269       raises (SALOME::SALOME_Exception);
 
  272       raises (SALOME::SALOME_Exception);
 
  285                     in 
PointStruct    thePoint) raises (SALOME::SALOME_Exception);
 
  296                         in 
boolean         outsideNormal) raises (SALOME::SALOME_Exception);
 
  308                        in 
double           MaxAngle) raises (SALOME::SALOME_Exception);
 
  316                              in 
double           MaxAngle) raises (SALOME::SALOME_Exception);
 
  345     boolean SplitQuad (in 
long_array IDsOfElements,
 
  346                        in 
boolean    Diag13) raises (SALOME::SALOME_Exception);
 
  353                              in 
boolean        Diag13) raises (SALOME::SALOME_Exception);
 
  373     void SplitVolumesIntoTetra(in 
SMESH_IDSource elems, in 
short methodFlags)
 
  374       raises (SALOME::SALOME_Exception);
 
  393                                   in 
short              methodFlags,
 
  394                                   in 
boolean            allDomains)
 
  395       raises (SALOME::SALOME_Exception);
 
  407       raises (SALOME::SALOME_Exception);
 
  414                    in 
long          MaxNbOfIterations,
 
  415                    in 
double        MaxAspectRatio,
 
  416                    in Smooth_Method Method) raises (SALOME::SALOME_Exception);
 
  420                          in 
long            MaxNbOfIterations,
 
  421                          in 
double          MaxAspectRatio,
 
  422                          in Smooth_Method   Method) raises (SALOME::SALOME_Exception);
 
  424     boolean SmoothParametric(in 
long_array    IDsOfElements,
 
  426                              in 
long          MaxNbOfIterations,
 
  427                              in 
double        MaxAspectRatio,
 
  428                              in Smooth_Method Method) raises (SALOME::SALOME_Exception);
 
  432                                    in 
long            MaxNbOfIterations,
 
  433                                    in 
double          MaxAspectRatio,
 
  434                                    in Smooth_Method   Method) raises (SALOME::SALOME_Exception);
 
  437       raises (SALOME::SALOME_Exception);
 
  438     void ConvertToQuadraticObject(in 
boolean        theForce3d, 
 
  440       raises (SALOME::SALOME_Exception);
 
  443       raises (SALOME::SALOME_Exception);
 
  445       raises (SALOME::SALOME_Exception);
 
  447     void ConvertToBiQuadratic(in 
boolean        theForce3d,
 
  449       raises (SALOME::SALOME_Exception);
 
  451     void RenumberNodes() raises (SALOME::SALOME_Exception);
 
  453     void RenumberElements() raises (SALOME::SALOME_Exception);
 
  471                                       in 
double          AngleInRadians,
 
  474                                       in 
boolean         ToMakeGroups)
 
  475       raises (SALOME::SALOME_Exception);
 
  494                                        in 
boolean         linearVariation,
 
  496                                        in 
boolean         toMakeGroups)
 
  497       raises (SALOME::SALOME_Exception);
 
  504                                    in 
boolean         byAverageNormal,
 
  505                                    in 
boolean         useInputElemsOnly,
 
  506                                    in 
boolean         makeGroups,
 
  508       raises (SALOME::SALOME_Exception);
 
  524                                    in 
double     SewTolerance,
 
  525                                    in 
boolean    ToMakeGroups)
 
  526       raises (SALOME::SALOME_Exception);
 
  542                                            in GEOM::GEOM_Object PathShape,
 
  544                                            in 
boolean           HasAngles,
 
  546                                            in 
boolean           LinearVariation,
 
  547                                            in 
boolean           HasRefPoint,
 
  549                                            in 
boolean           MakeGroups,
 
  551       raises (SALOME::SALOME_Exception);
 
  562                                        in GEOM::GEOM_Object PathShape,
 
  571       raises (SALOME::SALOME_Exception);
 
  575       raises (SALOME::SALOME_Exception);
 
  579                                in 
boolean    CopyGroups,
 
  581       raises (SALOME::SALOME_Exception);
 
  587       raises (SALOME::SALOME_Exception);
 
  591       raises (SALOME::SALOME_Exception);
 
  595                                      in 
boolean        CopyGroups,
 
  597       raises (SALOME::SALOME_Exception);
 
  602       raises (SALOME::SALOME_Exception);
 
  605       raises (SALOME::SALOME_Exception);
 
  608                                   in 
boolean    CopyGroups,
 
  610       raises (SALOME::SALOME_Exception);
 
  615       raises (SALOME::SALOME_Exception);
 
  618       raises (SALOME::SALOME_Exception);
 
  621                                         in 
boolean        CopyGroups,
 
  623       raises (SALOME::SALOME_Exception);
 
  629       raises (SALOME::SALOME_Exception);
 
  633       raises (SALOME::SALOME_Exception);
 
  637                               in 
boolean        CopyGroups,
 
  639       raises (SALOME::SALOME_Exception);
 
  643                  in 
double     AngleInRadians,
 
  645       raises (SALOME::SALOME_Exception);
 
  648                                    in 
double     AngleInRadians) 
 
  649       raises (SALOME::SALOME_Exception);
 
  652                                in 
double     AngleInRadians,
 
  653                                in 
boolean    CopyGroups,
 
  655       raises (SALOME::SALOME_Exception);
 
  659                        in 
double         AngleInRadians,
 
  661       raises (SALOME::SALOME_Exception);
 
  664                                          in 
double         AngleInRadians)
 
  665       raises (SALOME::SALOME_Exception);
 
  668                                      in 
double         AngleInRadians,
 
  669                                      in 
boolean        CopyGroups,
 
  671       raises (SALOME::SALOME_Exception);
 
  675                               in  
boolean             SeparateCornersAndMedium)
 
  676       raises (SALOME::SALOME_Exception);
 
  681                                     in  
boolean             SeparateCornersAndMedium)
 
  682       raises (SALOME::SALOME_Exception);
 
  684     void FindCoincidentNodesOnPartBut (in  
SMESH_IDSource      SubMeshOrGroup,
 
  688                                        in  
boolean             SeparateCornersAndMedium)
 
  689       raises (SALOME::SALOME_Exception);
 
  693                      in 
boolean                AvoidMakingHoles)
 
  694       raises (SALOME::SALOME_Exception);
 
  703       raises (SALOME::SALOME_Exception);
 
  710       raises (SALOME::SALOME_Exception);
 
  716       raises (SALOME::SALOME_Exception);
 
  722     long MoveClosestNodeToPoint(in 
double x, in 
double y, in 
double z, in 
long nodeID) 
 
  723       raises (SALOME::SALOME_Exception);
 
  728     long FindNodeClosestTo(in 
double x, in 
double y, in 
double z) 
 
  729       raises (SALOME::SALOME_Exception);
 
  737       raises (SALOME::SALOME_Exception);
 
  746                                         in 
double x, in 
double y, in 
double z, 
 
  748       raises (SALOME::SALOME_Exception);
 
  754     short GetPointState(in 
double x, in 
double y, in 
double z) 
 
  755       raises (SALOME::SALOME_Exception);
 
  768                                     in 
boolean               createPolygons,
 
  769                                     in 
boolean               createPolyedrs)
 
  770       raises (SALOME::SALOME_Exception);
 
  787     Sew_Error SewFreeBorders (in 
long FirstNodeID1,
 
  788                               in 
long SecondNodeID1,
 
  790                               in 
long FirstNodeID2,
 
  791                               in 
long SecondNodeID2,
 
  793                               in 
boolean CreatePolygons,
 
  794                               in 
boolean CreatePolyedrs) 
 
  795       raises (SALOME::SALOME_Exception);
 
  797     Sew_Error SewConformFreeBorders (in 
long FirstNodeID1,
 
  798                                      in 
long SecondNodeID1,
 
  800                                      in 
long FirstNodeID2,
 
  801                                      in 
long SecondNodeID2) 
 
  802       raises (SALOME::SALOME_Exception);
 
  804     Sew_Error SewBorderToSide (in 
long FirstNodeIDOnFreeBorder,
 
  805                                in 
long SecondNodeIDOnFreeBorder,
 
  806                                in 
long LastNodeIDOnFreeBorder,
 
  807                                in 
long FirstNodeIDOnSide,
 
  808                                in 
long LastNodeIDOnSide,
 
  809                                in 
boolean CreatePolygons,
 
  810                                in 
boolean CreatePolyedrs) 
 
  811       raises (SALOME::SALOME_Exception);
 
  815                                in 
long       NodeID1OfSide1ToMerge,
 
  816                                in 
long       NodeID1OfSide2ToMerge,
 
  817                                in 
long       NodeID2OfSide1ToMerge,
 
  818                                in 
long       NodeID2OfSide2ToMerge) 
 
  819       raises (SALOME::SALOME_Exception);
 
  826     boolean ChangeElemNodes(in 
long ide, in 
long_array newIDs) 
 
  827       raises (SALOME::SALOME_Exception);
 
  842                                 in 
string         theGroupName )
 
  843       raises (SALOME::SALOME_Exception);
 
  855       raises (SALOME::SALOME_Exception);
 
  865     boolean DoubleNode( in 
long theNodeId, in 
long_array theModifiedElems ) 
 
  866       raises (SALOME::SALOME_Exception);
 
  878       raises (SALOME::SALOME_Exception);
 
  890       raises (SALOME::SALOME_Exception);
 
  902       raises (SALOME::SALOME_Exception);
 
  914       raises (SALOME::SALOME_Exception);
 
  926     boolean DoubleNodeElem( in 
long_array theElems,
 
  929       raises (SALOME::SALOME_Exception);
 
  942     boolean DoubleNodeElemInRegion( in 
long_array theElems,
 
  944                                     in GEOM::GEOM_Object theShape ) 
 
  945       raises (SALOME::SALOME_Exception);
 
  960       raises (SALOME::SALOME_Exception);
 
  975       raises (SALOME::SALOME_Exception);
 
  992                                           in 
boolean         theElemGroupNeeded,
 
  993                                           in 
boolean         theNodeGroupNeeded) 
 
  994       raises (SALOME::SALOME_Exception);
 
 1009                                          in GEOM::GEOM_Object theShape ) 
 
 1010       raises (SALOME::SALOME_Exception);
 
 1022     boolean DoubleNodeElemGroups( in 
ListOfGroups theElems,
 
 1025       raises (SALOME::SALOME_Exception);
 
 1040       raises (SALOME::SALOME_Exception);
 
 1057                                            in 
boolean         theElemGroupNeeded,
 
 1058                                            in 
boolean         theNodeGroupNeeded ) 
 
 1059       raises (SALOME::SALOME_Exception);
 
 1072     boolean DoubleNodeElemGroupsInRegion( in 
ListOfGroups theElems,
 
 1074                                           in GEOM::GEOM_Object theShape )
 
 1075       raises (SALOME::SALOME_Exception);
 
 1090                                              in GEOM::GEOM_Object theShape ) 
 
 1091       raises (SALOME::SALOME_Exception);
 
 1118                                 in 
string         groupName,
 
 1120                                 in 
boolean        toCopyElements,
 
 1121                                 in 
boolean        toCopyExistingBondary,
 
 1122                                 out 
SMESH_Group   group) raises (SALOME::SALOME_Exception);
 
 1139                               in 
string          groupName,
 
 1141                               in 
boolean         toCopyAll,
 
 1144                               out 
SMESH_Group    group) raises (SALOME::SALOME_Exception);
 
 1161                                           in 
boolean      createJointElems,
 
 1162                                           in 
boolean      onAllBoundaries) 
 
 1163       raises (SALOME::SALOME_Exception);
 
 1175       raises (SALOME::SALOME_Exception); 
 
 1184                         in GEOM::GEOM_Object theShape,
 
 1185                         in 
string groupName,
 
 1188       raises (SALOME::SALOME_Exception);