mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-15 01:58:35 +05:00
use helper.GetCommonAncestor()
This commit is contained in:
parent
5036f6282e
commit
9091ead47e
@ -429,14 +429,9 @@ bool StdMeshers_Import_1D2D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape &
|
||||
if ( bndShapes.back().ShapeType() != TopAbs_EDGE )
|
||||
{
|
||||
// find geom edge by two vertices
|
||||
TopoDS_Shape geomEdge;
|
||||
PShapeIteratorPtr edgeIt = helper.GetAncestors( bndShapes.back(), theMesh, TopAbs_EDGE );
|
||||
while ( edgeIt->more() )
|
||||
{
|
||||
geomEdge = *(edgeIt->next());
|
||||
if ( !helper.IsSubShape( bndShapes.front(), geomEdge ))
|
||||
geomEdge.Nullify();
|
||||
}
|
||||
TopoDS_Shape geomEdge = helper.GetCommonAncestor( bndShapes.back(),
|
||||
bndShapes.front(),
|
||||
theMesh, TopAbs_EDGE );
|
||||
if ( geomEdge.IsNull() )
|
||||
break; // vertices belong to different edges -> error: free internal link
|
||||
bndShapes.push_back( geomEdge );
|
||||
|
@ -2201,16 +2201,9 @@ TopoDS_Edge StdMeshers_PrismAsBlock::TSideFace::GetEdge(const int iEdge) const
|
||||
TopoDS_Shape V2 = myHelper->GetSubShapeByNode( node, meshDS );
|
||||
if ( V2.ShapeType() == TopAbs_VERTEX && !V2.IsSame( V1 ))
|
||||
{
|
||||
TopTools_ListIteratorOfListOfShape ancestIt =
|
||||
myHelper->GetMesh()->GetAncestors( V1 );
|
||||
for ( ; ancestIt.More(); ancestIt.Next() )
|
||||
{
|
||||
const TopoDS_Shape & ancestor = ancestIt.Value();
|
||||
if ( ancestor.ShapeType() == TopAbs_EDGE )
|
||||
for ( TopExp_Explorer e( ancestor, TopAbs_VERTEX ); e.More(); e.Next() )
|
||||
if ( V2.IsSame( e.Current() ))
|
||||
return TopoDS::Edge( ancestor );
|
||||
}
|
||||
TopoDS_Shape ancestor = myHelper->GetCommonAncestor( V1, V2, *myHelper->GetMesh(), TopAbs_EDGE);
|
||||
if ( !ancestor.IsNull() )
|
||||
return TopoDS::Edge( ancestor );
|
||||
}
|
||||
return TopoDS_Edge();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user