X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_MeshEditor.idl;h=43d7eac35bb09a0aded02422a33f99a6c76ede1a;hp=3425d89e2e092b5221f33ff80f2d7236ee55cac6;hb=85ee212909aed25e9abc146c4e426d042892f5eb;hpb=1067ffa6e7e5c394e3a1b17219d8b355a57607cd diff --git a/idl/SMESH_MeshEditor.idl b/idl/SMESH_MeshEditor.idl index 3425d89e2..43d7eac35 100644 --- a/idl/SMESH_MeshEditor.idl +++ b/idl/SMESH_MeshEditor.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -42,26 +42,31 @@ module SMESH * Return data of mesh edition preview which is computed provided * that the editor was obtained trough SMESH_Mesh::GetMeshEditPreviewer() */ - MeshPreviewStruct GetPreviewData(); + MeshPreviewStruct GetPreviewData() raises (SALOME::SALOME_Exception); /*! * If during last operation of MeshEditor some nodes were * created this method returns list of their IDs, if new nodes * not created - returns empty list */ - long_array GetLastCreatedNodes(); + long_array GetLastCreatedNodes() raises (SALOME::SALOME_Exception); /*! * If during last operation of MeshEditor some elements were * created this method returns list of their IDs, if new elements * not created - returns empty list */ - long_array GetLastCreatedElems(); + long_array GetLastCreatedElems() raises (SALOME::SALOME_Exception); + + /*! + * \brief Clears sequences of last created elements and nodes + */ + void ClearLastCreated() raises (SALOME::SALOME_Exception); /*! * \brief Returns description of an error/warning occured during the last operation */ - ComputeError GetLastError(); + ComputeError GetLastError() raises (SALOME::SALOME_Exception); /*! * \brief Wrap a sequence of ids in a SMESH_IDSource @@ -75,20 +80,20 @@ module SMESH * \param IDsOfElements list of mesh elements identifiers * \return \c true if elements are correctly removed or \c false otherwise */ - boolean RemoveElements(in long_array IDsOfElements); + boolean RemoveElements(in long_array IDsOfElements) raises (SALOME::SALOME_Exception); /*! * \brief Remove mesh nodes specified by their identifiers. * \param IDsOfNodes list of mesh nodes identifiers * \return \c true if nodes are correctly removed or \c false otherwise */ - boolean RemoveNodes(in long_array IDsOfNodes); + boolean RemoveNodes(in long_array IDsOfNodes) raises (SALOME::SALOME_Exception); /*! * \brief Remove all orphan nodes. * \return number of removed nodes */ - long RemoveOrphanNodes(); + long RemoveOrphanNodes() raises (SALOME::SALOME_Exception); /*! * \brief Add a new node. @@ -97,19 +102,19 @@ module SMESH * \param z Z coordinate of new node * \return integer identifier of new node */ - long AddNode(in double x, in double y, in double z); + long AddNode(in double x, in double y, in double z) raises (SALOME::SALOME_Exception); /*! * Create a 0D element on the given node. * \param IdOfNode Node IDs for creation of element. */ - long Add0DElement(in long IDOfNode); + long Add0DElement(in long IDOfNode) raises (SALOME::SALOME_Exception); /*! * Create a ball element on the given node. * \param IdOfNode Node IDs for creation of element. */ - long AddBall(in long IDOfNode, in double diameter); + long AddBall(in long IDOfNode, in double diameter) raises (SALOME::SALOME_Exception); /*! * Create an edge, either linear and quadratic (this is determed @@ -119,7 +124,7 @@ module SMESH * of MED. This description is located by the following link: * http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3. */ - long AddEdge(in long_array IDsOfNodes); + long AddEdge(in long_array IDsOfNodes) raises (SALOME::SALOME_Exception); /*! * Create face, either linear and quadratic (this is determed @@ -129,9 +134,9 @@ module SMESH * of MED. This description is located by the following link: * http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3. */ - long AddFace(in long_array IDsOfNodes); + long AddFace(in long_array IDsOfNodes) raises (SALOME::SALOME_Exception); - long AddPolygonalFace(in long_array IdsOfNodes); + long AddPolygonalFace(in long_array IdsOfNodes) raises (SALOME::SALOME_Exception); /*! * Create volume, either linear and quadratic (this is determed @@ -141,7 +146,7 @@ module SMESH * of MED. This description is located by the following link: * http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3. */ - long AddVolume(in long_array IDsOfNodes); + long AddVolume(in long_array IDsOfNodes) raises (SALOME::SALOME_Exception); /*! * Create volume of many faces, giving nodes for each face. @@ -150,14 +155,14 @@ module SMESH * gives quantity of nodes in face number i. */ long AddPolyhedralVolume (in long_array IdsOfNodes, - in long_array Quantities); + in long_array Quantities) raises (SALOME::SALOME_Exception); /*! * Create volume of many faces, giving IDs of existing faces. * \param IdsOfFaces List of face IDs for volume creation. * \note The created volume will refer only to nodes * of the given faces, not to the faces itself. */ - long AddPolyhedralVolumeByFaces (in long_array IdsOfFaces); + long AddPolyhedralVolumeByFaces (in long_array IdsOfFaces) raises (SALOME::SALOME_Exception); /*! * Create 0D elements on all nodes of the given object except those @@ -212,15 +217,20 @@ module SMESH raises (SALOME::SALOME_Exception); - boolean MoveNode(in long NodeID, in double x, in double y, in double z); + boolean MoveNode(in long NodeID, in double x, in double y, in double z) + raises (SALOME::SALOME_Exception); - boolean InverseDiag(in long NodeID1, in long NodeID2); + boolean InverseDiag(in long NodeID1, in long NodeID2) + raises (SALOME::SALOME_Exception); - boolean DeleteDiag(in long NodeID1, in long NodeID2); + boolean DeleteDiag(in long NodeID1, in long NodeID2) + raises (SALOME::SALOME_Exception); - boolean Reorient(in long_array IDsOfElements); + boolean Reorient(in long_array IDsOfElements) + raises (SALOME::SALOME_Exception); - boolean ReorientObject(in SMESH_IDSource theObject); + boolean ReorientObject(in SMESH_IDSource theObject) + raises (SALOME::SALOME_Exception); /*! * \brief Reorient faces contained in \a the2Dgroup. * \param the2Dgroup - the mesh or its part to reorient @@ -237,41 +247,44 @@ module SMESH /*! * \brief Fuse neighbour triangles into quadrangles. - * \param theElems The triangles to be fused. + * \param IDsOfElements Ids of triangles to be fused. * \param theCriterion Is used to choose a neighbour to fuse with. * \param theMaxAngle Is a max angle between element normals at which fusion * is still performed; theMaxAngle is mesured in radians. - * \return TRUE in case of success, FALSE otherwise. + * \return \c true in case of success, FALSE otherwise. */ boolean TriToQuad (in long_array IDsOfElements, in NumericalFunctor Criterion, - in double MaxAngle); - + in double MaxAngle) raises (SALOME::SALOME_Exception); /*! * \brief Fuse neighbour triangles into quadrangles. * - * Behaves like the above method, taking list of elements from \a theObject + * Behaves like the above method, taking a list of elements from \a theObject */ boolean TriToQuadObject (in SMESH_IDSource theObject, in NumericalFunctor Criterion, - in double MaxAngle); + in double MaxAngle) raises (SALOME::SALOME_Exception); /*! * \brief Split quadrangles into triangles. - * \param theElems The faces to be splitted. + * \param IDsOfElements Ids of quadrangles to split. * \param theCriterion Is used to choose a diagonal for splitting. * \return TRUE in case of success, FALSE otherwise. */ boolean QuadToTri (in long_array IDsOfElements, - in NumericalFunctor Criterion); - + in NumericalFunctor Criterion) raises (SALOME::SALOME_Exception); /*! * \brief Split quadrangles into triangles. * - * Behaves like the above method, taking list of elements from \a theObject + * Behaves like the above method, taking a list of elements from \a theObject */ boolean QuadToTriObject (in SMESH_IDSource theObject, - in NumericalFunctor Criterion); + in NumericalFunctor Criterion) raises (SALOME::SALOME_Exception); + /*! + * \brief Split each of quadrangles into 4 triangles. + * \param theQuads Container of quadrangles to split. + */ + void QuadTo4Tri (in SMESH_IDSource theQuads) raises (SALOME::SALOME_Exception); /*! * \brief Split quadrangles into triangles. @@ -280,15 +293,14 @@ module SMESH * \return TRUE in case of success, FALSE otherwise. */ boolean SplitQuad (in long_array IDsOfElements, - in boolean Diag13); - + in boolean Diag13) raises (SALOME::SALOME_Exception); /*! * \brief Split quadrangles into triangles. * * Behaves like the above method, taking list of elements from \a theObject */ boolean SplitQuadObject (in SMESH_IDSource theObject, - in boolean Diag13); + in boolean Diag13) raises (SALOME::SALOME_Exception); /*! * Find better splitting of the given quadrangle. @@ -298,7 +310,7 @@ module SMESH * diagonal is better, 0 if error occurs. */ long BestSplit (in long IDOfQuad, - in NumericalFunctor Criterion); + in NumericalFunctor Criterion) raises (SALOME::SALOME_Exception); /*! * \brief Split volumic elements into tetrahedrons @@ -318,40 +330,44 @@ module SMESH in long_array IDsOfFixedNodes, in long MaxNbOfIterations, in double MaxAspectRatio, - in Smooth_Method Method); + in Smooth_Method Method) raises (SALOME::SALOME_Exception); boolean SmoothObject(in SMESH_IDSource theObject, in long_array IDsOfFixedNodes, in long MaxNbOfIterations, in double MaxAspectRatio, - in Smooth_Method Method); + in Smooth_Method Method) raises (SALOME::SALOME_Exception); boolean SmoothParametric(in long_array IDsOfElements, in long_array IDsOfFixedNodes, in long MaxNbOfIterations, in double MaxAspectRatio, - in Smooth_Method Method); + in Smooth_Method Method) raises (SALOME::SALOME_Exception); boolean SmoothParametricObject(in SMESH_IDSource theObject, in long_array IDsOfFixedNodes, in long MaxNbOfIterations, in double MaxAspectRatio, - in Smooth_Method Method); - - void ConvertToQuadratic(in boolean theForce3d); - - boolean ConvertFromQuadratic(); + in Smooth_Method Method) raises (SALOME::SALOME_Exception); + void ConvertToQuadratic(in boolean theForce3d) + raises (SALOME::SALOME_Exception); void ConvertToQuadraticObject(in boolean theForce3d, in SMESH_IDSource theObject) raises (SALOME::SALOME_Exception); + + boolean ConvertFromQuadratic() + raises (SALOME::SALOME_Exception); + void ConvertFromQuadraticObject(in SMESH_IDSource theObject) + raises (SALOME::SALOME_Exception); - void ConvertFromQuadraticObject(in SMESH_IDSource theObject) + void ConvertToBiQuadratic(in boolean theForce3d, + in SMESH_IDSource theObject) raises (SALOME::SALOME_Exception); - void RenumberNodes(); + void RenumberNodes() raises (SALOME::SALOME_Exception); - void RenumberElements(); + void RenumberElements() raises (SALOME::SALOME_Exception); /*! * \brief Genarate dim+1 elements by rotation of given elements around axis @@ -364,7 +380,8 @@ module SMESH in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, - in double Tolerance); + in double Tolerance) + raises (SALOME::SALOME_Exception); /*! * \brief Same as previous but additionally create groups of elements * generated from elements belonging to preexisting groups @@ -373,7 +390,8 @@ module SMESH in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, - in double Tolerance); + in double Tolerance) + raises (SALOME::SALOME_Exception); /*! * \brief Genarate dim+1 elements by rotation of the object around axis * \param theObject - object containing elements to ratate @@ -385,7 +403,8 @@ module SMESH in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, - in double Tolerance); + in double Tolerance) + raises (SALOME::SALOME_Exception); /*! * \brief Same as previous but additionally create groups of elements * generated from elements belonging to preexisting groups @@ -394,7 +413,8 @@ module SMESH in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, - in double Tolerance); + in double Tolerance) + raises (SALOME::SALOME_Exception); /*! * \brief Genarate dim+1 elements by rotation of the object around axis * \param theObject - object containing elements to ratate @@ -406,7 +426,8 @@ module SMESH in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, - in double Tolerance); + in double Tolerance) + raises (SALOME::SALOME_Exception); /*! * \brief Same as previous but additionally create groups of elements * generated from elements belonging to preexisting groups @@ -415,7 +436,8 @@ module SMESH in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, - in double Tolerance); + in double Tolerance) + raises (SALOME::SALOME_Exception); /*! * \brief Genarate dim+1 elements by rotation of the object around axis * \param theObject - object containing elements to ratate @@ -427,7 +449,8 @@ module SMESH in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, - in double Tolerance); + in double Tolerance) + raises (SALOME::SALOME_Exception); /*! * \brief Same as previous but additionally create groups of elements * generated from elements belonging to preexisting groups @@ -436,7 +459,8 @@ module SMESH in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, - in double Tolerance); + in double Tolerance) + raises (SALOME::SALOME_Exception); /*! * \brief Genarate dim+1 elements by extrusion of elements along vector * \param IDsOfElements - elements to sweep @@ -445,7 +469,8 @@ module SMESH */ void ExtrusionSweep(in long_array IDsOfElements, in DirStruct StepVector, - in long NbOfSteps); + in long NbOfSteps) + raises (SALOME::SALOME_Exception); /*! * \brief Genarate dim+1 elements by extrusion of elements along vector * \param IDsOfElements - elements to sweep @@ -454,20 +479,23 @@ module SMESH */ void ExtrusionSweep0D(in long_array IDsOfElements, in DirStruct StepVector, - in long NbOfSteps); + in long NbOfSteps) + raises (SALOME::SALOME_Exception); /*! * \brief Same as previous but additionally create groups of elements * generated from elements belonging to preexisting groups */ ListOfGroups ExtrusionSweepMakeGroups(in long_array IDsOfElements, in DirStruct StepVector, - in long NbOfSteps); + in long NbOfSteps) + raises (SALOME::SALOME_Exception); /*! * \brief Same as previous but elements are nodes */ ListOfGroups ExtrusionSweepMakeGroups0D(in long_array IDsOfElements, in DirStruct StepVector, - in long NbOfSteps); + in long NbOfSteps) + raises (SALOME::SALOME_Exception); /*! * Generate new elements by extrusion of theElements * by StepVector by NbOfSteps @@ -479,7 +507,8 @@ module SMESH in DirStruct StepVector, in long NbOfSteps, in long ExtrFlags, - in double SewTolerance); + in double SewTolerance) + raises (SALOME::SALOME_Exception); /*! * \brief Same as previous but additionally create groups of elements * generated from elements belonging to preexisting groups @@ -488,35 +517,44 @@ module SMESH in DirStruct StepVector, in long NbOfSteps, in long ExtrFlags, - in double SewTolerance); + in double SewTolerance) + raises (SALOME::SALOME_Exception); void ExtrusionSweepObject(in SMESH_IDSource theObject, in DirStruct StepVector, - in long NbOfSteps); + in long NbOfSteps) + raises (SALOME::SALOME_Exception); ListOfGroups ExtrusionSweepObjectMakeGroups(in SMESH_IDSource theObject, in DirStruct StepVector, - in long NbOfSteps); + in long NbOfSteps) + raises (SALOME::SALOME_Exception); void ExtrusionSweepObject0D(in SMESH_IDSource theObject, in DirStruct StepVector, - in long NbOfSteps); + in long NbOfSteps) + raises (SALOME::SALOME_Exception); ListOfGroups ExtrusionSweepObject0DMakeGroups(in SMESH_IDSource theObject, in DirStruct StepVector, - in long NbOfSteps); + in long NbOfSteps) + raises (SALOME::SALOME_Exception); void ExtrusionSweepObject1D(in SMESH_IDSource theObject, in DirStruct StepVector, - in long NbOfSteps); + in long NbOfSteps) + raises (SALOME::SALOME_Exception); ListOfGroups ExtrusionSweepObject1DMakeGroups(in SMESH_IDSource theObject, in DirStruct StepVector, - in long NbOfSteps); + in long NbOfSteps) + raises (SALOME::SALOME_Exception); void ExtrusionSweepObject2D(in SMESH_IDSource theObject, in DirStruct StepVector, - in long NbOfSteps); + in long NbOfSteps) + raises (SALOME::SALOME_Exception); ListOfGroups ExtrusionSweepObject2DMakeGroups(in SMESH_IDSource theObject, in DirStruct StepVector, - in long NbOfSteps); + in long NbOfSteps) + raises (SALOME::SALOME_Exception); enum Extrusion_Error { EXTR_OK, @@ -538,7 +576,8 @@ module SMESH in PointStruct RefPoint, in boolean MakeGroups, in ElementType ElemType, - out Extrusion_Error Error); + out Extrusion_Error Error) + raises (SALOME::SALOME_Exception); ListOfGroups ExtrusionAlongPathObjX(in SMESH_IDSource theObject, in SMESH_IDSource Path, @@ -550,7 +589,8 @@ module SMESH in PointStruct RefPoint, in boolean MakeGroups, in ElementType ElemType, - out Extrusion_Error Error); + out Extrusion_Error Error) + raises (SALOME::SALOME_Exception); Extrusion_Error ExtrusionAlongPath(in long_array IDsOfElements, in SMESH_Mesh PathMesh, @@ -559,7 +599,8 @@ module SMESH in boolean HasAngles, in double_array Angles, in boolean HasRefPoint, - in PointStruct RefPoint); + in PointStruct RefPoint) + raises (SALOME::SALOME_Exception); ListOfGroups ExtrusionAlongPathMakeGroups(in long_array IDsOfElements, in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, @@ -568,7 +609,8 @@ module SMESH in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint, - out Extrusion_Error Error); + out Extrusion_Error Error) + raises (SALOME::SALOME_Exception); Extrusion_Error ExtrusionAlongPathObject(in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, @@ -577,7 +619,8 @@ module SMESH in boolean HasAngles, in double_array Angles, in boolean HasRefPoint, - in PointStruct RefPoint); + in PointStruct RefPoint) + raises (SALOME::SALOME_Exception); ListOfGroups ExtrusionAlongPathObjectMakeGroups(in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, @@ -586,7 +629,8 @@ module SMESH in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint, - out Extrusion_Error Error); + out Extrusion_Error Error) + raises (SALOME::SALOME_Exception); Extrusion_Error ExtrusionAlongPathObject1D(in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, @@ -595,7 +639,8 @@ module SMESH in boolean HasAngles, in double_array Angles, in boolean HasRefPoint, - in PointStruct RefPoint); + in PointStruct RefPoint) + raises (SALOME::SALOME_Exception); ListOfGroups ExtrusionAlongPathObject1DMakeGroups(in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, @@ -604,7 +649,8 @@ module SMESH in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint, - out Extrusion_Error Error); + out Extrusion_Error Error) + raises (SALOME::SALOME_Exception); Extrusion_Error ExtrusionAlongPathObject2D(in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, @@ -613,7 +659,8 @@ module SMESH in boolean HasAngles, in double_array Angles, in boolean HasRefPoint, - in PointStruct RefPoint); + in PointStruct RefPoint) + raises (SALOME::SALOME_Exception); ListOfGroups ExtrusionAlongPathObject2DMakeGroups(in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, @@ -622,7 +669,8 @@ module SMESH in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint, - out Extrusion_Error Error); + out Extrusion_Error Error) + raises (SALOME::SALOME_Exception); /*! * Compute rotation angles for ExtrusionAlongPath as linear variation @@ -641,101 +689,126 @@ module SMESH void Mirror (in long_array IDsOfElements, in AxisStruct Mirror, in MirrorType Type, - in boolean Copy); + in boolean Copy) + raises (SALOME::SALOME_Exception); ListOfGroups MirrorMakeGroups (in long_array IDsOfElements, in AxisStruct Mirror, - in MirrorType Type); + in MirrorType Type) + raises (SALOME::SALOME_Exception); SMESH_Mesh MirrorMakeMesh (in long_array IDsOfElements, in AxisStruct Mirror, in MirrorType Type, in boolean CopyGroups, - in string MeshName); + in string MeshName) + raises (SALOME::SALOME_Exception); void MirrorObject (in SMESH_IDSource theObject, in AxisStruct Mirror, in MirrorType Type, - in boolean Copy); + in boolean Copy) + raises (SALOME::SALOME_Exception); ListOfGroups MirrorObjectMakeGroups (in SMESH_IDSource theObject, in AxisStruct Mirror, - in MirrorType Type); + in MirrorType Type) + raises (SALOME::SALOME_Exception); SMESH_Mesh MirrorObjectMakeMesh (in SMESH_IDSource theObject, in AxisStruct Mirror, in MirrorType Type, in boolean CopyGroups, - in string MeshName); + in string MeshName) + raises (SALOME::SALOME_Exception); void Translate (in long_array IDsOfElements, in DirStruct Vector, - in boolean Copy); + in boolean Copy) + raises (SALOME::SALOME_Exception); ListOfGroups TranslateMakeGroups (in long_array IDsOfElements, - in DirStruct Vector); + in DirStruct Vector) + raises (SALOME::SALOME_Exception); SMESH_Mesh TranslateMakeMesh (in long_array IDsOfElements, in DirStruct Vector, in boolean CopyGroups, - in string MeshName); + in string MeshName) + raises (SALOME::SALOME_Exception); void TranslateObject (in SMESH_IDSource theObject, in DirStruct Vector, - in boolean Copy); + in boolean Copy) + raises (SALOME::SALOME_Exception); ListOfGroups TranslateObjectMakeGroups (in SMESH_IDSource theObject, - in DirStruct Vector); + in DirStruct Vector) + raises (SALOME::SALOME_Exception); SMESH_Mesh TranslateObjectMakeMesh (in SMESH_IDSource theObject, in DirStruct Vector, in boolean CopyGroups, - in string MeshName); + in string MeshName) + raises (SALOME::SALOME_Exception); void Scale (in SMESH_IDSource theObject, in PointStruct thePoint, in double_array theScaleFact, - in boolean Copy); + in boolean Copy) + raises (SALOME::SALOME_Exception); ListOfGroups ScaleMakeGroups (in SMESH_IDSource theObject, in PointStruct thePoint, - in double_array theScaleFact); + in double_array theScaleFact) + raises (SALOME::SALOME_Exception); SMESH_Mesh ScaleMakeMesh (in SMESH_IDSource theObject, in PointStruct thePoint, in double_array theScaleFact, in boolean CopyGroups, - in string MeshName); + in string MeshName) + raises (SALOME::SALOME_Exception); void Rotate (in long_array IDsOfElements, in AxisStruct Axis, in double AngleInRadians, - in boolean Copy); + in boolean Copy) + raises (SALOME::SALOME_Exception); ListOfGroups RotateMakeGroups (in long_array IDsOfElements, in AxisStruct Axis, - in double AngleInRadians); + in double AngleInRadians) + raises (SALOME::SALOME_Exception); SMESH_Mesh RotateMakeMesh (in long_array IDsOfElements, in AxisStruct Axis, in double AngleInRadians, in boolean CopyGroups, - in string MeshName); + in string MeshName) + raises (SALOME::SALOME_Exception); void RotateObject (in SMESH_IDSource theObject, in AxisStruct Axis, in double AngleInRadians, - in boolean Copy); + in boolean Copy) + raises (SALOME::SALOME_Exception); ListOfGroups RotateObjectMakeGroups (in SMESH_IDSource theObject, in AxisStruct Axis, - in double AngleInRadians); + in double AngleInRadians) + raises (SALOME::SALOME_Exception); SMESH_Mesh RotateObjectMakeMesh (in SMESH_IDSource theObject, in AxisStruct Axis, in double AngleInRadians, in boolean CopyGroups, - in string MeshName); + in string MeshName) + raises (SALOME::SALOME_Exception); void FindCoincidentNodes (in double Tolerance, - out array_of_long_array GroupsOfNodes); + out array_of_long_array GroupsOfNodes) + raises (SALOME::SALOME_Exception); void FindCoincidentNodesOnPart (in SMESH_IDSource SubMeshOrGroup, in double Tolerance, - out array_of_long_array GroupsOfNodes); + out array_of_long_array GroupsOfNodes) + raises (SALOME::SALOME_Exception); void FindCoincidentNodesOnPartBut (in SMESH_IDSource SubMeshOrGroup, in double Tolerance, out array_of_long_array GroupsOfNodes, - in ListOfIDSources ExceptSubMeshOrGroups); + in ListOfIDSources ExceptSubMeshOrGroups) + raises (SALOME::SALOME_Exception); - void MergeNodes (in array_of_long_array GroupsOfNodes); + void MergeNodes (in array_of_long_array GroupsOfNodes) + raises (SALOME::SALOME_Exception); /*! * \brief Find elements built on the same nodes. @@ -743,36 +816,42 @@ module SMESH * \return List of groups of equal elements. */ void FindEqualElements (in SMESH_IDSource MeshOrSubMeshOrGroup, - out array_of_long_array GroupsOfElementsID); + out array_of_long_array GroupsOfElementsID) + raises (SALOME::SALOME_Exception); /*! * \brief Merge elements in each given group. * \param GroupsOfElementsID Groups of elements for merging. */ - void MergeElements(in array_of_long_array GroupsOfElementsID); + void MergeElements(in array_of_long_array GroupsOfElementsID) + raises (SALOME::SALOME_Exception); /*! * \brief Merge equal elements in the whole mesh. */ - void MergeEqualElements(); + void MergeEqualElements() + raises (SALOME::SALOME_Exception); /*! * If the given ID is a valid node ID (nodeID > 0), just move this node, else * move the node closest to the point to point's location and return ID of the node */ - long MoveClosestNodeToPoint(in double x, in double y, in double z, in long nodeID); + long MoveClosestNodeToPoint(in double x, in double y, in double z, in long nodeID) + raises (SALOME::SALOME_Exception); /*! * Return ID of node closest to a given point */ - long FindNodeClosestTo(in double x, in double y, in double z); + long FindNodeClosestTo(in double x, in double y, in double z) + raises (SALOME::SALOME_Exception); /*! * Return elements of given type where the given point is IN or ON. * * 'ALL' type means elements of any type excluding nodes and 0D elements */ - long_array FindElementsByPoint(in double x, in double y, in double z, in ElementType type); + long_array FindElementsByPoint(in double x, in double y, in double z, in ElementType type) + raises (SALOME::SALOME_Exception); /*! * Searching among the given elements, return elements of given type @@ -782,13 +861,15 @@ module SMESH */ long_array FindAmongElementsByPoint(in SMESH_IDSource elements, in double x, in double y, in double z, - in ElementType type); + in ElementType type) + raises (SALOME::SALOME_Exception); /*! * Return point state in a closed 2D mesh in terms of TopAbs_State enumeration. * TopAbs_UNKNOWN state means that either mesh is wrong or the analysis fails. */ - short GetPointState(in double x, in double y, in double z); + short GetPointState(in double x, in double y, in double z) + raises (SALOME::SALOME_Exception); enum Sew_Error { SEW_OK, @@ -811,13 +892,15 @@ module SMESH in long SecondNodeID2, in long LastNodeID2, in boolean CreatePolygons, - in boolean CreatePolyedrs); + in boolean CreatePolyedrs) + raises (SALOME::SALOME_Exception); Sew_Error SewConformFreeBorders (in long FirstNodeID1, in long SecondNodeID1, in long LastNodeID1, in long FirstNodeID2, - in long SecondNodeID2); + in long SecondNodeID2) + raises (SALOME::SALOME_Exception); Sew_Error SewBorderToSide (in long FirstNodeIDOnFreeBorder, in long SecondNodeIDOnFreeBorder, @@ -825,21 +908,40 @@ module SMESH in long FirstNodeIDOnSide, in long LastNodeIDOnSide, in boolean CreatePolygons, - in boolean CreatePolyedrs); + in boolean CreatePolyedrs) + raises (SALOME::SALOME_Exception); Sew_Error SewSideElements (in long_array IDsOfSide1Elements, in long_array IDsOfSide2Elements, in long NodeID1OfSide1ToMerge, in long NodeID1OfSide2ToMerge, in long NodeID2OfSide1ToMerge, - in long NodeID2OfSide2ToMerge); + in long NodeID2OfSide2ToMerge) + raises (SALOME::SALOME_Exception); /*! * Set new nodes for given element. * If number of nodes is not corresponded to type of * element - returns false */ - boolean ChangeElemNodes(in long ide, in long_array newIDs); + boolean ChangeElemNodes(in long ide, in long_array newIDs) + raises (SALOME::SALOME_Exception); + + /*! + * \brief Duplicates given elements, i.e. creates new elements based on the + * same nodes as the given ones. + * \param theElements - container of elements to duplicate. + * \param theGroupName - a name of group to contain the generated elements. + * If a group with such a name already exists, the new elements + * are added to the existng group, else a new group is created. + * If \a theGroupName is empty, new elements are not added + * in any group. + * \return a group where the new elements are added. NULL if theGroupName == "". + * \sa DoubleNode() + */ + SMESH_Group DoubleElements( in SMESH_IDSource theElements, + in string theGroupName ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements @@ -847,10 +949,11 @@ module SMESH * \param theModifiedElems - identifiers of elements to be updated by the new (doubled) * nodes. If list of element identifiers is empty then nodes are doubled but * they not assigned to elements - * \return TRUE if operation has been completed successfully, FALSE otherwise + * \return TRUE if operation has been completed successfully, FALSE otherwise * \sa DoubleNode(), DoubleNodeGroup(), DoubleNodeGroups() */ - boolean DoubleNodes( in long_array theNodes, in long_array theModifiedElems ); + boolean DoubleNodes( in long_array theNodes, in long_array theModifiedElems ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements @@ -860,7 +963,8 @@ module SMESH * \return TRUE if operation has been completed successfully, FALSE otherwise * \sa DoubleNodes(), DoubleNodeGroup(), DoubleNodeGroups() */ - boolean DoubleNode( in long theNodeId, in long_array theModifiedElems ); + boolean DoubleNode( in long theNodeId, in long_array theModifiedElems ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements @@ -871,7 +975,8 @@ module SMESH * \sa DoubleNode(), DoubleNodes(), DoubleNodeGroups(), DoubleNodeGroupNew() */ boolean DoubleNodeGroup( in SMESH_GroupBase theNodes, - in SMESH_GroupBase theModifiedElems ); + in SMESH_GroupBase theModifiedElems ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements. * Works as DoubleNodeGroup() described above, but returns a new group with @@ -882,7 +987,8 @@ module SMESH * \sa DoubleNodeGroup() */ SMESH_Group DoubleNodeGroupNew( in SMESH_GroupBase theNodes, - in SMESH_GroupBase theModifiedElems ); + in SMESH_GroupBase theModifiedElems ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements @@ -893,7 +999,8 @@ module SMESH * \sa DoubleNode(), DoubleNodeGroup(), DoubleNodes() */ boolean DoubleNodeGroups( in ListOfGroups theNodes, - in ListOfGroups theModifiedElems ); + in ListOfGroups theModifiedElems ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements * Works as DoubleNodeGroups() described above, but returns a new group with @@ -904,7 +1011,8 @@ module SMESH * \sa DoubleNodeGroups() */ SMESH_Group DoubleNodeGroupsNew( in ListOfGroups theNodes, - in ListOfGroups theModifiedElems ); + in ListOfGroups theModifiedElems ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements @@ -918,7 +1026,8 @@ module SMESH */ boolean DoubleNodeElem( in long_array theElems, in long_array theNodesNot, - in long_array theAffectedElems ); + in long_array theAffectedElems ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements @@ -933,7 +1042,8 @@ module SMESH */ boolean DoubleNodeElemInRegion( in long_array theElems, in long_array theNodesNot, - in GEOM::GEOM_Object theShape ); + in GEOM::GEOM_Object theShape ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements @@ -947,7 +1057,8 @@ module SMESH */ boolean DoubleNodeElemGroup( in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, - in SMESH_GroupBase theAffectedElems ); + in SMESH_GroupBase theAffectedElems ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements. * Works as DoubleNodeElemGroup() described above, but returns a new group with @@ -961,7 +1072,8 @@ module SMESH */ SMESH_Group DoubleNodeElemGroupNew( in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, - in SMESH_GroupBase theAffectedElems ); + in SMESH_GroupBase theAffectedElems ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements. * Works as DoubleNodeElemGroup() described above, but returns two new groups: @@ -979,7 +1091,8 @@ module SMESH in SMESH_GroupBase theNodesNot, in SMESH_GroupBase theAffectedElems, in boolean theElemGroupNeeded, - in boolean theNodeGroupNeeded); + in boolean theNodeGroupNeeded) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements @@ -994,7 +1107,8 @@ module SMESH */ boolean DoubleNodeElemGroupInRegion( in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, - in GEOM::GEOM_Object theShape ); + in GEOM::GEOM_Object theShape ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements @@ -1008,7 +1122,8 @@ module SMESH */ boolean DoubleNodeElemGroups( in ListOfGroups theElems, in ListOfGroups theNodesNot, - in ListOfGroups theAffectedElems ); + in ListOfGroups theAffectedElems ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements. * Works as DoubleNodeElemGroups() described above, but returns a new group with @@ -1022,7 +1137,8 @@ module SMESH */ SMESH_Group DoubleNodeElemGroupsNew( in ListOfGroups theElems, in ListOfGroups theNodesNot, - in ListOfGroups theAffectedElems ); + in ListOfGroups theAffectedElems ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements. * Works as DoubleNodeElemGroups() described above, but returns two new groups: @@ -1040,7 +1156,8 @@ module SMESH in ListOfGroups theNodesNot, in ListOfGroups theAffectedElems, in boolean theElemGroupNeeded, - in boolean theNodeGroupNeeded ); + in boolean theNodeGroupNeeded ) + raises (SALOME::SALOME_Exception); /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements @@ -1055,7 +1172,8 @@ module SMESH */ boolean DoubleNodeElemGroupsInRegion( in ListOfGroups theElems, in ListOfGroups theNodesNot, - in GEOM::GEOM_Object theShape ); + in GEOM::GEOM_Object theShape ) + raises (SALOME::SALOME_Exception); /*! * \brief Identify the elements that will be affected by node duplication (actual duplication is not performed). @@ -1070,14 +1188,15 @@ module SMESH */ ListOfGroups AffectedElemGroupsInRegion( in ListOfGroups theElems, in ListOfGroups theNodesNot, - in GEOM::GEOM_Object theShape ); + in GEOM::GEOM_Object theShape ) + raises (SALOME::SALOME_Exception); /*! * \brief Generates skin mesh (containing 2D cells) from 3D mesh * The created 2D mesh elements based on nodes of free faces of boundary volumes * \return TRUE if operation has been completed successfully, FALSE otherwise */ - boolean Make2DMeshFrom3D(); + boolean Make2DMeshFrom3D() raises (SALOME::SALOME_Exception); /*! * \brief Creates missing boundary elements @@ -1101,7 +1220,7 @@ module SMESH in string meshName, in boolean toCopyElements, in boolean toCopyExistingBondary, - out SMESH_Group group); + out SMESH_Group group) raises (SALOME::SALOME_Exception); /*! * \brief Creates missing boundary elements around either the whole mesh or * groups of 2D elements @@ -1150,7 +1269,8 @@ module SMESH * \param theGroupsOfFaces - list of groups of faces * \return TRUE if operation has been completed successfully, FALSE otherwise */ - boolean CreateFlatElementsOnFacesGroups( in ListOfGroups theGroupsOfFaces ); + boolean CreateFlatElementsOnFacesGroups( in ListOfGroups theGroupsOfFaces ) + raises (SALOME::SALOME_Exception); /*! * \brief identify all the elements around a geom shape, get the faces delimiting the hole @@ -1162,7 +1282,8 @@ module SMESH in GEOM::GEOM_Object theShape, in string groupName, in double_array theNodesCoords, - out array_of_long_array GroupsOfNodes) raises (SALOME::SALOME_Exception); + out array_of_long_array GroupsOfNodes) + raises (SALOME::SALOME_Exception); }; };