diff --git a/src/VrmlData/VrmlData_IndexedFaceSet.cxx b/src/VrmlData/VrmlData_IndexedFaceSet.cxx index ce2c5fa5d6..ee7dfd72c7 100644 --- a/src/VrmlData/VrmlData_IndexedFaceSet.cxx +++ b/src/VrmlData/VrmlData_IndexedFaceSet.cxx @@ -193,7 +193,7 @@ const Handle(TopoDS_TShape)& VrmlData_IndexedFaceSet::TShape () if (IndiceNormals(i, arrIndice) == 3) { for (Standard_Integer j = 0; j < 3; j++) { const gp_XYZ& aNormal = myNormals->Normal (arrIndice[j]); - Standard_Integer anInd = arrNodes[j] * 3 + 1; + Standard_Integer anInd = (mapNodeId(arrNodes[j]) - 1) * 3 + 1; Normals->SetValue (anInd + 0, Standard_ShortReal (aNormal.X())); Normals->SetValue (anInd + 1, Standard_ShortReal (aNormal.Y())); Normals->SetValue (anInd + 2, Standard_ShortReal (aNormal.Z())); diff --git a/tests/bugs/end b/tests/bugs/end index 1431d0af14..d225ba8a38 100755 --- a/tests/bugs/end +++ b/tests/bugs/end @@ -163,6 +163,10 @@ if { [isdraw result] } { if { [info exists 3dviewer] } { #for multiview support: dump result from all opened views set view_str [vviewlist long] + if { [llength ${view_str}] == 0 } { + vinit + set view_str [vviewlist long] + } set view_list [regexp -all -inline {\S+} $view_str] foreach {view_name} $view_list { vactivate $view_name diff --git a/tests/bugs/grids.list b/tests/bugs/grids.list index 9a9f75fb29..47b92a10d5 100755 --- a/tests/bugs/grids.list +++ b/tests/bugs/grids.list @@ -15,3 +15,4 @@ 015 caf 016 mesh 017 heal +018 stlvrml diff --git a/tests/bugs/stlvrml/begin b/tests/bugs/stlvrml/begin new file mode 100755 index 0000000000..c45bfe9f54 --- /dev/null +++ b/tests/bugs/stlvrml/begin @@ -0,0 +1,3 @@ +pload XSDRAW + +set subgroup stlvrml diff --git a/tests/bugs/xde/bug22092 b/tests/bugs/stlvrml/bug22092 similarity index 95% rename from tests/bugs/xde/bug22092 rename to tests/bugs/stlvrml/bug22092 index e7b64de91c..0e4c169469 100755 --- a/tests/bugs/xde/bug22092 +++ b/tests/bugs/stlvrml/bug22092 @@ -6,8 +6,6 @@ puts "" # Crash of application on attempt to load a VRML file with all degenerated triangles ###################################################################################### -set BugNumber OCC22092 - loadvrml result [locate_data_file OCC22092-sk97.wrl] set nb_v_good 16 diff --git a/tests/bugs/moddata_3/bug23023 b/tests/bugs/stlvrml/bug23023 similarity index 93% rename from tests/bugs/moddata_3/bug23023 rename to tests/bugs/stlvrml/bug23023 index 480a2e4d55..c2c9397b8b 100644 --- a/tests/bugs/moddata_3/bug23023 +++ b/tests/bugs/stlvrml/bug23023 @@ -6,12 +6,11 @@ puts "" # VRML reader fails on attempt to read an attached WRL file ####################################################################### -set BugNumber OCC23023 -pload XDE - set filepath [locate_data_file OCC23023-2056132060_2_tutnicht.wrl] if [catch { set list [loadvrml result $filepath] } res] { puts "Faulty: VRML reader fails" } else { puts "OK: VRML reader work properly" } + +set 3dviewer 1 diff --git a/tests/bugs/xde/bug23846 b/tests/bugs/stlvrml/bug23846 similarity index 100% rename from tests/bugs/xde/bug23846 rename to tests/bugs/stlvrml/bug23846 diff --git a/tests/bugs/stlvrml/bug24675 b/tests/bugs/stlvrml/bug24675 new file mode 100644 index 0000000000..dfeb2dc2da --- /dev/null +++ b/tests/bugs/stlvrml/bug24675 @@ -0,0 +1,11 @@ +puts "========================" +puts "OCC24675" +puts "========================" +puts "" +####################################################################### +# Crash reading a VRML file +####################################################################### + +loadvrml result [locate_data_file T00111111_0000.wrl] + +set 3dviewer 1