Test of importing non-standard ASCII STL (broken normals, junk
after the ending tags)
This commit is contained in:
parent
7a47784ddf
commit
6e6b137151
@ -83,4 +83,4 @@ solid STL generated by MeshLab
|
|||||||
vertex 0.000000e+00 2.000000e+01 2.000000e+01
|
vertex 0.000000e+00 2.000000e+01 2.000000e+01
|
||||||
endloop
|
endloop
|
||||||
endfacet
|
endfacet
|
||||||
endsolid vcg
|
endsolid
|
||||||
|
86
tests/data/test_stl/ASCII/20mmbox-nonstandard.stl
Normal file
86
tests/data/test_stl/ASCII/20mmbox-nonstandard.stl
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
solid STL generated by MeshLab
|
||||||
|
facet normal 0.000000e+00 -0.000000e+00 -1.000000e+00
|
||||||
|
outer loop
|
||||||
|
vertex 2.000000e+01 2.000000e+01 0.000000e+00
|
||||||
|
vertex 2.000000e+01 0.000000e+00 0.000000e+00
|
||||||
|
vertex 0.000000e+00 0.000000e+00 0.000000e+00
|
||||||
|
endloop
|
||||||
|
endfacet
|
||||||
|
facet normal -0.000000e+00 0.000000e+00 -1.000000e+00
|
||||||
|
outer loop
|
||||||
|
vertex 2.000000e+01 2.000000e+01 0.000000e+00
|
||||||
|
vertex 0.000000e+00 0.000000e+00 0.000000e+00
|
||||||
|
vertex 0.000000e+00 2.000000e+01 0.000000e+00
|
||||||
|
endloop
|
||||||
|
endfacet
|
||||||
|
facet normal 0.000000e+00 0.000000e+00 1.000000e+00
|
||||||
|
outer loop
|
||||||
|
vertex 2.000000e+01 2.000000e+01 2.000000e+01
|
||||||
|
vertex 0.000000e+00 2.000000e+01 2.000000e+01
|
||||||
|
vertex 0.000000e+00 0.000000e+00 2.000000e+01
|
||||||
|
endloop
|
||||||
|
endfacet
|
||||||
|
facet normal 0.000000e+00 0.000000e+00 1.000000e+00
|
||||||
|
outer loop
|
||||||
|
vertex 2.000000e+01 2.000000e+01 2.000000e+01
|
||||||
|
vertex 0.000000e+00 0.000000e+00 2.000000e+01
|
||||||
|
vertex 2.000000e+01 0.000000e+00 2.000000e+01
|
||||||
|
endloop
|
||||||
|
endfacet
|
||||||
|
facet normal 1.000000e+00 0.000000e+00 -0.000000e+00
|
||||||
|
outer loop
|
||||||
|
vertex 2.000000e+01 2.000000e+01 0.000000e+00
|
||||||
|
vertex 2.000000e+01 2.000000e+01 2.000000e+01
|
||||||
|
vertex 2.000000e+01 0.000000e+00 2.000000e+01
|
||||||
|
endloop
|
||||||
|
endfacet
|
||||||
|
facet normal 1.000000e+00 0.000000e+00 0.000000e+00
|
||||||
|
outer loop
|
||||||
|
vertex 2.000000e+01 2.000000e+01 0.000000e+00
|
||||||
|
vertex 2.000000e+01 0.000000e+00 2.000000e+01
|
||||||
|
vertex 2.000000e+01 0.000000e+00 0.000000e+00
|
||||||
|
endloop
|
||||||
|
endfacet
|
||||||
|
facet normal 0.000000e+00 -1.000000e+00 0.000000e+00
|
||||||
|
outer loop
|
||||||
|
vertex 2.000000e+01 0.000000e+00 0.000000e+00
|
||||||
|
vertex 2.000000e+01 0.000000e+00 2.000000e+01
|
||||||
|
vertex 0.000000e+00 0.000000e+00 2.000000e+01
|
||||||
|
endloop
|
||||||
|
endfacet
|
||||||
|
facet normal 0.000000e+00 -1.000000e+00 0.000000e+00
|
||||||
|
outer loop
|
||||||
|
vertex 2.000000e+01 0.000000e+00 0.000000e+00
|
||||||
|
vertex 0.000000e+00 0.000000e+00 2.000000e+01
|
||||||
|
vertex 0.000000e+00 0.000000e+00 0.000000e+00
|
||||||
|
endloop
|
||||||
|
endfacet
|
||||||
|
facet normal +inf -inf weirdvalue
|
||||||
|
outer loop
|
||||||
|
vertex 0.000000e+00 0.000000e+00 0.000000e+00
|
||||||
|
vertex 0.000000e+00 0.000000e+00 2.000000e+01
|
||||||
|
vertex 0.000000e+00 2.000000e+01 2.000000e+01
|
||||||
|
endloop
|
||||||
|
endfacet
|
||||||
|
facet normal -1.000000e+00 0.000000e+00 0.000000e+00
|
||||||
|
outer loop
|
||||||
|
vertex 0.000000e+00 0.000000e+00 0.000000e+00
|
||||||
|
vertex 0.000000e+00 2.000000e+01 2.000000e+01
|
||||||
|
vertex 0.000000e+00 2.000000e+01 0.000000e+00
|
||||||
|
endloop
|
||||||
|
endfacet blah
|
||||||
|
facet normal 0.000000e+00 1.000000e+00 0.000000e+00
|
||||||
|
outer loop
|
||||||
|
vertex 2.000000e+01 2.000000e+01 2.000000e+01
|
||||||
|
vertex 2.000000e+01 2.000000e+01 0.000000e+00
|
||||||
|
vertex 0.000000e+00 2.000000e+01 0.000000e+00
|
||||||
|
endloop foo
|
||||||
|
endfacet bar
|
||||||
|
facet normal 0.000000e+00 1.000000e+00 0.000000e+00
|
||||||
|
outer loop
|
||||||
|
vertex 2.000000e+01 2.000000e+01 2.000000e+01
|
||||||
|
vertex 0.000000e+00 2.000000e+01 0.000000e+00
|
||||||
|
vertex 0.000000e+00 2.000000e+01 2.000000e+01
|
||||||
|
endloop foo
|
||||||
|
endfacet bar
|
||||||
|
endsolid some blah blah
|
@ -44,6 +44,14 @@ SCENARIO("Reading an STL file", "[stl]") {
|
|||||||
REQUIRE(is_approx(model.objects.front()->volumes.front()->mesh().size(), Vec3d(20, 20, 20)));
|
REQUIRE(is_approx(model.objects.front()->volumes.front()->mesh().size(), Vec3d(20, 20, 20)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
WHEN("nonstandard STL file (text after ending tags, invalid normals, for example infinities)") {
|
||||||
|
Slic3r::Model model;
|
||||||
|
THEN("load should succeed") {
|
||||||
|
REQUIRE(Slic3r::load_stl(stl_path("ASCII/20mmbox-nonstandard.stl").c_str(), &model));
|
||||||
|
REQUIRE(is_approx(model.objects.front()->volumes.front()->mesh().size(), Vec3d(20, 20, 20)));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user