mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-27 01:40:34 +05:00
0022177: [CEA 799] RemoveExtraEdges produces non valid faces
This commit is contained in:
parent
078431b1ad
commit
3c094b0dc5
@ -388,6 +388,18 @@ static Standard_Boolean MergeEdges(const TopTools_SequenceOfShape& SeqEdges,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (jSplit > 0) {
|
if (jSplit > 0) {
|
||||||
|
// This is closed contour. Check the last (it is first as well) vertex,
|
||||||
|
// as it becomes intermediate after reordering.
|
||||||
|
TopoDS_Edge anEdge = TopoDS::Edge(aChain.Last());
|
||||||
|
TopoDS_Vertex aVtx = sae.LastVertex(anEdge);
|
||||||
|
|
||||||
|
if (IsFixed(aVtx, theFace1, theMapVtxEdge1) ||
|
||||||
|
IsFixed(aVtx, theFace2, theMapVtxEdge2)) {
|
||||||
|
// This vertex should be kept. So we can't merge this contour.
|
||||||
|
MESSAGE ("Two edges on closed contour can't be merged.");
|
||||||
|
return Standard_False;
|
||||||
|
}
|
||||||
|
|
||||||
// Reorder edges in the sequence to have jSplit-th edge last.
|
// Reorder edges in the sequence to have jSplit-th edge last.
|
||||||
for(j = 1; j <= jSplit; j++) {
|
for(j = 1; j <= jSplit; j++) {
|
||||||
aChain.Append(aChain.First());
|
aChain.Append(aChain.First());
|
||||||
|
Loading…
Reference in New Issue
Block a user