mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 17:00:34 +05:00
Fix the problem on break link and creation of a mesh on the same geometry:
- In SHAPER, create a part - Create a sketch with a rectangle - Extrude it - Create a group of face with the TOP face - Create a group of face with the BOTTOM face - In SMESH, create a mesh with Netgen 1D2D - Compute the mesh => The mesh groups TOP and BOTTOM are created (if "Create all Groups on geometry" is ticked in Create mesh dialog box) - Call Break link on Extrusion_1_1 under Mesh_1. - Compute Mesh_1 again (it has been cleared by break link). - In SHAPER, edit the sketch and add a fillet in a corner - In SMESH, create another mesh with Netgen 1D2D - Compute Mesh_2 => The mesh groups TOP and BOTTOM are created, but they are void and have a warning sign.
This commit is contained in:
parent
4a3d652a69
commit
d07d6a9662
@ -270,6 +270,16 @@ void SMESH_Mesh_i::ReplaceShape(GEOM::GEOM_Object_ptr theNewGeom)
|
|||||||
if (geomClient->Find(S, aIOR)) {
|
if (geomClient->Find(S, aIOR)) {
|
||||||
geomClient->RemoveShapeFromBuffer(aIOR);
|
geomClient->RemoveShapeFromBuffer(aIOR);
|
||||||
}
|
}
|
||||||
|
// clear buffer also for sub-groups
|
||||||
|
const std::set<SMESHDS_GroupBase*>& groups = _impl->GetMeshDS()->GetGroups();
|
||||||
|
std::set<SMESHDS_GroupBase*>::const_iterator g = groups.begin();
|
||||||
|
for (; g != groups.end(); ++g)
|
||||||
|
if (const SMESHDS_GroupOnGeom* group = dynamic_cast<SMESHDS_GroupOnGeom*>(*g))
|
||||||
|
{
|
||||||
|
const TopoDS_Shape& s = group->GetShape();
|
||||||
|
if (geomClient->Find(s, aIOR))
|
||||||
|
geomClient->RemoveShapeFromBuffer(aIOR);
|
||||||
|
}
|
||||||
|
|
||||||
// update the reference to theNewGeom (needed for correct execution of a dumped python script)
|
// update the reference to theNewGeom (needed for correct execution of a dumped python script)
|
||||||
SMESH::SMESH_Mesh_var me = _this();
|
SMESH::SMESH_Mesh_var me = _this();
|
||||||
|
Loading…
Reference in New Issue
Block a user