From c63113a9ae6a8252f08a3e68ce159214476eb5cd Mon Sep 17 00:00:00 2001 From: prascle Date: Tue, 4 Sep 2012 13:47:56 +0000 Subject: [PATCH] PR: tools for crack meshing : detection of elements affected by node duplication --- idl/SMESH_MeshEditor.idl | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/idl/SMESH_MeshEditor.idl b/idl/SMESH_MeshEditor.idl index 561c5b884..90754ff0c 100644 --- a/idl/SMESH_MeshEditor.idl +++ b/idl/SMESH_MeshEditor.idl @@ -1038,6 +1038,21 @@ module SMESH in ListOfGroups theNodesNot, in GEOM::GEOM_Object theShape ); + /*! + * \brief Identify the elements that will be affected by node duplication (actual duplication is not performed). + * This method is the first step of DoubleNodeElemGroupsInRegion. + * \param theElems - list of groups of elements (edges or faces) to be replicated + * \param theNodesNot - list of groups of nodes not to replicated + * \param theShape - shape to detect affected elements (element which geometric center + * located on or inside shape). + * The replicated nodes should be associated to affected elements. + * \return groups of affected elements + * \sa DoubleNodeElemGroupsInRegion() + */ + ListOfGroups AffectedElemGroupsInRegion( in ListOfGroups theElems, + in ListOfGroups theNodesNot, + in GEOM::GEOM_Object theShape ); + /*! * \brief Generates skin mesh (containing 2D cells) from 3D mesh * The created 2D mesh elements based on nodes of free faces of boundary volumes @@ -1117,6 +1132,18 @@ module SMESH * \return TRUE if operation has been completed successfully, FALSE otherwise */ boolean CreateFlatElementsOnFacesGroups( in ListOfGroups theGroupsOfFaces ); + + /*! + * \brief identify all the elements around a geom shape, get the faces delimiting the hole + * Build groups of volume to remove, groups of faces to replace on the skin of the object, + * groups of faces to remove insidethe object, (idem edges). + * Build ordered list of nodes at the border of each group of faces to replace (to be used to build a geom subshape) + */ + void CreateHoleSkin(in double radius, + in GEOM::GEOM_Object theShape, + in string groupName, + in double_array theNodesCoords, + out array_of_long_array GroupsOfNodes) raises (SALOME::SALOME_Exception); }; };