#VRML V2.0 utf8 WorldInfo { title "Revolver Body" info "By vr0307" } NavigationInfo { type "EXAMINE" } Background { skyColor 1 0.75 0 } PROTO revolver_body [ exposedField SFVec3f translation 0 0 0 exposedField SFVec3f scale 1 1 1 exposedField SFRotation rotation 0 0 0 0 ]{ Transform { translation IS translation scale IS scale rotation IS rotation children [ # Child: gun_barrel Transform { translation -.5 0 0 rotation 0 0 1 1.57 children [ Shape { appearance DEF SILVER Appearance { material Material { diffuseColor .37 .37 .37 specularColor .89 .89 .89 ambientIntensity .1 shininess .13 } } geometry Cylinder { radius 1 height 9 } } Shape { appearance Appearance { material Material{ diffuseColor 0 0 0 ambientIntensity 0 shininess 0 } } geometry Cylinder { radius 0.5 height 9.01 } } ] } Transform { translation -.1 0 0 rotation 0 0 0 0 children [ Shape { appearance USE SILVER geometry Box { size 7.9 2 1 } } ] } # Child: gun_bolt Transform { translation -.1 -1 0 rotation 0 0 1 1.57 children [ Shape { appearance USE SILVER geometry Cylinder { radius 0.5 height 7.9 } } ] } # Child: gun_front_sight Transform { translation 3.2 1.09 0 rotation 0 0 0 0 children [ Shape { appearance USE SILVER geometry IndexedFaceSet { colorPerVertex FALSE creaseAngle 1 coord Coordinate { point [ .5 .2 .2, .5 .2 -.2, .5 -.2 .2, .5 -.2 -.2, -.3 .2 .2, -.3 .2 -.2, -1.5 -.2 .2, -1.5 -.2 -.2 ] } coordIndex [ 4 0 1 5 -1 7 3 2 6 -1 6 2 0 4 -1 2 3 1 0 -1 3 7 5 1 -1 7 6 4 5 ] } } ] } # Child: body_top Transform { translation -4.02 1.45 0 rotation 0 0 1 1.57 children [ Shape { appearance USE SILVER geometry Extrusion { spine [ -.5 -.3 0, 0 2 0, 0 5 0, .1 6.5 0 ] scale [ 1e-10 .7, .7 .7, .7 .7, .9 .9 ] crossSection [ .5 .7, .5 -.7, -.6 -.7, -.6 .7, .5 .7 ] } } ] } # Child: body_front Transform { translation -4.5 -1 0 children [ Shape { appearance USE SILVER geometry IndexedFaceSet { colorPerVertex FALSE creaseAngle 1 coord Coordinate { point [ .5 2 .7, #0 .5 2 -.7, #1 .5 -1 .7, #2 .5 -1 -.7, #3 -.5 2 .7, #4 -.5 2 -.7, #5 -.5 -2 .7, #6 -.5 -2 -.7, #7 .2 -2 .7, #8 .2 -2 -.7 #9 ] } coordIndex [ 4, 0, 1, 5, -1, 7, 9, 8, 6, -1, 6, 8, 2, 0, 4, -1, 2, 3, 1, 0, -1, 3, 9, 7, 5, 1, -1, 7, 6, 4, 5, -1 9, 3, 2, 8, -1, ] } } ] } Transform { translation -4.5 -1 0 rotation 0 0 1 1.57 children [ Shape { appearance USE SILVER geometry Cylinder { radius 0.8 height 1 } } ] } # Child: body_bottom Transform { translation -7.3 -3.3 0 rotation 0 0 0 0 children [ Shape { appearance USE SILVER geometry Box { size 6 0.7 1.4 } } ] } Transform { translation -6.5 -3.5 0 rotation 0 0 0 0 children [ Shape { appearance USE SILVER geometry Extrusion { spine [ .8 0 0, .8 -1.27196 0, .128767 -2.55382 0, -2.62222 -2.7 0, -4.1 -1.63667 0 ] crossSection [ 0 .4, .1 0, 0 -.4, -.1 0, 0 .4 ] scale [ 4 1.7, 1 1, 1 1, 1 1, 2 1 ] } } ] } # Child: body_back Transform { translation -10.3 -1.3 0 children [ Shape { appearance USE SILVER geometry Box { size .5 4.7 1.4 } } ] } Transform { translation -7.7 -5.5 0 scale 1 1 1.6 rotation 0 0 0 0 children [ Shape { appearance USE SILVER geometry Extrusion { spine [ -3.40537 -.1 0, -3.44582 .269143 0, -3.58499 1.50596 0, -3.58176 2.3201 0, -3.5 2.9 0, -3.4 3.3 0, -3.2 3.7 0, -2.9 4.1 0, -2.6 4.1 0 ] crossSection [ 1.1 0, .940927 -.5, -1.89044 -.418617, -2.4 -.00794545, -1.89044 .423259, .940927 .5, 1.1 0 ] scale [ .7 .7, .9 .9, .9 .9, .8 .8, .8 .8, .8 .8, .8 .8, .9 .9, 1.3 .9 ] } } ] } Transform { translation -10.3 -1 0 rotation 0 0 1 1.57 children [ Shape { appearance USE SILVER geometry Cone { height .5 bottomRadius 1.6 } } ] } ] } } revolver_body { }