mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-11 16:19:17 +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
|
||||
TopTools_MapOfShape aNewEdges;
|
||||
TopExp_Explorer exp(aShape,TopAbs_EDGE);
|
||||
//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();
|
||||
if(aNewEdges.Contains(edge))
|
||||
aNewEdges.Remove(edge);
|
||||
@ -164,9 +165,14 @@ static Standard_Boolean AddOrdinaryEdges(TopTools_SequenceOfShape& edges,
|
||||
}
|
||||
}
|
||||
|
||||
//add edges to the sequemce
|
||||
for(TopTools_MapIteratorOfMapOfShape anIter(aNewEdges); anIter.More(); anIter.Next())
|
||||
edges.Append(anIter.Key());
|
||||
//add edges to the sequence
|
||||
for(exp.ReInit(); exp.More(); exp.Next()) {
|
||||
const TopoDS_Shape &anEdge = exp.Current();
|
||||
|
||||
if (aNewEdges.Contains(anEdge)) {
|
||||
edges.Append(anEdge);
|
||||
}
|
||||
}
|
||||
|
||||
return isDropped;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user