@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_1 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content 'HotAirBalloon.x3d' ; x3do:name 'title' . :meta_1_2 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content 'Mike Hunsberger' ; x3do:name 'creator' . :meta_1_3 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content 'Hot Air Balloon that fires and lifts off from the pad. The balloon is built by scaling a circle around a straight spline.' ; x3do:name 'description' . :meta_1_4 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content '3 September 2000' ; x3do:name 'created' . :meta_1_5 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content '20 October 2019' ; x3do:name 'modified' . :meta_1_6 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content 'https://savage.nps.edu/Savage/AircraftMiscellaneous/Balloon/HotAirBalloon.x3d' ; x3do:name 'identifier' . :meta_1_7 a owl:NamedIndividual, x3do:meta ; x3do:hasParent :head ; x3do:content '../../license.html' ; x3do:name 'license' . :meta dcterms:title "HotAirBalloon.x3d" . :meta dcterms:creator "Mike Hunsberger" . :meta dcterms:description "Hot Air Balloon that fires and lifts off from the pad. The balloon is built by scaling a circle around a straight spline." . :meta dcterms:created "3 September 2000" . :meta dcterms:modified "20 October 2019" . :meta dcterms:identifier "https://savage.nps.edu/Savage/AircraftMiscellaneous/Balloon/HotAirBalloon.x3d" . :meta dcterms:license "../../license.html" . :Scene a owl:NamedIndividual, x3do:Scene ; x3do:hasParent :X3D ; x3do:hasChildren :WorldInfo_2_1, :Transform_2_2, :Balloon, :Transform_2_4, :FireClock, :FirePath, :BalloonClock, :BalloonPath ; x3do:hasROUTE :ROUTE_2_9, :ROUTE_2_10, :ROUTE_2_11, :ROUTE_2_12 . :WorldInfo_2_1 a owl:NamedIndividual, x3do:WorldInfo ; x3do:hasParent :Scene ; x3do:title 'HotAirBalloon.x3d' . :Transform_2_2 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Scene ; x3do:hasChildren :Viewpoint_2_2_1 ; x3do:rotation ( 0 1 0 0.758 ) ; x3do:translation ( 10 5 0 ) . :Viewpoint_2_2_1 a owl:NamedIndividual, x3do:Viewpoint ; x3do:hasParent :Transform_2_2 ; x3do:description 'Wide Angle' ; x3do:orientation ( 1 0 0 -0.3 ) ; x3do:position ( 0 10 25 ) . :Balloon a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Scene ; x3do:hasChildren :Group_2_3_1 ; x3do:DEF 'Balloon' . :Group_2_3_1 a owl:NamedIndividual, x3do:Group ; x3do:hasParent :Balloon ; x3do:hasChildren :Transform_2_3_1_1, :Transform_2_3_1_2, :Shape_2_3_1_3, :Transform_2_3_1_4, :Fire . :Transform_2_3_1_1 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Group_2_3_1 ; x3do:hasChildren :Shape_2_3_1_1_1 ; x3do:translation ( 0 -1 0 ) . :Shape_2_3_1_1_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_3_1_1 ; x3do:hasAppearance :Appearance_2_3_1_1_1_1 ; x3do:hasGeometry :Box_2_3_1_1_1_2 . :Appearance_2_3_1_1_1_1 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_1_1_1 ; x3do:hasMaterial :Material_2_3_1_1_1_1_1 . :Material_2_3_1_1_1_1_1 a owl:NamedIndividual, x3do:Material ; x3do:hasParent :Appearance_2_3_1_1_1_1 ; x3do:diffuseColor ( .8 .8 .8 ) . :Box_2_3_1_1_1_2 a owl:NamedIndividual, x3do:Box ; x3do:hasParent :Shape_2_3_1_1_1 ; x3do:size ( .85 .85 .85 ) . :Transform_2_3_1_2 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Group_2_3_1 ; x3do:hasChildren :Shape_2_3_1_2_1 ; x3do:translation ( 0 -0.65 0 ) . :Shape_2_3_1_2_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_3_1_2 ; x3do:hasAppearance :Appearance_2_3_1_2_1_1 ; x3do:hasGeometry :Cylinder_2_3_1_2_1_2 . :Appearance_2_3_1_2_1_1 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_1_2_1 ; x3do:hasMaterial :Material_2_3_1_2_1_1_1 . :Material_2_3_1_2_1_1_1 a owl:NamedIndividual, x3do:Material ; x3do:hasParent :Appearance_2_3_1_2_1_1 ; x3do:diffuseColor ( .8 .8 .8 ) . :Cylinder_2_3_1_2_1_2 a owl:NamedIndividual, x3do:Cylinder ; x3do:hasParent :Shape_2_3_1_2_1 ; x3do:height .7 ; x3do:radius .2 ; x3do:top false . :Shape_2_3_1_3 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Group_2_3_1 ; x3do:hasAppearance :Appearance_2_3_1_3_1 ; x3do:hasGeometry :Extrusion_2_3_1_3_2 . :Appearance_2_3_1_3_1 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_1_3 ; x3do:hasMaterial :Material_2_3_1_3_1_1 . :Material_2_3_1_3_1_1 a owl:NamedIndividual, x3do:Material ; x3do:hasParent :Appearance_2_3_1_3_1 ; x3do:diffuseColor ( 1 0 1 ) . :Extrusion_2_3_1_3_2 a owl:NamedIndividual, x3do:Extrusion ; x3do:hasParent :Shape_2_3_1_3 ; x3do:beginCap false ; x3do:creaseAngle 1.57 ; x3do:crossSection ( 1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00 ) ; x3do:scale ( .6 .6 1.0 1.0 1.3 1.3 1.5 1.5 1.7 1.7 1.9 1.9 2.15 2.15 2.35 2.35 2.4 2.4 2.32 2.32 2.2 2.2 1.85 1.85 1.5 1.5 0.4 0.4 ) ; x3do:solid false ; x3do:spine ( 0.0 0.0 0.0 0.0 0.4 0.0 0.0 0.8 0.0 0.0 1.2 0.0 0.0 1.6 0.0 0.0 2.0 0.0 0.0 2.4 0.0 0.0 2.8 0.0 0.0 3.2 0.0 0.0 3.6 0.0 0.0 4.0 0.0 0.0 4.4 0.0 0.0 4.8 0.0 0.0 5.2 0.0 ) . :Transform_2_3_1_4 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Group_2_3_1 ; x3do:hasChildren :Group_2_3_1_4_1 . :Group_2_3_1_4_1 a owl:NamedIndividual, x3do:Group ; x3do:hasParent :Transform_2_3_1_4 ; x3do:hasChildren :Shape_2_3_1_4_1_1, :Shape_2_3_1_4_1_2, :Shape_2_3_1_4_1_3, :Shape_2_3_1_4_1_4 . :Shape_2_3_1_4_1_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Group_2_3_1_4_1 ; x3do:hasAppearance :Appearance_2_3_1_4_1_1_1 ; x3do:hasGeometry :IndexedLineSet_2_3_1_4_1_1_2 . :Appearance_2_3_1_4_1_1_1 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_1_4_1_1 ; x3do:hasMaterial :Material_2_3_1_4_1_1_1_1 . :Material_2_3_1_4_1_1_1_1 a owl:NamedIndividual, x3do:Material ; x3do:hasParent :Appearance_2_3_1_4_1_1_1 ; x3do:diffuseColor ( 1 0 0 ) ; x3do:emissiveColor ( 1 0 0 ) . :IndexedLineSet_2_3_1_4_1_1_2 a owl:NamedIndividual, x3do:IndexedLineSet ; x3do:hasParent :Shape_2_3_1_4_1_1 ; x3do:hasCoord :Coordinate_2_3_1_4_1_1_2_1 ; x3do:coordIndex ( 0 1 ) . :Coordinate_2_3_1_4_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ; x3do:hasParent :IndexedLineSet_2_3_1_4_1_1_2 ; x3do:point ( .4 -0.85 .4 .45 0 .45 ) . :Shape_2_3_1_4_1_2 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Group_2_3_1_4_1 ; x3do:hasAppearance :Appearance_2_3_1_4_1_2_1 ; x3do:hasGeometry :IndexedLineSet_2_3_1_4_1_2_2 . :Appearance_2_3_1_4_1_2_1 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_1_4_1_2 ; x3do:hasMaterial :Material_2_3_1_4_1_2_1_1 . :Material_2_3_1_4_1_2_1_1 a owl:NamedIndividual, x3do:Material ; x3do:hasParent :Appearance_2_3_1_4_1_2_1 ; x3do:diffuseColor ( 1 0 0 ) ; x3do:emissiveColor ( 1 0 0 ) . :IndexedLineSet_2_3_1_4_1_2_2 a owl:NamedIndividual, x3do:IndexedLineSet ; x3do:hasParent :Shape_2_3_1_4_1_2 ; x3do:hasCoord :Coordinate_2_3_1_4_1_2_2_1 ; x3do:coordIndex ( 0 1 ) . :Coordinate_2_3_1_4_1_2_2_1 a owl:NamedIndividual, x3do:Coordinate ; x3do:hasParent :IndexedLineSet_2_3_1_4_1_2_2 ; x3do:point ( -0.4 -0.85 .4 -0.45 0 .45 ) . :Shape_2_3_1_4_1_3 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Group_2_3_1_4_1 ; x3do:hasAppearance :Appearance_2_3_1_4_1_3_1 ; x3do:hasGeometry :IndexedLineSet_2_3_1_4_1_3_2 . :Appearance_2_3_1_4_1_3_1 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_1_4_1_3 ; x3do:hasMaterial :Material_2_3_1_4_1_3_1_1 . :Material_2_3_1_4_1_3_1_1 a owl:NamedIndividual, x3do:Material ; x3do:hasParent :Appearance_2_3_1_4_1_3_1 ; x3do:diffuseColor ( 1 0 0 ) ; x3do:emissiveColor ( 1 0 0 ) . :IndexedLineSet_2_3_1_4_1_3_2 a owl:NamedIndividual, x3do:IndexedLineSet ; x3do:hasParent :Shape_2_3_1_4_1_3 ; x3do:hasCoord :Coordinate_2_3_1_4_1_3_2_1 ; x3do:coordIndex ( 0 1 ) . :Coordinate_2_3_1_4_1_3_2_1 a owl:NamedIndividual, x3do:Coordinate ; x3do:hasParent :IndexedLineSet_2_3_1_4_1_3_2 ; x3do:point ( .4 -0.85 -0.4 .45 0 -0.45 ) . :Shape_2_3_1_4_1_4 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Group_2_3_1_4_1 ; x3do:hasAppearance :Appearance_2_3_1_4_1_4_1 ; x3do:hasGeometry :IndexedLineSet_2_3_1_4_1_4_2 . :Appearance_2_3_1_4_1_4_1 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_1_4_1_4 ; x3do:hasMaterial :Material_2_3_1_4_1_4_1_1 . :Material_2_3_1_4_1_4_1_1 a owl:NamedIndividual, x3do:Material ; x3do:hasParent :Appearance_2_3_1_4_1_4_1 ; x3do:diffuseColor ( 1 0 0 ) ; x3do:emissiveColor ( 1 0 0 ) . :IndexedLineSet_2_3_1_4_1_4_2 a owl:NamedIndividual, x3do:IndexedLineSet ; x3do:hasParent :Shape_2_3_1_4_1_4 ; x3do:hasCoord :Coordinate_2_3_1_4_1_4_2_1 ; x3do:coordIndex ( 0 1 ) . :Coordinate_2_3_1_4_1_4_2_1 a owl:NamedIndividual, x3do:Coordinate ; x3do:hasParent :IndexedLineSet_2_3_1_4_1_4_2 ; x3do:point ( -0.4 -0.85 -0.4 -0.45 0 -0.45 ) . :Fire a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Group_2_3_1 ; x3do:hasChildren :Shape_2_3_1_5_1 ; x3do:DEF 'Fire' . :Shape_2_3_1_5_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Fire ; x3do:hasAppearance :Appearance_2_3_1_5_1_1 ; x3do:hasGeometry :Cylinder_2_3_1_5_1_2 . :Appearance_2_3_1_5_1_1 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_3_1_5_1 ; x3do:hasMaterial :Material_2_3_1_5_1_1_1 . :Material_2_3_1_5_1_1_1 a owl:NamedIndividual, x3do:Material ; x3do:hasParent :Appearance_2_3_1_5_1_1 ; x3do:diffuseColor ( .8 .8 .0 ) . :Cylinder_2_3_1_5_1_2 a owl:NamedIndividual, x3do:Cylinder ; x3do:hasParent :Shape_2_3_1_5_1 ; x3do:height .7 ; x3do:radius .18 . :Transform_2_4 a owl:NamedIndividual, x3do:Transform ; x3do:hasParent :Scene ; x3do:hasChildren :Shape_2_4_1 ; x3do:translation ( 0 -2 0 ) . :Shape_2_4_1 a owl:NamedIndividual, x3do:Shape ; x3do:hasParent :Transform_2_4 ; x3do:hasAppearance :Appearance_2_4_1_1 ; x3do:hasGeometry :Box_2_4_1_2 . :Appearance_2_4_1_1 a owl:NamedIndividual, x3do:Appearance ; x3do:hasParent :Shape_2_4_1 ; x3do:hasMaterial :Material_2_4_1_1_1 . :Material_2_4_1_1_1 a owl:NamedIndividual, x3do:Material ; x3do:hasParent :Appearance_2_4_1_1 . :Box_2_4_1_2 a owl:NamedIndividual, x3do:Box ; x3do:hasParent :Shape_2_4_1 ; x3do:size ( 20 .1 20 ) . :FireClock a owl:NamedIndividual, x3do:TimeSensor ; x3do:hasParent :Scene ; x3do:DEF 'FireClock' ; x3do:cycleInterval '4' ; x3do:loop true . :FirePath a owl:NamedIndividual, x3do:PositionInterpolator ; x3do:hasParent :Scene ; x3do:DEF 'FirePath' ; x3do:key ( 0 .05 .7 .75 ) ; x3do:keyValue ( 0 -0.7 0 0 0 0 0 0 0 0 -0.7 0 ) . :BalloonClock a owl:NamedIndividual, x3do:TimeSensor ; x3do:hasParent :Scene ; x3do:DEF 'BalloonClock' ; x3do:cycleInterval '20' ; x3do:loop true . :BalloonPath a owl:NamedIndividual, x3do:PositionInterpolator ; x3do:hasParent :Scene ; x3do:DEF 'BalloonPath' ; x3do:key ( 0 .1 .15 .2 .25 .3 .5 1 ) ; x3do:keyValue ( 0 0 0 0 0 0 0 .5 0 0 1 0 0 2 0 0 4 0 0 12 0 0 28 0 ) . :ROUTE_2_9 a owl:NamedIndividual, x3do:ROUTE ; x3do:hasParent :Scene ; x3do:fromField 'fraction_changed' ; x3do:fromNode 'FireClock' ; x3do:toField 'set_fraction' ; x3do:toNode 'FirePath' . :ROUTE_2_10 a owl:NamedIndividual, x3do:ROUTE ; x3do:hasParent :Scene ; x3do:fromField 'value_changed' ; x3do:fromNode 'FirePath' ; x3do:toField 'set_translation' ; x3do:toNode 'Fire' . :ROUTE_2_11 a owl:NamedIndividual, x3do:ROUTE ; x3do:hasParent :Scene ; x3do:fromField 'fraction_changed' ; x3do:fromNode 'BalloonClock' ; x3do:toField 'set_fraction' ; x3do:toNode 'BalloonPath' . :ROUTE_2_12 a owl:NamedIndividual, x3do:ROUTE ; x3do:hasParent :Scene ; x3do:fromField 'value_changed' ; x3do:fromNode 'BalloonPath' ; x3do:toField 'set_translation' ; x3do:toNode 'Balloon' .