X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSMESH_MeshEditor.idl;h=2f1223b8f8222000eb51dcd1289ba20d751eb1c8;hb=bdfc51bda9296408c0908cf01a6acc23c539dadb;hp=f001799cf284c24fc1cacf71c59d3b7b6ca389aa;hpb=9ae572587c234edf74d9684ce2dd9c28669ab445;p=modules%2Fsmesh.git diff --git a/idl/SMESH_MeshEditor.idl b/idl/SMESH_MeshEditor.idl index f001799cf..2f1223b8f 100644 --- a/idl/SMESH_MeshEditor.idl +++ b/idl/SMESH_MeshEditor.idl @@ -772,27 +772,27 @@ module SMESH * they not assigned to elements * \return TRUE if operation has been completed successfully, FALSE otherwise * \sa DoubleNode(), DoubleNodeGroup(), DoubleNodeGroups() - */ + */ boolean DoubleNodes( in long_array theNodes, in long_array theModifiedElems ); /*! - * \brief Creates a hole in a mesh by doubling the nodes of some particular elements - * This method provided for convenience works as DoubleNodes() described above. - * \param theNodeId - identifier of node to be doubled. - * \param theModifiedElems - identifiers of elements to be updated. - * \return TRUE if operation has been completed successfully, FALSE otherwise - * \sa DoubleNodes(), DoubleNodeGroup(), DoubleNodeGroups() - */ + * \brief Creates a hole in a mesh by doubling the nodes of some particular elements + * This method provided for convenience works as DoubleNodes() described above. + * \param theNodeId - identifier of node to be doubled. + * \param theModifiedElems - identifiers of elements to be updated. + * \return TRUE if operation has been completed successfully, FALSE otherwise + * \sa DoubleNodes(), DoubleNodeGroup(), DoubleNodeGroups() + */ boolean DoubleNode( in long theNodeId, in long_array theModifiedElems ); /*! - * \brief Creates a hole in a mesh by doubling the nodes of some particular elements - * This method provided for convenience works as DoubleNodes() described above. - * \param theNodes - group of nodes to be doubled. - * \param theModifiedElems - group of elements to be updated. - * \return TRUE if operation has been completed successfully, FALSE otherwise - * \sa DoubleNode(), DoubleNodes(), DoubleNodeGroups(), DoubleNodeGroupNew() - */ + * \brief Creates a hole in a mesh by doubling the nodes of some particular elements + * This method provided for convenience works as DoubleNodes() described above. + * \param theNodes - group of nodes to be doubled. + * \param theModifiedElems - group of elements to be updated. + * \return TRUE if operation has been completed successfully, FALSE otherwise + * \sa DoubleNode(), DoubleNodes(), DoubleNodeGroups(), DoubleNodeGroupNew() + */ boolean DoubleNodeGroup( in SMESH_GroupBase theNodes, in SMESH_GroupBase theModifiedElems ); @@ -809,16 +809,28 @@ module SMESH in SMESH_GroupBase theModifiedElems ); /*! - \brief Creates a hole in a mesh by doubling the nodes of some particular elements - This method provided for convenience works as DoubleNodes() described above. - \param theNodes - list of groups of nodes to be doubled - \param theModifiedElems - list of groups of elements to be updated. - \return TRUE if operation has been completed successfully, FALSE otherwise - \sa DoubleNode(), DoubleNodeGroup(), DoubleNodes() - */ + * \brief Creates a hole in a mesh by doubling the nodes of some particular elements + * This method provided for convenience works as DoubleNodes() described above. + * \param theNodes - list of groups of nodes to be doubled + * \param theModifiedElems - list of groups of elements to be updated. + * \return TRUE if operation has been completed successfully, FALSE otherwise + * \sa DoubleNode(), DoubleNodeGroup(), DoubleNodes() + */ boolean DoubleNodeGroups( in ListOfGroups theNodes, in ListOfGroups theModifiedElems ); + /*! + * \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 + * newly created nodes. + * \param theNodes - list of groups of nodes to be doubled + * \param theModifiedElems - list of groups of elements to be updated. + * \return a new group with newly created nodes + * \sa DoubleNodeGroups() + */ + SMESH_Group DoubleNodeGroupsNew( in ListOfGroups theNodes, + in ListOfGroups theModifiedElems ); + /*! * \brief Creates a hole in a mesh by doubling the nodes of some particular elements * \param theElems - the list of elements (edges or faces) to be replicated @@ -828,7 +840,7 @@ module SMESH * replicated nodes should be associated to. * \return TRUE if operation has been completed successfully, FALSE otherwise * \sa DoubleNodeGroup(), DoubleNodeGroups() - */ + */ boolean DoubleNodeElem( in long_array theElems, in long_array theNodesNot, in long_array theAffectedElems ); @@ -843,7 +855,7 @@ module SMESH * The replicated nodes should be associated to affected elements. * \return TRUE if operation has been completed successfully, FALSE otherwise * \sa DoubleNodeGroupInRegion(), DoubleNodeGroupsInRegion() - */ + */ boolean DoubleNodeElemInRegion( in long_array theElems, in long_array theNodesNot, in GEOM::GEOM_Object theShape ); @@ -857,7 +869,7 @@ module SMESH * should be associated to. * \return TRUE if operation has been completed successfully, FALSE otherwise * \sa DoubleNodes(), DoubleNodeGroups(), DoubleNodeElemGroupNew() - */ + */ boolean DoubleNodeElemGroup( in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, in SMESH_GroupBase theAffectedElems ); @@ -872,7 +884,7 @@ module SMESH * should be associated to. * \return a new group with newly created elements * \sa DoubleNodeElemGroup() - */ + */ SMESH_Group DoubleNodeElemGroupNew( in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, in SMESH_GroupBase theAffectedElems ); @@ -887,7 +899,7 @@ module SMESH * The replicated nodes should be associated to affected elements. * \return TRUE if operation has been completed successfully, FALSE otherwise * \sa DoubleNodesInRegion(), DoubleNodeGroupsInRegion() - */ + */ boolean DoubleNodeElemGroupInRegion( in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, in GEOM::GEOM_Object theShape ); @@ -901,7 +913,7 @@ module SMESH * should be associated to. * \return TRUE if operation has been completed successfully, FALSE otherwise * \sa DoubleNodeGroup(), DoubleNodes(), DoubleNodeElemGroupsNew() - */ + */ boolean DoubleNodeElemGroups( in ListOfGroups theElems, in ListOfGroups theNodesNot, in ListOfGroups theAffectedElems ); @@ -916,7 +928,7 @@ module SMESH * should be associated to. * \return a new group with newly created elements * \sa DoubleNodeElemGroups() - */ + */ SMESH_Group DoubleNodeElemGroupsNew( in ListOfGroups theElems, in ListOfGroups theNodesNot, in ListOfGroups theAffectedElems ); @@ -931,7 +943,7 @@ module SMESH * The replicated nodes should be associated to affected elements. * \return TRUE if operation has been completed successfully, FALSE otherwise * \sa DoubleNodeGroupInRegion(), DoubleNodesInRegion() - */ + */ boolean DoubleNodeElemGroupsInRegion( in ListOfGroups theElems, in ListOfGroups theNodesNot, in GEOM::GEOM_Object theShape ); @@ -943,40 +955,64 @@ module SMESH */ boolean Make2DMeshFrom3D(); - /*! - * \brief Double nodes on shared faces between groups of volumes and create flat elements on demand. - * The list of groups must describe a partition of the mesh volumes. - * The nodes of the internal faces at the boundaries of the groups are doubled. - * In option, the internal faces are replaced by flat elements. - * Triangles are transformed in prisms, and quadrangles in hexahedrons. - * \param theDomains - list of groups of volumes - * \param createJointElems - if TRUE, create the elements - * \return TRUE if operation has been completed successfully, FALSE otherwise - */ - boolean DoubleNodesOnGroupBoundaries( in ListOfGroups theDomains, - in boolean createJointElems ); - /*! * \brief Creates missing boundary elements * \param elements - elements whose boundary is to be checked * \param dimension - defines type of boundary elements to create + * BND_1DFROM3D creates mesh edges on all borders of free facets of 3D elements. * \param groupName - a name of group to store created boundary elements in, * "" means not to create the group * \param meshName - a name of new mesh to store created boundary elements in, * "" means not to create the new mesh * \param toCopyElements - if true, the checked elements will be copied into the new mesh + * else only boundary elements will be copied into the new mesh * \param toCopyExistingBondary - if true, not only new but also pre-existing * boundary elements will be copied into the new mesh * \param group - returns the create group, if any * \retval SMESH::SMESH_Mesh - the mesh where elements were added to */ - SMESH::SMESH_Mesh MakeBoundaryMesh(in SMESH_IDSource elements, - in Bnd_Dimension dimension, - in string groupName, - in string meshName, - in boolean toCopyElements, - in boolean toCopyExistingBondary, - out SMESH_Group group); + SMESH_Mesh MakeBoundaryMesh(in SMESH_IDSource elements, + in Bnd_Dimension dimension, + in string groupName, + in string meshName, + in boolean toCopyElements, + in boolean toCopyExistingBondary, + out SMESH_Group group); + /*! + * \brief Creates missing boundary elements around either the whole mesh or + * groups of 2D elements + * \param dimension - defines type of boundary elements to create + * \param groupName - a name of group to store all boundary elements in, + * "" means not to create the group + * \param meshName - a name of a new mesh, which is a copy of the initial + * mesh + created boundary elements; "" means not to create the new mesh + * \param toCopyAll - if true, the whole initial mesh will be copied into + * the new mesh else only boundary elements will be copied into the new mesh + * \param groups - optional groups of 2D elements to make boundary around + * \param mesh - returns the mesh where elements were added to + * \param group - returns the created group, if any + * \retval long - number of added boundary elements + */ + long MakeBoundaryElements(in Bnd_Dimension dimension, + in string groupName, + in string meshName, + in boolean toCopyAll, + in ListOfIDSources groups, + out SMESH_Mesh mesh, + out SMESH_Group group) raises (SALOME::SALOME_Exception); + + /*! + * \brief Double nodes on shared faces between groups of volumes and create flat elements on demand. + * The list of groups must describe a partition of the mesh volumes. + * The nodes of the internal faces at the boundaries of the groups are doubled. + * In option, the internal faces are replaced by flat elements. + * Triangles are transformed in prisms, and quadrangles in hexahedrons. + * \param theDomains - list of groups of volumes + * \param createJointElems - if TRUE, create the elements + * \return TRUE if operation has been completed successfully, FALSE otherwise + */ + boolean DoubleNodesOnGroupBoundaries( in ListOfGroups theDomains, + in boolean createJointElems ); }; };