Fixed problem with empty edge list in the edge loop, mark as a fail entity in this case
Standard_Boolean headToTail = Standard_True;
//Standard_Boolean noIdentVtx = Standard_True; //szv#4:S4163:12Mar99 unused
Standard_Integer nbEdg = ent->NbEdgeList();
+ if (nbEdg == 0)
+ {
+ ach->AddFail("Edge loop contains empty edge list");
+ return;
+ }
Handle(StepShape_OrientedEdge) theOE = ent->EdgeListValue(1);
Handle(StepShape_Vertex) theVxFrst = theOE->EdgeStart();
Handle(StepShape_Vertex) theVxLst = theOE->EdgeEnd();
--- /dev/null
+puts "==================================================="
+puts "0033307: Data Exchange, Step Import - Crash after reading empty edge loop"
+puts "==================================================="
+puts ""
+
+pload XDE OCAF
+
+Close D -silent
+
+ReadStep D [locate_data_file "bug33307.stp"]
+Close D