mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-01-14 02:30:35 +05:00
0022776: [CEA 1269] Project a wire or a face on a cylinder: rm instability in RemoveExtraEdges
This commit is contained in:
parent
1f1f040445
commit
29ae7886c0
@ -138,8 +138,9 @@ static Standard_Boolean AddOrdinaryEdges(TopTools_SequenceOfShape& edges,
|
|||||||
{
|
{
|
||||||
//map of edges
|
//map of edges
|
||||||
TopTools_MapOfShape aNewEdges;
|
TopTools_MapOfShape aNewEdges;
|
||||||
|
TopExp_Explorer exp(aShape,TopAbs_EDGE);
|
||||||
//add edges without seams
|
//add edges without seams
|
||||||
for(TopExp_Explorer exp(aShape,TopAbs_EDGE); exp.More(); exp.Next()) {
|
for(; exp.More(); exp.Next()) {
|
||||||
TopoDS_Shape edge = exp.Current();
|
TopoDS_Shape edge = exp.Current();
|
||||||
if(aNewEdges.Contains(edge))
|
if(aNewEdges.Contains(edge))
|
||||||
aNewEdges.Remove(edge);
|
aNewEdges.Remove(edge);
|
||||||
@ -164,9 +165,14 @@ static Standard_Boolean AddOrdinaryEdges(TopTools_SequenceOfShape& edges,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//add edges to the sequemce
|
//add edges to the sequence
|
||||||
for(TopTools_MapIteratorOfMapOfShape anIter(aNewEdges); anIter.More(); anIter.Next())
|
for(exp.ReInit(); exp.More(); exp.Next()) {
|
||||||
edges.Append(anIter.Key());
|
const TopoDS_Shape &anEdge = exp.Current();
|
||||||
|
|
||||||
|
if (aNewEdges.Contains(anEdge)) {
|
||||||
|
edges.Append(anEdge);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return isDropped;
|
return isDropped;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user