#VRML V2.0 utf8 PipeAndTabor.wrl V0.1 WorldInfo { title "Pipe, Tabor and Tabor-Stick Protos" info ["Lawrence C.Hodges 20th November 2000 Revision - "] } PROTO Pipe [ exposedField SFVec3f position 0 0 0 exposedField SFRotation orientation 0 0 1 0 exposedField SFVec3f scale 1 1 1 ] { Transform { scale IS scale rotation IS orientation translation IS position children [ #Body Transform { children [ Shape { appearance Appearance { material Material { ambientIntensity 0.2 diffuseColor 0.69803 0.40784 0.17254 emissiveColor 0 0 0 shininess 0.2 specularColor 0 0 0 transparency 0 } } geometry Extrusion { beginCap TRUE endCap FALSE creaseAngle 2 crossSection [ 1 0 0.5 0.8667 -0.5 0.8667 -1 0 -0.5 -0.8667 0.5 -0.8667 1 0 ] scale [ 0.011 0.010 0.011 0.010 0.007 0.007 ] spine [ 0 0 0 0 -0.05 0 0 -0.35 0 ] } # end of extrusion } # end of Shape ] } ] } } # End of PROTO Pipe PROTO Tabor [ exposedField SFVec3f position 0 0 0 exposedField SFRotation orientation 0 0 1 0 exposedField SFVec3f scale 1 1 1 ] { Transform { scale IS scale rotation IS orientation translation IS position children [ #Top skin Transform { translation 0 0.3 0 rotation 0 0 1 3.14159 children [ DEF skin Shape { appearance Appearance { material Material { ambientIntensity 0.2 diffuseColor 0.847059 0.847059 0.74902 shininess 0.1 specularColor 0.05 0.05 0.05 } } geometry IndexedFaceSet { coord Coordinate { point [ 0.125 0.0 0.0, 0.115485 0.0 0.047836 0.088392 0.0 0.088392 0.047836 0.0 0.115485 0.0 0.0 0.125 -0.047836 0.0 0.115485 -0.088392 0.0 0.088392 -0.115485 0.0 0.047836 -0.125 0.0 0.0 -0.115485 0.0 -0.047836 -0.088392 0.0 -0.088392 -0.047836 0.0 -0.115485 0.0 0.0 -0.125 0.047836 0.0 -0.115485 0.088392 0.0 -0.088392 0.115485 0.0 -0.047836 ] } coordIndex [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ] } # end of IFS } # end of skin Shape ] } # Side Transform { translation 0 0.15 0 children [ Shape { appearance Appearance { material Material { ambientIntensity 0.2 diffuseColor 0.682353 0.070588 0.274510 # Maroon shininess 0.8 specularColor 0.05 0.05 0.05 } texture ImageTexture { url "tabor.png" repeatT FALSE } textureTransform TextureTransform { scale 8 1 } } geometry Cylinder { bottom FALSE height 0.30 radius 0.125 side TRUE top FALSE } } #end of Shape: Side ] } # Bottom skin Transform { children [ USE skin ] } ] } # end of outer Tabor Transform } # end of PROTO Tabor code body PROTO TaborStick [ exposedField SFVec3f position 0 0 0 exposedField SFRotation orientation 0 0 1 0 exposedField SFVec3f scale 1 1 1 ] { Transform { scale IS scale rotation IS orientation translation IS position children [ #Body Transform { children [ Shape { appearance Appearance { material Material { ambientIntensity 0.2 diffuseColor 0.69803 0.40784 0.17254 emissiveColor 0 0 0 shininess 0.2 specularColor 0 0 0 transparency 0 } } geometry Cylinder { height 0.3 radius 0.004 } } # end of Shape ] } ] } } # End of PROTO TaborStick