mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-04-24 17:02:04 +05:00
21397: EDF SMESH: a quadrangle face mesh can't be projected to a cylinder
after successful algo->Compute(), send SUBMESH_COMPUTED to all lower sub-meshes if ( !algo->NeedDiscreteBoundary() )
This commit is contained in:
parent
293883f8d4
commit
7f5d1328b1
@ -1522,7 +1522,26 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
|
|||||||
{
|
{
|
||||||
_computeError.reset();
|
_computeError.reset();
|
||||||
}
|
}
|
||||||
updateDependantsState( SUBMESH_COMPUTED ); // send event SUBMESH_COMPUTED
|
|
||||||
|
// send event SUBMESH_COMPUTED
|
||||||
|
if ( ret ) {
|
||||||
|
if ( !algo->NeedDiscreteBoundary() )
|
||||||
|
// send SUBMESH_COMPUTED to dependants of all sub-meshes of shape
|
||||||
|
for (subS.ReInit(); subS.More(); subS.Next())
|
||||||
|
{
|
||||||
|
SMESH_subMesh* sm = _father->GetSubMesh( subS.Current() );
|
||||||
|
SMESH_subMeshIteratorPtr smIt = sm->getDependsOnIterator(false,false);
|
||||||
|
while ( smIt->more() ) {
|
||||||
|
sm = smIt->next();
|
||||||
|
if ( sm->GetSubShape().ShapeType() == TopAbs_VERTEX )
|
||||||
|
sm->updateDependantsState( SUBMESH_COMPUTED );
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
updateDependantsState( SUBMESH_COMPUTED );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#ifdef WITH_SMESH_CANCEL_COMPUTE
|
#ifdef WITH_SMESH_CANCEL_COMPUTE
|
||||||
@ -1865,9 +1884,7 @@ void SMESH_subMesh::updateDependantsState(const compute_event theEvent)
|
|||||||
for (; it.More(); it.Next())
|
for (; it.More(); it.Next())
|
||||||
{
|
{
|
||||||
const TopoDS_Shape& ancestor = it.Value();
|
const TopoDS_Shape& ancestor = it.Value();
|
||||||
SMESH_subMesh *aSubMesh =
|
if ( SMESH_subMesh *aSubMesh = _father->GetSubMeshContaining(ancestor))
|
||||||
_father->GetSubMeshContaining(ancestor);
|
|
||||||
if (aSubMesh)
|
|
||||||
aSubMesh->ComputeStateEngine( theEvent );
|
aSubMesh->ComputeStateEngine( theEvent );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user