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
// 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);
- }
}
}
--- /dev/null
+puts "========"
+puts "OCC25333"
+puts "========"
+puts ""
+##########################################################################################
+# Result wires obtained after TestHarness command "connectedges" contains internal edges
+##########################################################################################
+
+restore [locate_data_file bug25318_TheShapeTotal.brep] a
+connectedges r a
+
+set WireSet [explode r]
+set ii 0
+set IsFixed "TRUE"
+while {$ii != [llength $WireSet]} {
+ set EdgeSet [explode [lindex $WireSet $ii]]
+ set iii 0
+ while {$iii != [llength $EdgeSet]} {
+ set EdgeInfo [whatis [lindex $EdgeSet $iii]]
+ if {[lindex $EdgeInfo 5] == "INTERNAL"} {
+ set IsFixed "FALSE"
+ }
+ set iii [expr $iii + 1]
+ }
+ set ii [expr $ii + 1]
+}
+
+if {$IsFixed == "FALSE"} {
+ puts "ERROR: OCC25333 is reproduced"
+ puts " Internal edge is detected"
+}