// Persistence of Vision data file created with a demo of GUM: The Demo #include "colors.col" #include "textures.tex" #max_trace_level 8 #max_intersections 100 background { color rgb <0.8, 0.8, 0.8> } // Semi-Transparent Yellow Plastic (for the handle) // Base on Glass2 from the standard texture lib. #declare Yellow_Plastic = texture {pigment {color Yellow filter 0.5} finish {ambient 0.1 diffuse 0.4 reflection 0.3 refraction 1 ior 1.55 phong 0.3 phong_size 40 } } camera { right < 1, 0, 0 > up < 0, 1, 0 > direction < 0, 0, 0.5 > location < 0, 0, 0 > scale < 598.53, 448.91, 846.99 > rotate < 1.1119, -6.7301, -8.5377e-07 > translate < 99.243, 16.436, -841 > } // Object type: OmniLight // Name: 'Omni' Light #1 light_source { < 840.94, 650, -299.23 > color rgb < 1, 1, 1 > } // Object type: OmniLight // Name: 'Omni' Light #1 light_source { < -840.94, 650, -283.75 > color rgb < 1, 1, 1 > } // Object type: OmniLight // Name: 'Omni' Light #1 light_source { < 0, 1000, -200 > color rgb < 0.6, 0.6, 0.6 > } // The Scene Description // Object type: Union // Name: 'or' merge { // Object type: Box // Name: Plinth object { box { < 0, 0, 0 >, < 1, 1, 1 > } texture { Jade } scale < 100, 200, 100 > rotate < 0, 0, 0 > translate < -75, -350, -50 > } // Object type: Cone // Name: Stand object { cone { < 0, 0, 0 >, 1, < 0, 1, 0 >, 0 open } texture { Polished_Chrome } scale < 10, 75, 10 > rotate < 0, 0, 0 > translate < -25, -150, 0 > } // Object type: Box // Name: plaque object { box { < 0, 0, 0 >, < 1, 1, 1 > } texture { Bronze_Metal } scale < 50, 75, 20 > rotate < 0, 0, 0 > translate < -50, -250, -55 > } } // Object type: BiCubic Bezier Patch // Name: floor object { bicubic_patch { type 1 flatness 0.05 u_steps 4 v_steps 4 < -880, -345, -825 >, < -293.33, -345, -825 >, < 293.33, -345, -825 >, < 880, -345, -825 >, < -880, -345, -238.33 >, < -293.33, -345, -238.33 >, < 293.33, -345, -238.33 >, < 880, -345, -238.33 >, < -880, -345, 348.33 >, < -293.33, -345, 348.33 >, < 293.33, -345, 348.33 >, < 880, -345, 348.33 >, < -880, -345, 935 >, < -293.33, -345, 935 >, < 293.33, -345, 935 >, < 880, -345, 935 > } texture { White_Marble scale 40 rotate <0,0,90>} } // Object type: BiCubic Bezier Patch // Name: Wall1 object { bicubic_patch { type 1 flatness 0.05 u_steps 4 v_steps 4 < 16.674, 1297.3, 478.93 >, < -225.18, 1297.3, 500.26 >, < -435.57, 1297.3, 435.29 >, < -619.36, 1299.8, 272.93 >, < 16.674, 742.43, 478.93 >, < -225.18, 742.43, 500.26 >, < -435.57, 742.43, 435.29 >, < -619.36, 741.56, 272.93 >, < 16.674, 187.57, 478.93 >, < -225.18, 187.57, 500.26 >, < -436.63, 183.28, 434.97 >, < -619.36, 183.28, 272.93 >, < 16.674, -367.28, 478.93 >, < -225.18, -367.28, 500.26 >, < -436.63, -375, 434.97 >, < -619.36, -375, 272.93 > } texture { DMFLightOak scale 10 rotate <86,0,0> } } // Object type: BiCubic Bezier Patch // Name: Wall2 object { bicubic_patch { type 1 flatness 0.05 u_steps 4 v_steps 4 < 882.73, 1297.3, -391.03 >, < 884.69, 1297.3, -148.24 >, < 803.14, 1297.3, 56.285 >, < 626.63, 1299.8, 226.53 >, < 882.73, 742.43, -391.03 >, < 884.69, 742.43, -148.24 >, < 803.14, 742.43, 56.285 >, < 626.63, 741.56, 226.53 >, < 882.73, 187.57, -391.03 >, < 884.69, 187.57, -148.24 >, < 802.73, 183.28, 57.319 >, < 626.63, 183.28, 226.53 >, < 882.73, -367.28, -391.03 >, < 884.69, -367.28, -148.24 >, < 802.73, -375, 57.319 >, < 626.63, -375, 226.53 > } texture { DMFLightOak scale 10 rotate <87,0,0> } } // Object type: BiCubic Bezier Patch // Name: Wall3 object { bicubic_patch { type 1 flatness 0.05 u_steps 4 v_steps 4 < 629.73, 1297.3, 224.48 >, < 458.95, 1297.3, 397.06 >, < 256.42, 1297.3, 483.45 >, < 11.238, 1299.8, 478.32 >, < 629.73, 742.43, 224.48 >, < 458.95, 742.43, 397.06 >, < 256.42, 742.43, 483.45 >, < 11.238, 741.56, 478.32 >, < 629.73, 187.57, 224.48 >, < 458.95, 187.57, 397.06 >, < 255.4, 183.28, 483.88 >, < 11.238, 183.28, 478.32 >, < 629.73, -367.28, 224.48 >, < 458.95, -367.28, 397.06 >, < 255.4, -375, 483.88 >, < 11.238, -375, 478.32 > } texture { DMFLightOak scale 10 rotate <88,0,0> } } // Object type: BiCubic Bezier Patch // Name: Wall4 object { bicubic_patch { type 1 flatness 0.05 u_steps 4 v_steps 4 < -611.7, 1292.3, 280.19 >, < -787.79, 1292.3, 113.03 >, < -878.36, 1292.3, -87.661 >, < -878.33, 1294.8, -332.9 >, < -611.7, 737.43, 280.19 >, < -787.79, 737.43, 113.03 >, < -878.36, 737.43, -87.66 >, < -878.33, 736.56, -332.9 >, < -611.7, 182.57, 280.19 >, < -787.79, 182.57, 113.03 >, < -878.82, 178.28, -88.672 >, < -878.33, 178.28, -332.9 >, < -611.7, -372.28, 280.19 >, < -787.79, -372.28, 113.03 >, < -878.82, -380, -88.673 >, < -878.33, -380, -332.9 > } texture { DMFLightOak scale 10 rotate <89,0,0> } } // The Screwdriver Itself // Object type: Union // Name: 'Screwdriver' merge { // Object type: Difference // Name: 'handle' difference { // Object type: Difference // Name: 'and not' difference { // Object type: Union // Name: 'or' merge { // Object type: Cylinder // Name: NoName object { cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1 open } scale < 73.066, 445.7, 73.066 > rotate < 90, 90, 0 > translate < -453.01, -1.9613e-33, -3.1954e-40 > texture { Yellow_Plastic } } // Object type: Paraboloid // Name: NoName object { intersection { quadric {<1, 0, 1>, <0, 0, 0>, <0, -1, 0>, 0 } plane { <0, 1, 0>, 1 } } scale < 73.066, 29.227, 73.066 > rotate < 90, 90, 0 > translate < -482.24, -2.3808e-07, 1.4613 > texture { Yellow_Plastic } } // Object type: Paraboloid // Name: NoName object { intersection { quadric {<1, 0, 1>, <0, 0, 0>, <0, -1, 0>, 0 } plane { <0, 1, 0>, 1 } } scale < 73.066, 7.3066, 73.066 > rotate < 90, -90, 0 > translate < 0, 0, 0 > texture { Yellow_Plastic } } } // Object type: Torus // Name: NoName object { torus { 0.75, 0.5 } scale < 146.13, 146.13, 146.13 > rotate < 90, 90, 0 > translate < -94.986, 9.1056e-38, 1.5414e-44 > texture { Yellow_Plastic } } } // Object type: Cylinder // Name: NoName object { cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1 open } scale < 43.84, 511.46, 43.84 > rotate < 4.8297e-06, -30, -90 > translate < -496.85, -88.588, 51.146 > texture { Yellow_Plastic } } // Object type: Cylinder // Name: NoName object { cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1 open } scale < 43.84, 511.46, 43.84 > rotate < 90, 90, 0 > translate < -496.85, -1.6666e-05, 102.29 > texture { Yellow_Plastic } } // Object type: Cylinder // Name: NoName object { cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1 open } scale < 43.84, 511.46, 43.84 > rotate < 90, 90, 0 > translate < -496.85, 1.6666e-05, -102.29 > texture { Yellow_Plastic } } // Object type: Cylinder // Name: NoName object { cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1 open } scale < 43.84, 511.46, 43.84 > rotate < -4.8297e-06, 30, -90 > translate < -496.85, 88.588, 51.146 > texture { Yellow_Plastic } } // Object type: Cylinder // Name: NoName object { cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1 open } scale < 43.84, 511.46, 43.84 > rotate < -4.8297e-06, 30, -90 > translate < -496.85, -88.588, -51.146 > texture { Yellow_Plastic } } // Object type: Cylinder // Name: NoName object { cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1 open } scale < 43.84, 511.46, 43.84 > rotate < 4.8297e-06, -30, -90 > translate < -496.85, 88.588, -51.146 > texture { Yellow_Plastic } } } // Object type: Difference // Name: 'Blade' difference { // Object type: Union // Name: 'or' merge { // Object type: Cone // Name: NoName object { cone { < 0, 0, 0 >, 1, < 0, 1, 0 >, 0 open } scale < 24.258, 116.63, 24.258 > rotate < 90, -90, 0 > translate < 452.51, 0, 0 > texture { Chrome_Metal } } // Object type: Cone // Name: NoName object { cone { < 0, 0, 0 >, 1, < 0, 1, 0 >, 0 open } scale < 24.258, 198.73, 24.258 > rotate < 90, 90, 0 > translate < 452.51, 0, 0 > texture { Chrome_Metal } } // Object type: Cylinder // Name: NoName object { cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1 open } scale < 13.995, 429.18, 13.995 > rotate < 90, 90, 0 > translate < 0, -3.0401e-07, 1.866 > texture { Chrome_Metal } } } // Object type: Box // Name: NoName object { box { < 0, 0, 0 >, < 1, 1, 1 > } scale < 156.74, 55.98, 55.98 > rotate < 90, 0, 0 > translate < 502.76, 27.99, -30.257 > texture { Chrome_Metal } } // Object type: Box // Name: NoName object { box { < 0, 0, 0 >, < 1, 1, 1 > } scale < 18.66, 185.46, 69.042 > rotate < 90, -86, -0.00013349 > translate < 502.76, 27.99, 1.4648 > texture { Chrome_Metal } } // Object type: Box // Name: NoName object { box { < 0, 0, 0 >, < 1, 1, 1 > } scale < 186.85, 22.7, 67.176 > rotate < -90, 3.0657, 180 > translate < 502.76, 27.99, -5.9992 > texture { Chrome_Metal } } } bounded_by { box {<-500, -75, -75>, <500, 75, 75>} } }