@prefix : . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix schema: . @prefix dcterms: . @prefix xsd: . @prefix x3d: . @prefix x3do: . :X3D a owl:NamedIndividual, x3do:X3D ; x3do:hasHead :head ; x3do:hasScene :Scene ; x3do:profile 'Immersive' ; x3do:version '3.0' ; x3do:noNamespaceSchemaLocation 'https://www.web3d.org/specifications/x3d-3.0.xsd' . :head a owl:NamedIndividual, x3do:head ; x3do:hasParent :X3D ; x3do:hasMeta :meta_1_1, :meta_1_2, :meta_1_3, :meta_1_4, :meta_1_5, :meta_1_6, :meta_1_7, :meta_1_8, :meta_1_9, :meta_1_10, :meta_1_11 . :meta_1_1 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content 'RapierMissileSystemPrototype.x3d' ; x3do:name 'title' . :meta_1_2 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content 'Oliver Tan' ; x3do:name 'creator' . :meta_1_3 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content '28 January 2004' ; x3do:name 'created' . :meta_1_4 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content '28 November 2019' ; x3do:name 'modified' . :meta_1_5 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content 'check whether size is to scale' ; x3do:name 'warning' . :meta_1_6 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content 'Rapier missile system prototype.' ; x3do:name 'description' . :meta_1_7 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content 'https://savage.nps.edu/Savage/Weapons/Missiles/RapierMissileSystemPrototype.x3d' ; x3do:name 'identifier' . :meta_1_8 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content 'X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit' ; x3do:name 'generator' . :meta_1_9 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content 'http://www.army-technology.com/projects/jernas/jernas1.html' ; x3do:name 'reference' . :meta_1_10 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content 'Rapier, Rapier missile, missile' ; x3do:name 'subject' . :meta_1_11 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content '../../license.html' ; x3do:name 'license' . :meta dcterms:title "RapierMissileSystemPrototype.x3d" . :meta dcterms:creator "Oliver Tan" . :meta dcterms:created "28 January 2004" . :meta dcterms:modified "28 November 2019" . :meta dcterms:warning "check whether size is to scale" . :meta dcterms:description "Rapier missile system prototype." . :meta dcterms:identifier "https://savage.nps.edu/Savage/Weapons/Missiles/RapierMissileSystemPrototype.x3d" . :meta dcterms:generator "X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit" . :meta dcterms:reference "http://www.army-technology.com/projects/jernas/jernas1.html" . :meta dcterms:subject "Rapier, Rapier missile, missile" . :meta dcterms:license "../../license.html" . :Scene a owl:NamedIndividual, x3do:Scene ; x3do:hasParent :X3D ; x3do:hasChildren :WorldInfo_2_1, :Anchor_2_4 ; x3do:hasExternProtoDeclare :ExternProtoDeclare_2_2 ; x3do:hasProtoDeclare :ProtoDeclare_2_3 . :WorldInfo_2_1 a owl:NamedIndividual, x3do:WorldInfo ; x3do:hasParent :Scene ; x3do:title 'RapierMissileSystemPrototype.x3d' . :ExternProtoDeclare_2_2 a owl:NamedIndividual, x3do:ExternProtoDeclare ; x3do:hasParent :Scene ; x3do:hasField :field_2_2_1 ; x3do:name 'RapierMissile' ; x3do:url '"RapierMissilePrototype.x3d#RapierMissile" "https://savage.nps.edu/Savage/Weapons/Missiles/RapierMissilePrototype.x3d#RapierMissile" "RapierMissilePrototype.wrl#RapierMissile" "https://savage.nps.edu/Savage/Weapons/Missiles/RapierMissilePrototype.wrl#RapierMissile"' . :field_2_2_1 a owl:NamedIndividual, x3do:field ; x3do:hasParent :ExternProtoDeclare_2_2 ; x3do:accessType 'initializeOnly' ; x3do:name 'rocketAppearance' ; x3do:type 'SFNode' . :ProtoDeclare_2_3 a owl:NamedIndividual, x3do:ProtoDeclare ; x3do:hasParent :Scene ; x3do:hasProtoInterface :ProtoInterface_2_3_1 ; x3do:hasProtoBody :ProtoBody_2_3_2 ; x3do:name 'RapierMissileSystem' . :ProtoInterface_2_3_1 a owl:NamedIndividual, x3do:ProtoInterface ; x3do:hasParent :ProtoDeclare_2_3 ; x3do:hasField :field_2_3_1_1, :field_2_3_1_2 . :field_2_3_1_1 a owl:NamedIndividual, x3do:field ; x3do:hasParent :ProtoInterface_2_3_1 ; x3do:hasMaterial :Material_2_3_1_1_1 ; x3do:accessType 'initializeOnly' ; x3do:name 'material' ; x3do:type 'SFNode' . :Material_2_3_1_1_1 a owl:NamedIndividual, x3do:Material ; x3do:hasParent :field_2_3_1_1 ; x3do:diffuseColor ( .3 .6 .9 ) . :field_2_3_1_2 a owl:NamedIndividual, x3do:field ; x3do:hasParent :ProtoInterface_2_3_1 ; x3do:hasTexture :ImageTexture_2_3_1_2_1 ; x3do:accessType 'initializeOnly' ; x3do:name 'imageTexture' ; x3do:type 'SFNode' . :ImageTexture_2_3_1_2_1 a owl:NamedIndividual, x3do:ImageTexture ; x3do:hasParent :field_2_3_1_2 ; x3do:url '"cammie1.jpg" "https://savage.nps.edu/Savage/AircraftFixedWing/AV8bHarrierUnitedStates/cammie1.jpg"' . :ProtoBody_2_3_2 a owl:NamedIndividual, x3do:ProtoBody ; x3do:hasParent :ProtoDeclare_2_3 ; x3do:hasChildren :Viewpoint_2_3_2_1, :Viewpoint_2_3_2_2, :Transform_2_3_2_3 . :Viewpoint_2_3_2_1 a owl:NamedIndividual, x3do:Viewpoint ; x3do:hasParent :ProtoBody_2_3_2 ; x3do:description 'Rapier Missile System' ; x3do:position ( 0 0 3 ) . :Viewpoint_2_3_2_2 a owl:NamedIndividual, x3do:Viewpoint ; x3do:hasParent :ProtoBody_2_3_2 ; x3do:description 'Rapier Missile System Oblique' ; x3do:orientation ( 0 1 0 -1.571 ) ; x3do:position ( -3 0.5 0 ) . :Transform_2_3_2_3 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :ProtoBody_2_3_2 ; x3do:hasChildren :Transform_2_3_2_3_1 ; x3do:rotation ( 0 1 0 1.57 ) . :Transform_2_3_2_3_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3 ; x3do:hasChildren :Shape_2_3_2_3_1_1, :MissileSystem ; x3do:rotation ( 0 0 1 -1.571 ) . :Shape_2_3_2_3_1_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_3_2_3_1 ; x3do:hasAppearance :LauncherSkin . :LauncherSkin a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_2_3_1_1 ; x3do:hasIS :IS_2_3_2_3_1_1_1_1 ; x3do:DEF 'LauncherSkin' . :IS_2_3_2_3_1_1_1_1 a owl:NamedIndividual, x3do:IS ; x3do:hasParent :LauncherSkin ; x3do:hasConnect :connect_2_3_2_3_1_1_1_1_1, :connect_2_3_2_3_1_1_1_1_2 . :connect_2_3_2_3_1_1_1_1_1 a owl:NamedIndividual, x3do:connect ; x3do:hasParent :IS_2_3_2_3_1_1_1_1 ; x3do:nodeField 'material' ; x3do:protoField 'material' . :connect_2_3_2_3_1_1_1_1_2 a owl:NamedIndividual, x3do:connect ; x3do:hasParent :IS_2_3_2_3_1_1_1_1 ; x3do:nodeField 'texture' ; x3do:protoField 'imageTexture' . :MissileSystem a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1, :MissileSystemRotation ; x3do:hasROUTE :ROUTE_2_3_2_3_1_2_3 ; x3do:DEF 'MissileSystem' . :Transform_2_3_2_3_1_2_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :MissileSystem ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1 ; x3do:rotation ( 0 0 1 1.571 ) . :Transform_2_3_2_3_1_2_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1, :Transform_2_3_2_3_1_2_1_1_2, :BottomMissile ; x3do:translation ( 0 -0.075 0.25 ) . :Transform_2_3_2_3_1_2_1_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_1, :Transform_2_3_2_3_1_2_1_1_1_2, :Transform_2_3_2_3_1_2_1_1_1_3, :Transform_2_3_2_3_1_2_1_1_1_4, :Transform_2_3_2_3_1_2_1_1_1_5 ; x3do:scale ( 0.5 0.5 0.5 ) . :Transform_2_3_2_3_1_2_1_1_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_1_1 ; x3do:rotation ( 0 0 1 -1.571 ) ; x3do:translation ( -0.05 0.1 0 ) . :Transform_2_3_2_3_1_2_1_1_1_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_1 ; x3do:hasChildren :Shape_2_3_2_3_1_2_1_1_1_1_1_1, :Transform_2_3_2_3_1_2_1_1_1_1_1_2, :Transform_2_3_2_3_1_2_1_1_1_1_1_3, :Transform_2_3_2_3_1_2_1_1_1_1_1_4 . :Shape_2_3_2_3_1_2_1_1_1_1_1_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_1_1 ; x3do:hasAppearance :LauncherSkin-USE-1 ; x3do:hasGeometry :Extrusion_2_3_2_3_1_2_1_1_1_1_1_1_2 . :LauncherSkin-USE-1 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_1_1_1 ; owl:sameAs :LauncherSkin . # DEF matching this USE :Extrusion_2_3_2_3_1_2_1_1_1_1_1_1_2 a owl:NamedIndividual, x3do:Extrusion ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_1_1_1 ; x3do:creaseAngle 3.14 ; x3do:crossSection ( -0.2 -1.4 -0.2 -0.3 0.05 0.2 0.1 0.2 0.1 -1.4 -0.2 -1.4 ) ; x3do:solid false ; x3do:spine ( 0 0 0 0 0.1 0 ) . :Transform_2_3_2_3_1_2_1_1_1_1_1_2 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_1_1 ; x3do:hasChildren :Shape_2_3_2_3_1_2_1_1_1_1_1_2_1 ; x3do:translation ( -0.05 0.05 -0.75 ) . :Shape_2_3_2_3_1_2_1_1_1_1_1_2_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_1_1_2 ; x3do:hasAppearance :LauncherSkin-USE-2 ; x3do:hasGeometry :Cylinder_2_3_2_3_1_2_1_1_1_1_1_2_1_2 . :LauncherSkin-USE-2 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_1_1_2_1 ; owl:sameAs :LauncherSkin . # DEF matching this USE :Cylinder_2_3_2_3_1_2_1_1_1_1_1_2_1_2 a owl:NamedIndividual, x3do:Cylinder ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_1_1_2_1 ; x3do:height 0.2 ; x3do:radius 0.15 . :Transform_2_3_2_3_1_2_1_1_1_1_1_3 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_1_1 ; x3do:hasChildren :Shape_2_3_2_3_1_2_1_1_1_1_1_3_1 ; x3do:translation ( -0.05 0.05 -1.4 ) . :Shape_2_3_2_3_1_2_1_1_1_1_1_3_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_1_1_3 ; x3do:hasAppearance :LauncherSkin-USE-3 ; x3do:hasGeometry :Cylinder_2_3_2_3_1_2_1_1_1_1_1_3_1_2 . :LauncherSkin-USE-3 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_1_1_3_1 ; owl:sameAs :LauncherSkin . # DEF matching this USE :Cylinder_2_3_2_3_1_2_1_1_1_1_1_3_1_2 a owl:NamedIndividual, x3do:Cylinder ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_1_1_3_1 ; x3do:height 0.2 ; x3do:radius 0.15 . :Transform_2_3_2_3_1_2_1_1_1_1_1_4 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_1_1 ; x3do:hasChildren :Shape_2_3_2_3_1_2_1_1_1_1_1_4_1 ; x3do:translation ( -0.05 0.05 -0.5 ) . :Shape_2_3_2_3_1_2_1_1_1_1_1_4_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_1_1_4 ; x3do:hasAppearance :LauncherSkin-USE-4 ; x3do:hasGeometry :Cylinder_2_3_2_3_1_2_1_1_1_1_1_4_1_2 . :LauncherSkin-USE-4 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_1_1_4_1 ; owl:sameAs :LauncherSkin . # DEF matching this USE :Cylinder_2_3_2_3_1_2_1_1_1_1_1_4_1_2 a owl:NamedIndividual, x3do:Cylinder ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_1_1_4_1 ; x3do:height 0.2 ; x3do:radius 0.05 . :Transform_2_3_2_3_1_2_1_1_1_2 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1 ; x3do:hasChildren :MissileGripPair ; x3do:translation ( 0 0.1 -0.55 ) . :MissileGripPair a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1 ; x3do:DEF 'MissileGripPair' . :Transform_2_3_2_3_1_2_1_1_1_2_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :MissileGripPair ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1, :Transform_2_3_2_3_1_2_1_1_1_2_1_1_2 ; x3do:scale ( 0.49 1 0.8 ) . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1 ; x3do:hasChildren :MissileGrip ; x3do:translation ( 0 0.15 -0.3 ) . :MissileGrip a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1 ; x3do:DEF 'MissileGrip' ; x3do:translation ( 0.2 0 0 ) . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :MissileGrip ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1 ; x3do:rotation ( 0 1 0 1.571 ) . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1 ; x3do:scale ( 0.04 0.04 0.04 ) . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1, :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2 . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1 ; x3do:hasChildren :U1 ; x3do:rotation ( 1 0 0 1.571 ) . :U1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1 ; x3do:hasChildren :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_1, :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_2, :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_3 ; x3do:DEF 'U1' . :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :U1 ; x3do:hasAppearance :LauncherSkin-USE-5 ; x3do:hasGeometry :Cylinder_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_1_2 . :LauncherSkin-USE-5 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_1 ; owl:sameAs :LauncherSkin . # DEF matching this USE :Cylinder_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_1_2 a owl:NamedIndividual, x3do:Cylinder ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_1 ; x3do:height 8 . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_2 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :U1 ; x3do:hasChildren :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_2_1 ; x3do:translation ( 0 4 0 ) . :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_2_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_2 ; x3do:hasGeometry :Sphere_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_2_1_1 ; x3do:hasAppearance :LauncherSkin-USE-6 . :Sphere_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_2_1_1 a owl:NamedIndividual, x3do:Sphere ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_2_1 . :LauncherSkin-USE-6 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_2_1 ; owl:sameAs :LauncherSkin . # DEF matching this USE :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_3 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :U1 ; x3do:hasChildren :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_3_1 ; x3do:translation ( 0 -4 0 ) . :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_3_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_3 ; x3do:hasGeometry :Sphere_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_3_1_1 ; x3do:hasAppearance :LauncherSkin-USE-7 . :Sphere_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_3_1_1 a owl:NamedIndividual, x3do:Sphere ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_3_1 . :LauncherSkin-USE-7 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_1_1_3_1 ; owl:sameAs :LauncherSkin . # DEF matching this USE :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1 ; x3do:translation ( 0 0 4 ) . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1, :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_2 ; x3do:rotation ( 0 0 1 -0.7 ) . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1 ; x3do:translation ( 0 5 0 ) . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1 ; x3do:hasChildren :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_1, :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_2, :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_3 . :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1 ; x3do:hasAppearance :LauncherSkin-USE-8 ; x3do:hasGeometry :Cylinder_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_1_2 . :LauncherSkin-USE-8 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_1 ; owl:sameAs :LauncherSkin . # DEF matching this USE :Cylinder_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_1_2 a owl:NamedIndividual, x3do:Cylinder ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_1 ; x3do:height 10 . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_2 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1 ; x3do:hasChildren :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_2_1 ; x3do:translation ( 0 5 0 ) . :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_2_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_2 ; x3do:hasGeometry :Sphere_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_2_1_1 ; x3do:hasAppearance :LauncherSkin-USE-9 . :Sphere_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_2_1_1 a owl:NamedIndividual, x3do:Sphere ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_2_1 . :LauncherSkin-USE-9 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_2_1 ; owl:sameAs :LauncherSkin . # DEF matching this USE :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_3 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1 ; x3do:hasChildren :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_3_1 ; x3do:translation ( 0 -5 0 ) . :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_3_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_3 ; x3do:hasGeometry :Sphere_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_3_1_1 ; x3do:hasAppearance :LauncherSkin-USE-10 . :Sphere_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_3_1_1 a owl:NamedIndividual, x3do:Sphere ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_3_1 . :LauncherSkin-USE-10 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_1_1_3_1 ; owl:sameAs :LauncherSkin . # DEF matching this USE :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_2 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_2_1 ; x3do:translation ( 0 10 0 ) . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_2_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_2 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_2_1_1 ; x3do:translation ( 0 0 -4 ) . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_2_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_2_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_2_1_1_1 ; x3do:rotation ( 1 0 0 1.571 ) . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_2_1_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_2_1_1 ; x3do:hasChildren :U1-USE-1 ; x3do:scale ( 1 0.8 1 ) ; x3do:translation ( 0 0.2 0 ) . :U1-USE-1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_1_1_1_1_1_2_1_2_1_1_1 ; owl:sameAs :U1 . # DEF matching this USE :Transform_2_3_2_3_1_2_1_1_1_2_1_1_2 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_1_2_1_1_2_1 ; x3do:rotation ( 1 0 0 -1.4 ) ; x3do:translation ( 0 0.15 -0.3 ) . :Transform_2_3_2_3_1_2_1_1_1_2_1_1_2_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_2 ; x3do:hasChildren :MissileGrip-USE-1 ; x3do:rotation ( 0 1 0 3.142 ) . :MissileGrip-USE-1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_2_1_1_2_1 ; owl:sameAs :MissileGrip . # DEF matching this USE :Transform_2_3_2_3_1_2_1_1_1_3 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1 ; x3do:hasChildren :MissileGripPair-USE-1 ; x3do:translation ( 0 0.1 -1.2 ) . :MissileGripPair-USE-1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_3 ; owl:sameAs :MissileGripPair . # DEF matching this USE :Transform_2_3_2_3_1_2_1_1_1_4 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1 ; x3do:hasChildren :MissileGripPair-USE-2 ; x3do:rotation ( 1 0 0 -3.142 ) ; x3do:translation ( 0 0.2 -0.95 ) . :MissileGripPair-USE-2 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_4 ; owl:sameAs :MissileGripPair . # DEF matching this USE :Transform_2_3_2_3_1_2_1_1_1_5 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1 ; x3do:hasChildren :MissileGripPair-USE-3 ; x3do:rotation ( 1 0 0 -3.142 ) ; x3do:translation ( 0 0.2 -1.6 ) . :MissileGripPair-USE-3 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_1_5 ; owl:sameAs :MissileGripPair . # DEF matching this USE :Transform_2_3_2_3_1_2_1_1_2 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1 ; x3do:hasChildren :TopMissile . :TopMissile a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_2 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_2_1_1, :shootTopMissile, :topMissilePathInterpolator, :topMissileClock ; x3do:hasROUTE :ROUTE_2_3_2_3_1_2_1_1_2_1_5, :ROUTE_2_3_2_3_1_2_1_1_2_1_6, :ROUTE_2_3_2_3_1_2_1_1_2_1_7 ; x3do:DEF 'TopMissile' . :Transform_2_3_2_3_1_2_1_1_2_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :TopMissile ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_2_1_1_1 ; x3do:rotation ( 0 1 0 -1.57 ) ; x3do:scale ( 0.1 0.1 0.1 ) ; x3do:translation ( 0 0.2 -0.2 ) . :Transform_2_3_2_3_1_2_1_1_2_1_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_2_1_1 ; x3do:hasChildren :ProtoInstance_2_3_2_3_1_2_1_1_2_1_1_1_1 . :ProtoInstance_2_3_2_3_1_2_1_1_2_1_1_1_1 a owl:NamedIndividual, x3do:ProtoInstance ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_2_1_1_1 ; x3do:hasFieldValue :fieldValue_2_3_2_3_1_2_1_1_2_1_1_1_1_1 ; x3do:name 'RapierMissile' . :fieldValue_2_3_2_3_1_2_1_1_2_1_1_1_1_1 a owl:NamedIndividual, x3do:fieldValue ; x3do:hasParent :ProtoInstance_2_3_2_3_1_2_1_1_2_1_1_1_1 ; x3do:hasAppearance :LauncherSkin-USE-11 ; x3do:name 'rocketAppearance' . :LauncherSkin-USE-11 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :fieldValue_2_3_2_3_1_2_1_1_2_1_1_1_1_1 ; owl:sameAs :LauncherSkin . # DEF matching this USE :shootTopMissile a owl:NamedIndividual, x3do:TouchSensor ; x3do:hasParent :TopMissile ; x3do:DEF 'shootTopMissile' ; x3do:description 'touch missile to launch it' . :topMissilePathInterpolator a owl:NamedIndividual, x3do:PositionInterpolator ; x3do:hasParent :TopMissile ; x3do:DEF 'topMissilePathInterpolator' ; x3do:key ( 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 ) ; x3do:keyValue ( 0 0 1 0 0.05 2 0 0.1 3 0 0.15 4 0 0.2 5 0 0.25 6 0 0.3 7 0 0.35 8 0 0.4 9 0 0.45 10 0 0.5 11 ) . :topMissileClock a owl:NamedIndividual, x3do:TimeSensor ; x3do:hasParent :TopMissile ; x3do:DEF 'topMissileClock' ; x3do:cycleInterval '10' . :ROUTE_2_3_2_3_1_2_1_1_2_1_5 a owl:NamedIndividual, x3do:ROUTE ; x3do:hasParent :TopMissile ; x3do:fromField 'fraction_changed' ; x3do:fromNode 'topMissileClock' ; x3do:toField 'set_fraction' ; x3do:toNode 'topMissilePathInterpolator' . :ROUTE_2_3_2_3_1_2_1_1_2_1_6 a owl:NamedIndividual, x3do:ROUTE ; x3do:hasParent :TopMissile ; x3do:fromField 'value_changed' ; x3do:fromNode 'topMissilePathInterpolator' ; x3do:toField 'set_translation' ; x3do:toNode 'TopMissile' . :ROUTE_2_3_2_3_1_2_1_1_2_1_7 a owl:NamedIndividual, x3do:ROUTE ; x3do:hasParent :TopMissile ; x3do:fromField 'touchTime' ; x3do:fromNode 'shootTopMissile' ; x3do:toField 'set_startTime' ; x3do:toNode 'topMissileClock' . :BottomMissile a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1 ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_3_1, :shootBottomMissile, :bottomMissilePathInterpolator, :bottomMissileClock ; x3do:hasROUTE :ROUTE_2_3_2_3_1_2_1_1_3_5, :ROUTE_2_3_2_3_1_2_1_1_3_6, :ROUTE_2_3_2_3_1_2_1_1_3_7 ; x3do:DEF 'BottomMissile' . :Transform_2_3_2_3_1_2_1_1_3_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :BottomMissile ; x3do:hasChildren :Transform_2_3_2_3_1_2_1_1_3_1_1 ; x3do:rotation ( 0 1 0 -1.57 ) ; x3do:scale ( 0.1 0.1 0.1 ) ; x3do:translation ( 0 -0.05 -0.15 ) . :Transform_2_3_2_3_1_2_1_1_3_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_3_1 ; x3do:hasChildren :ProtoInstance_2_3_2_3_1_2_1_1_3_1_1_1 . :ProtoInstance_2_3_2_3_1_2_1_1_3_1_1_1 a owl:NamedIndividual, x3do:ProtoInstance ; x3do:hasParent :Transform_2_3_2_3_1_2_1_1_3_1_1 ; x3do:hasFieldValue :fieldValue_2_3_2_3_1_2_1_1_3_1_1_1_1 ; x3do:name 'RapierMissile' . :fieldValue_2_3_2_3_1_2_1_1_3_1_1_1_1 a owl:NamedIndividual, x3do:fieldValue ; x3do:hasParent :ProtoInstance_2_3_2_3_1_2_1_1_3_1_1_1 ; x3do:hasAppearance :LauncherSkin-USE-12 ; x3do:name 'rocketAppearance' . :LauncherSkin-USE-12 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :fieldValue_2_3_2_3_1_2_1_1_3_1_1_1_1 ; owl:sameAs :LauncherSkin . # DEF matching this USE :shootBottomMissile a owl:NamedIndividual, x3do:TouchSensor ; x3do:hasParent :BottomMissile ; x3do:DEF 'shootBottomMissile' ; x3do:description 'touch missile to launch it' . :bottomMissilePathInterpolator a owl:NamedIndividual, x3do:PositionInterpolator ; x3do:hasParent :BottomMissile ; x3do:DEF 'bottomMissilePathInterpolator' ; x3do:key ( 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 ) ; x3do:keyValue ( 0 0 1 0 0.05 2 0 0.1 3 0 0.15 4 0 0.2 5 0 0.25 6 0 0.3 7 0 0.35 8 0 0.4 9 0 0.45 10 0 0.5 11 ) . :bottomMissileClock a owl:NamedIndividual, x3do:TimeSensor ; x3do:hasParent :BottomMissile ; x3do:DEF 'bottomMissileClock' ; x3do:cycleInterval '10' . :ROUTE_2_3_2_3_1_2_1_1_3_5 a owl:NamedIndividual, x3do:ROUTE ; x3do:hasParent :BottomMissile ; x3do:fromField 'fraction_changed' ; x3do:fromNode 'bottomMissileClock' ; x3do:toField 'set_fraction' ; x3do:toNode 'bottomMissilePathInterpolator' . :ROUTE_2_3_2_3_1_2_1_1_3_6 a owl:NamedIndividual, x3do:ROUTE ; x3do:hasParent :BottomMissile ; x3do:fromField 'value_changed' ; x3do:fromNode 'bottomMissilePathInterpolator' ; x3do:toField 'set_translation' ; x3do:toNode 'BottomMissile' . :ROUTE_2_3_2_3_1_2_1_1_3_7 a owl:NamedIndividual, x3do:ROUTE ; x3do:hasParent :BottomMissile ; x3do:fromField 'touchTime' ; x3do:fromNode 'shootBottomMissile' ; x3do:toField 'set_startTime' ; x3do:toNode 'bottomMissileClock' . :MissileSystemRotation a owl:NamedIndividual, x3do:CylinderSensor ; x3do:hasParent :MissileSystem ; x3do:DEF 'MissileSystemRotation' ; x3do:description 'Rotate the missile system.' ; x3do:maxAngle 0 ; x3do:minAngle -1.3 . :ROUTE_2_3_2_3_1_2_3 a owl:NamedIndividual, x3do:ROUTE ; x3do:hasParent :MissileSystem ; x3do:fromField 'rotation_changed' ; x3do:fromNode 'MissileSystemRotation' ; x3do:toField 'rotation' ; x3do:toNode 'MissileSystem' . :Anchor_2_4 a owl:NamedIndividual, x3do:Anchor ; x3do:hasParent :Scene ; x3do:hasChildren :Shape_2_4_1 ; x3do:description 'RapierMissileSystemExample' ; x3do:url '"RapierMissileSystemExample.x3d" "https://savage.nps.edu/Savage/Weapons/Missiles/RapierMissileSystemExample.x3d" "RapierMissileSystemExample.wrl" "https://savage.nps.edu/Savage/Weapons/Missiles/RapierMissileSystemExample.wrl"' . :Shape_2_4_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Anchor_2_4 ; x3do:hasGeometry :Text_2_4_1_1 ; x3do:hasAppearance :Appearance_2_4_1_2 . :Text_2_4_1_1 a owl:NamedIndividual, x3do:Text ; x3do:hasParent :Shape_2_4_1 ; x3do:hasFontStyle :FontStyle_2_4_1_1_1 ; x3do:string '"Rapier Missile System Prototype" "contains prototype definitions" "" "Click on text to see these Appearances in" "RapierMissileSystemExample"' . :FontStyle_2_4_1_1_1 a owl:NamedIndividual, x3do:FontStyle ; x3do:hasParent :Text_2_4_1_1 ; x3do:justify '"MIDDLE" "MIDDLE"' ; x3do:size 0.5 . :Appearance_2_4_1_2 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_4_1 ; x3do:hasMaterial :Material_2_4_1_2_1 . :Material_2_4_1_2_1 a owl:NamedIndividual, x3do:Material ; x3do:hasParent :Appearance_2_4_1_2 ; x3do:diffuseColor ( 0 0.6 0.6 ) .