mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-19 00:20:36 +05:00
0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
Move all checks of shape validity from AddCompoundSubmesh() to IsGroupOfSubShapes()
This commit is contained in:
parent
52e29b1d26
commit
c72cfb82fd
@ -1073,15 +1073,13 @@ TopoDS_Shape SMESHDS_Mesh::ShapeToMesh() const
|
||||
|
||||
bool SMESHDS_Mesh::IsGroupOfSubShapes (const TopoDS_Shape& theShape) const
|
||||
{
|
||||
if ( myShape.IsSame( theShape ))
|
||||
if ( myIndexToShape.Contains(theShape) )
|
||||
return true;
|
||||
|
||||
for ( TopoDS_Iterator it( theShape ); it.More(); it.Next() ) {
|
||||
if (myIndexToShape.Contains( it.Value() ) ||
|
||||
IsGroupOfSubShapes( it.Value() ))
|
||||
for ( TopoDS_Iterator it( theShape ); it.More(); it.Next() )
|
||||
if (IsGroupOfSubShapes( it.Value() ))
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -1205,7 +1203,7 @@ int SMESHDS_Mesh::AddCompoundSubmesh(const TopoDS_Shape& S,
|
||||
TopAbs_ShapeEnum type)
|
||||
{
|
||||
int aMainIndex = 0;
|
||||
if ( IsGroupOfSubShapes( S ) || (S.ShapeType() == TopAbs_VERTEX && myIndexToShape.Contains(S)) )
|
||||
if ( IsGroupOfSubShapes( S ))
|
||||
{
|
||||
aMainIndex = myIndexToShape.Add( S );
|
||||
bool all = ( type == TopAbs_SHAPE );
|
||||
|
Loading…
Reference in New Issue
Block a user