mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-24 16:30:34 +05:00
IPAL54157: Empty bounding box of a non-empty mesh
This commit is contained in:
parent
3f36e2f8be
commit
54d95073e1
@ -151,7 +151,8 @@ static SMESHDS_Mesh* getMesh(SMESH::SMESH_IDSource_ptr theSource)
|
||||
{
|
||||
if (!CORBA::is_nil( theSource ))
|
||||
{
|
||||
SMESH_Mesh_i* anImplPtr = DownCast<SMESH_Mesh_i*>(theSource->GetMesh());
|
||||
SMESH::SMESH_Mesh_var mesh = theSource->GetMesh();
|
||||
SMESH_Mesh_i* anImplPtr = DownCast<SMESH_Mesh_i*>( mesh );
|
||||
if (anImplPtr)
|
||||
return anImplPtr->GetImpl().GetMeshDS();
|
||||
}
|
||||
@ -287,6 +288,14 @@ static void enlargeBoundingBox(const SMESH::SMESH_IDSource_ptr theObject,
|
||||
const SMESHDS_Mesh* aMesh = getMesh( theObject );
|
||||
if ( !aMesh )
|
||||
return;
|
||||
|
||||
if ( DownCast<SMESH_Mesh_i*>( theObject )) // theObject is mesh
|
||||
{
|
||||
for (SMDS_NodeIteratorPtr aNodeIter = aMesh->nodesIterator(); aNodeIter->more(); )
|
||||
enlargeBoundingBox( aNodeIter->next(), theMeasure);
|
||||
}
|
||||
else
|
||||
{
|
||||
SMESH::array_of_ElementType_var types = theObject->GetTypes();
|
||||
SMESH::long_array_var aElementsId = theObject->GetIDs();
|
||||
// here we assume that type of all IDs defined by first type in array
|
||||
@ -302,6 +311,7 @@ static void enlargeBoundingBox(const SMESH::SMESH_IDSource_ptr theObject,
|
||||
enlargeBoundingBox( aNodeIter->next(), theMeasure);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
@ -2072,7 +2072,14 @@ class Mesh(metaclass = MeshMeta):
|
||||
|
||||
def SetMeshOrder(self, submeshes):
|
||||
"""
|
||||
Set order in which concurrent sub-meshes should be meshed
|
||||
Set priority of sub-meshes. It works in two ways:
|
||||
|
||||
* For sub-meshes with assigned algorithms of same dimension generating mesh of
|
||||
*several dimensions*, it sets the order in which the sub-meshes are computed.
|
||||
* For the rest sub-meshes, it sets the order in which the sub-meshes are checked
|
||||
when looking for meshing parameters to apply to a sub-shape. To impose the
|
||||
order in which sub-meshes with uni-dimensional algorithms are computed,
|
||||
call **submesh.Compute()** in a desired order.
|
||||
|
||||
Parameters:
|
||||
submeshes: list of lists of :class:`sub-meshes <SMESH.SMESH_subMesh>`
|
||||
|
Loading…
Reference in New Issue
Block a user