Check intervals for infinite value causing exception in GeomLib::NormEstim
for (; aIntervalU <= theIntervals[0].Upper (); ++aIntervalU)
{
const Standard_Real aParamU = theIntervals[0].Value(aIntervalU);
+ if (Precision::IsInfinite (aParamU))
+ continue;
+
Standard_Integer aIntervalV = theIntervals[1].Lower ();
for (; aIntervalV <= theIntervals[1].Upper (); ++aIntervalV)
{
gp_Dir aNorm;
const Standard_Real aParamV = theIntervals[1].Value(aIntervalV);
+ if (Precision::IsInfinite (aParamV))
+ continue;
+
if (GeomLib::NormEstim (theSurf, gp_Pnt2d (aParamU, aParamV), Precision::Confusion (), aNorm) != 0)
{
return Standard_True;
--- /dev/null
+puts "======="
+puts "0031258: Mesh - OCCT 7.4.0 VIS get wrong render data"
+puts "======="
+puts ""
+
+restore [locate_data_file bug31258.brep] result
+tclean result
+
+vinit
+vsetdispmode 1
+vdisplay result
+vfit
+
+checktrinfo result -tri 166 -nod 102
+
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png