Add binary & ascii STLs and OBJs

This commit is contained in:
Mike Skalnik
2013-01-17 14:15:01 -08:00
parent c625642845
commit 041ab041ae
5 changed files with 132 additions and 0 deletions

View File

@@ -142,6 +142,13 @@ module Linguist
['.png', '.jpg', '.jpeg', '.gif'].include?(extname)
end
# Public: Is the blob a support 3D model format?
#
# Return true or false
def solid?
['.stl', '.obj'].include?(extname)
end
MEGABYTE = 1024 * 1024
# Public: Is the blob too big to load?

BIN
samples/Binary/cube.stl Normal file

Binary file not shown.

33
samples/Text/cube.obj Normal file
View File

@@ -0,0 +1,33 @@
# test_file
v -18.500000 -24.500000 31.000000
v -18.500000 -24.500000 -0.001000
v 12.500000 -24.500000 -0.001000
v 12.500000 -24.500000 31.000000
v -18.500000 6.500000 31.000000
v -18.500000 6.500000 -0.001000
v 12.500000 6.500000 31.000000
v 12.500000 6.500000 -0.001000
vn 0.000000 -1.000000 0.000000,
vn 0.000000 -1.000000 0.000000,
vn -1.000000 0.000000 0.000000,
vn -1.000000 0.000000 0.000000,
vn 0.000000 1.000000 0.000000,
vn 0.000000 1.000000 0.000000,
vn 1.000000 0.000000 0.000000,
vn 1.000000 0.000000 0.000000,
vn 0.000000 0.000000 -1.000000,
vn 0.000000 0.000000 -1.000000,
vn 0.000000 0.000000 1.000000,
vn 0.000000 0.000000 1.000000,
f 1//1 2//1 3//1
f 1//4 3//4 4//4
f 5//7 6//7 2//7
f 5//10 2//10 1//10
f 6//13 5//13 7//13
f 6//16 7//16 8//16
f 7//19 4//19 3//19
f 7//22 3//22 8//22
f 8//25 3//25 2//25
f 8//28 2//28 6//28
f 5//31 1//31 4//31
f 5//34 4//34 7//34

86
samples/Text/cube.stl Normal file
View File

@@ -0,0 +1,86 @@
solid
facet normal 0.000000E+00 -1.000000E+00 0.000000E+00
outer loop
vertex -1.850000E+01 -2.450000E+01 3.100000E+01
vertex -1.850000E+01 -2.450000E+01 -1.000000E-03
vertex 1.250000E+01 -2.450000E+01 -1.000000E-03
endloop
endfacet
facet normal 0.000000E+00 -1.000000E+00 0.000000E+00
outer loop
vertex -1.850000E+01 -2.450000E+01 3.100000E+01
vertex 1.250000E+01 -2.450000E+01 -1.000000E-03
vertex 1.250000E+01 -2.450000E+01 3.100000E+01
endloop
endfacet
facet normal -1.000000E+00 0.000000E+00 0.000000E+00
outer loop
vertex -1.850000E+01 6.500000E+00 3.100000E+01
vertex -1.850000E+01 6.500000E+00 -1.000000E-03
vertex -1.850000E+01 -2.450000E+01 -1.000000E-03
endloop
endfacet
facet normal -1.000000E+00 0.000000E+00 0.000000E+00
outer loop
vertex -1.850000E+01 6.500000E+00 3.100000E+01
vertex -1.850000E+01 -2.450000E+01 -1.000000E-03
vertex -1.850000E+01 -2.450000E+01 3.100000E+01
endloop
endfacet
facet normal 0.000000E+00 1.000000E+00 0.000000E+00
outer loop
vertex -1.850000E+01 6.500000E+00 -1.000000E-03
vertex -1.850000E+01 6.500000E+00 3.100000E+01
vertex 1.250000E+01 6.500000E+00 3.100000E+01
endloop
endfacet
facet normal 0.000000E+00 1.000000E+00 0.000000E+00
outer loop
vertex -1.850000E+01 6.500000E+00 -1.000000E-03
vertex 1.250000E+01 6.500000E+00 3.100000E+01
vertex 1.250000E+01 6.500000E+00 -1.000000E-03
endloop
endfacet
facet normal 1.000000E+00 0.000000E+00 0.000000E+00
outer loop
vertex 1.250000E+01 6.500000E+00 3.100000E+01
vertex 1.250000E+01 -2.450000E+01 3.100000E+01
vertex 1.250000E+01 -2.450000E+01 -1.000000E-03
endloop
endfacet
facet normal 1.000000E+00 0.000000E+00 0.000000E+00
outer loop
vertex 1.250000E+01 6.500000E+00 3.100000E+01
vertex 1.250000E+01 -2.450000E+01 -1.000000E-03
vertex 1.250000E+01 6.500000E+00 -1.000000E-03
endloop
endfacet
facet normal 0.000000E+00 0.000000E+00 -1.000000E+00
outer loop
vertex 1.250000E+01 6.500000E+00 -1.000000E-03
vertex 1.250000E+01 -2.450000E+01 -1.000000E-03
vertex -1.850000E+01 -2.450000E+01 -1.000000E-03
endloop
endfacet
facet normal 0.000000E+00 0.000000E+00 -1.000000E+00
outer loop
vertex 1.250000E+01 6.500000E+00 -1.000000E-03
vertex -1.850000E+01 -2.450000E+01 -1.000000E-03
vertex -1.850000E+01 6.500000E+00 -1.000000E-03
endloop
endfacet
facet normal 0.000000E+00 0.000000E+00 1.000000E+00
outer loop
vertex -1.850000E+01 6.500000E+00 3.100000E+01
vertex -1.850000E+01 -2.450000E+01 3.100000E+01
vertex 1.250000E+01 -2.450000E+01 3.100000E+01
endloop
endfacet
facet normal 0.000000E+00 0.000000E+00 1.000000E+00
outer loop
vertex -1.850000E+01 6.500000E+00 3.100000E+01
vertex 1.250000E+01 -2.450000E+01 3.100000E+01
vertex 1.250000E+01 6.500000E+00 3.100000E+01
endloop
endfacet
endsolid

View File

@@ -132,6 +132,12 @@ class TestBlob < Test::Unit::TestCase
assert !blob("Binary/octocat.psd").image?
end
def test_solid
assert blob("Binary/cube.stl").solid?
assert blob("Text/cube.stl").solid?
assert blob("Text/cube.obj").solid?
end
def test_viewable
assert blob("Text/README").viewable?
assert blob("Ruby/foo.rb").viewable?