Out of range access has been eliminated.
TopoDS_Shape aLocalWire = W .Oriented(TopAbs_FORWARD);
TopoDS_Shape aLocalFace = FI.Oriented(TopAbs_FORWARD);
wexp.Init(TopoDS::Wire(aLocalWire),TopoDS::Face(aLocalFace));
+ if (!wexp.More())
+ continue; // Protection from case when explorer does not contain edges.
// wexp.Init(TopoDS::Wire(W .Oriented(TopAbs_FORWARD)),
// TopoDS::Face(FI.Oriented(TopAbs_FORWARD)));
CurE = FirstE = wexp.Current();
--- /dev/null
+puts "========"
+puts "OCC27907"
+puts "========"
+puts ""
+#################################################
+# Exception during offset computation
+#################################################
+
+restore [locate_data_file bug27907.brep] s
+
+# Perform test.
+offsetparameter 1e-7 p i
+offsetload s 10
+offsetperform result
+
+# Check result validity.
+checkshape result
--- /dev/null
+puts "========"
+puts "OCC27907"
+puts "========"
+puts ""
+#################################################
+# Exception during offset computation
+#################################################
+
+restore [locate_data_file bug27907_1.brep] s
+
+# Perform test.
+offsetparameter 1e-7 p i
+offsetload s 10
+offsetperform result
+
+# Check result validity.
+checkshape result
\ No newline at end of file