mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0025333: Result wires obtained after TestHarness command "connectedges" contains internal edges
Fix contains protection in order to avoid addition in result wires INTERNAL or EXTERNAL edges during connecting edges in wires. Test case for issue #25333
This commit is contained in:
@@ -286,6 +286,8 @@ ShapeAnalysis_FreeBounds::ShapeAnalysis_FreeBounds(const TopoDS_Shape& shape,
|
||||
TopoDS_Wire aCurW = TopoDS::Wire (arrwires->Value (lwire));
|
||||
Handle(ShapeExtend_WireData) acurwd = new
|
||||
ShapeExtend_WireData ( TopoDS::Wire (arrwires->Value (lwire)), Standard_True, isUsedManifoldMode);
|
||||
if( !acurwd->NbEdges())
|
||||
continue;
|
||||
sewd->Add (acurwd, (tail ? 0 : 1));
|
||||
}
|
||||
else
|
||||
@@ -369,21 +371,22 @@ ShapeAnalysis_FreeBounds::ShapeAnalysis_FreeBounds(const TopoDS_Shape& shape,
|
||||
// Recherche de la premier edge non traitee pour un autre wire.
|
||||
//Searching for first edge for next wire
|
||||
lwire = -1;
|
||||
for (/*Standard_Integer*/ i = 1 ; i <= arrwires->Length() && lwire == -1; i++)
|
||||
for (/*Standard_Integer*/ i = 1 ; i <= arrwires->Length(); i++)
|
||||
{
|
||||
if (!aSel.ContWire(i))
|
||||
{
|
||||
lwire = i; //szv#4:S4163:12Mar99 optimized
|
||||
sewd->Add (TopoDS::Wire (arrwires->Value (lwire)));
|
||||
aSel.LoadList(lwire);
|
||||
|
||||
if (sewd->NbEdges() > 0)
|
||||
break;
|
||||
sewd->Clear();
|
||||
}
|
||||
}
|
||||
|
||||
if (lwire == -1)
|
||||
done = 1;
|
||||
else
|
||||
{
|
||||
sewd->Add (TopoDS::Wire (arrwires->Value (lwire)));
|
||||
aSel.LoadList(lwire);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user