@prefix :        <https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/MultipleExplosionPrototype.ttl#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema:  <http://schema.org/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix x3d:     <https://www.web3d.org/specifications/x3d-4.0.xsd#> .
@prefix x3do:    <https://www.web3d.org/specifications/X3dOntology4.0#> .

: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_12, :meta_1_13 .
:meta_1_1 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'MultipleExplosionPrototype.x3d' ;
  x3do:name 'title' .
:meta_1_2 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Simple prototype for a multiple explosion resulting from a tomahawk strike.' ;
  x3do:name 'description' .
:meta_1_3 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'James Harney' ;
  x3do:name 'creator' .
:meta_1_4 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '14 September 2001' ;
  x3do:name 'created' .
:meta_1_5 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '28 November 2019' ;
  x3do:name 'modified' .
:meta_1_6 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'http://www.planetnine.com' ;
  x3do:name 'reference' .
:meta_1_7 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'http://www.specialoperations.com/multimedia/sounds.html' ;
  x3do:name 'reference' .
:meta_1_8 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'See url "soundpermissions.html" for copyright info and use on missile1.au and exp03.au that are converted to missile1.wav and exp03.wav for use in this file/model' ;
  x3do:name 'reference' .
:meta_1_9 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'soundpermissions.html' ;
  x3do:name 'accessRights' .
:meta_1_10 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'explosion.png' ;
  x3do:name 'reference' .
:meta_1_11 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/MultipleExplosionPrototype.x3d' ;
  x3do:name 'identifier' .
:meta_1_12 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit' ;
  x3do:name 'generator' .
:meta_1_13 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '../../license.html' ;
  x3do:name 'license' .
:meta dcterms:title "MultipleExplosionPrototype.x3d" .
:meta dcterms:description "Simple prototype for a multiple explosion resulting from a tomahawk strike." .
:meta dcterms:creator "James Harney" .
:meta dcterms:created "14 September 2001" .
:meta dcterms:modified "28 November 2019" .
:meta dcterms:reference "http://www.planetnine.com" .
:meta dcterms:reference "http://www.specialoperations.com/multimedia/sounds.html" .
:meta dcterms:reference "See url \"soundpermissions.html\" for copyright info and use on missile1.au and exp03.au that are converted to missile1.wav and exp03.wav for use in this file/model" .
:meta dcterms:accessRights "soundpermissions.html" .
:meta dcterms:reference "explosion.png" .
:meta dcterms:identifier "https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/MultipleExplosionPrototype.x3d" .
:meta dcterms:generator "X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit" .
:meta dcterms:license "../../license.html" .
:Scene a owl:NamedIndividual, x3do:Scene ;
  x3do:hasParent :X3D ;
  x3do:hasChildren :WorldInfo_2_1, :Background_2_3, :Anchor_2_4 ;
  x3do:hasProtoDeclare :ProtoDeclare_2_2 .
:WorldInfo_2_1 a owl:NamedIndividual, x3do:WorldInfo ;
  x3do:hasParent :Scene ;
  x3do:title 'MultipleExplosionPrototype.x3d' .
:ProtoDeclare_2_2 a owl:NamedIndividual, x3do:ProtoDeclare ;
  x3do:hasParent :Scene ;
  x3do:hasProtoInterface :ProtoInterface_2_2_1 ;
  x3do:hasProtoBody :ProtoBody_2_2_2 ;
  x3do:name 'TLAMEXPLOSION' .
:ProtoInterface_2_2_1 a owl:NamedIndividual, x3do:ProtoInterface ;
  x3do:hasParent :ProtoDeclare_2_2 ;
  x3do:hasField :field_2_2_1_1, :field_2_2_1_2 .
:field_2_2_1_1 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_2_1 ;
  x3do:accessType 'inputOnly' ;
  x3do:name 'STARTEXPLOSION' ;
  x3do:type 'SFBool' .
:field_2_2_1_2 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_2_1 ;
  x3do:accessType 'inputOnly' ;
  x3do:name 'THETIME' ;
  x3do:type 'SFTime' .
:ProtoBody_2_2_2 a owl:NamedIndividual, x3do:ProtoBody ;
  x3do:hasParent :ProtoDeclare_2_2 ;
  x3do:hasChildren :EXPLOSION, :EXPCLOCK, :EXPCLOCK1, :EXPCLOCK2, :EXPINTERP, :EXPINTERP1, :EXPINTERP2 ;
  x3do:hasROUTE :ROUTE_2_2_2_8, :ROUTE_2_2_2_9, :ROUTE_2_2_2_10, :ROUTE_2_2_2_11, :ROUTE_2_2_2_12, :ROUTE_2_2_2_13, :ROUTE_2_2_2_14, :ROUTE_2_2_2_15, :ROUTE_2_2_2_16, :ROUTE_2_2_2_17 .
:EXPLOSION a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:hasChildren :Shape_2_2_2_1_1, :TimeFilter, :Sound_2_2_2_1_3, :EXPLOSION1, :EXPLOSION2 ;
  x3do:DEF 'EXPLOSION' ;
  x3do:scale ( .001 .001 .001 ) .
:Shape_2_2_2_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :EXPLOSION ;
  x3do:hasGeometry :EXPSHAPE ;
  x3do:hasAppearance :Appearance_2_2_2_1_1_2 .
:EXPSHAPE a owl:NamedIndividual, x3do:Sphere ;
  x3do:hasParent :Shape_2_2_2_1_1 ;
  x3do:DEF 'EXPSHAPE' ;
  x3do:radius 25 .
:Appearance_2_2_2_1_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_1 ;
  x3do:hasTexture :explosion .
:explosion a owl:NamedIndividual, x3do:ImageTexture ;
  x3do:hasParent :Appearance_2_2_2_1_1_2 ;
  x3do:DEF 'explosion' ;
  x3do:url '"explosion.png" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/explosion.png"' .
:TimeFilter a owl:NamedIndividual, x3do:Script ;
  x3do:hasParent :EXPLOSION ;
  x3do:hasField :field_2_2_2_1_2_1, :field_2_2_2_1_2_2, :field_2_2_2_1_2_3 ;
  x3do:hasIS :IS_2_2_2_1_2_4 ;
  x3do:DEF 'TimeFilter' ;
  x3do:sourceCode """
ecmascript:


function setStart ( value, InputTime ) {
                         
	startEventTime = InputTime + 28 ;
	
}
""" .
:field_2_2_2_1_2_1 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :TimeFilter ;
  x3do:accessType 'inputOnly' ;
  x3do:name 'setStart' ;
  x3do:type 'SFBool' .
:field_2_2_2_1_2_2 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :TimeFilter ;
  x3do:accessType 'outputOnly' ;
  x3do:name 'startEventTime' ;
  x3do:type 'SFTime' .
:field_2_2_2_1_2_3 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :TimeFilter ;
  x3do:accessType 'inputOnly' ;
  x3do:name 'InputTime' ;
  x3do:type 'SFTime' .
:IS_2_2_2_1_2_4 a owl:NamedIndividual, x3do:IS ;
  x3do:hasParent :TimeFilter ;
  x3do:hasConnect :connect_2_2_2_1_2_4_1, :connect_2_2_2_1_2_4_2 .
:connect_2_2_2_1_2_4_1 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_2_2_1_2_4 ;
  x3do:nodeField 'setStart' ;
  x3do:protoField 'STARTEXPLOSION' .
:connect_2_2_2_1_2_4_2 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_2_2_1_2_4 ;
  x3do:nodeField 'InputTime' ;
  x3do:protoField 'THETIME' .
:Sound_2_2_2_1_3 a owl:NamedIndividual, x3do:Sound ;
  x3do:hasParent :EXPLOSION ;
  x3do:hasSource :IMPACT ;
  x3do:maxBack 50000 ;
  x3do:maxFront 50000 .
:IMPACT a owl:NamedIndividual, x3do:AudioClip ;
  x3do:hasParent :Sound_2_2_2_1_3 ;
  x3do:DEF 'IMPACT' ;
  x3do:description 'Explosion' ;
  x3do:url '"EXP03.wav" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/EXP03.wav"' .
:EXPLOSION1 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :EXPLOSION ;
  x3do:hasChildren :Shape_2_2_2_1_4_1, :Sound_2_2_2_1_4_2 ;
  x3do:DEF 'EXPLOSION1' ;
  x3do:scale ( .001 .001 .001 ) ;
  x3do:translation ( 1 3 -10 ) .
:Shape_2_2_2_1_4_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :EXPLOSION1 ;
  x3do:hasGeometry :EXPSHAPE1 ;
  x3do:hasAppearance :Appearance_2_2_2_1_4_1_2 .
:EXPSHAPE1 a owl:NamedIndividual, x3do:Sphere ;
  x3do:hasParent :Shape_2_2_2_1_4_1 ;
  x3do:DEF 'EXPSHAPE1' ;
  x3do:radius 15 .
:Appearance_2_2_2_1_4_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_4_1 ;
  x3do:hasTexture :explosion-USE-1 .
:explosion-USE-1 a owl:NamedIndividual, x3do:ImageTexture ;
  x3do:hasParent :Appearance_2_2_2_1_4_1_2 ;
  owl:sameAs :explosion . # DEF matching this USE
:Sound_2_2_2_1_4_2 a owl:NamedIndividual, x3do:Sound ;
  x3do:hasParent :EXPLOSION1 ;
  x3do:hasSource :IMPACT-USE-1 ;
  x3do:maxBack 50000 ;
  x3do:maxFront 50000 .
:IMPACT-USE-1 a owl:NamedIndividual, x3do:AudioClip ;
  x3do:hasParent :Sound_2_2_2_1_4_2 ;
  owl:sameAs :IMPACT . # DEF matching this USE
:EXPLOSION2 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :EXPLOSION ;
  x3do:hasChildren :Shape_2_2_2_1_5_1, :Sound_2_2_2_1_5_2 ;
  x3do:DEF 'EXPLOSION2' ;
  x3do:scale ( .001 .001 .001 ) ;
  x3do:translation ( -5 12 7 ) .
:Shape_2_2_2_1_5_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :EXPLOSION2 ;
  x3do:hasGeometry :EXPSHAPE2 ;
  x3do:hasAppearance :Appearance_2_2_2_1_5_1_2 .
:EXPSHAPE2 a owl:NamedIndividual, x3do:Sphere ;
  x3do:hasParent :Shape_2_2_2_1_5_1 ;
  x3do:DEF 'EXPSHAPE2' ;
  x3do:radius 10 .
:Appearance_2_2_2_1_5_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_5_1 ;
  x3do:hasTexture :explosion-USE-2 .
:explosion-USE-2 a owl:NamedIndividual, x3do:ImageTexture ;
  x3do:hasParent :Appearance_2_2_2_1_5_1_2 ;
  owl:sameAs :explosion . # DEF matching this USE
:Sound_2_2_2_1_5_2 a owl:NamedIndividual, x3do:Sound ;
  x3do:hasParent :EXPLOSION2 ;
  x3do:hasSource :IMPACT-USE-2 ;
  x3do:maxBack 50000 ;
  x3do:maxFront 50000 .
:IMPACT-USE-2 a owl:NamedIndividual, x3do:AudioClip ;
  x3do:hasParent :Sound_2_2_2_1_5_2 ;
  owl:sameAs :IMPACT . # DEF matching this USE
:EXPCLOCK a owl:NamedIndividual, x3do:TimeSensor ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:DEF 'EXPCLOCK' ;
  x3do:cycleInterval '16' .
:EXPCLOCK1 a owl:NamedIndividual, x3do:TimeSensor ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:DEF 'EXPCLOCK1' ;
  x3do:cycleInterval '16' .
:EXPCLOCK2 a owl:NamedIndividual, x3do:TimeSensor ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:DEF 'EXPCLOCK2' ;
  x3do:cycleInterval '16' .
:EXPINTERP a owl:NamedIndividual, x3do:PositionInterpolator ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:DEF 'EXPINTERP' ;
  x3do:key ( 0 .25 .5 1 ) ;
  x3do:keyValue ( 1 1 1 2.5 2.5 2.5 3 3 3 .01 .01 .01 ) .
:EXPINTERP1 a owl:NamedIndividual, x3do:PositionInterpolator ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:DEF 'EXPINTERP1' ;
  x3do:key ( 0 .2 .5 1 ) ;
  x3do:keyValue ( .05 .05 .05 2.5 2.5 2.5 3 3 3 .01 .01 .01 ) .
:EXPINTERP2 a owl:NamedIndividual, x3do:PositionInterpolator ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:DEF 'EXPINTERP2' ;
  x3do:key ( 0 .1 .5 1 ) ;
  x3do:keyValue ( .4 .4 .4 2.5 2.5 2.5 3 3 3 .01 .01 .01 ) .
:ROUTE_2_2_2_8 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:fromField 'startEventTime' ;
  x3do:fromNode 'TimeFilter' ;
  x3do:toField 'set_startTime' ;
  x3do:toNode 'EXPCLOCK' .
:ROUTE_2_2_2_9 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:fromField 'startEventTime' ;
  x3do:fromNode 'TimeFilter' ;
  x3do:toField 'set_startTime' ;
  x3do:toNode 'EXPCLOCK1' .
:ROUTE_2_2_2_10 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:fromField 'startEventTime' ;
  x3do:fromNode 'TimeFilter' ;
  x3do:toField 'set_startTime' ;
  x3do:toNode 'EXPCLOCK2' .
:ROUTE_2_2_2_11 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:fromField 'startEventTime' ;
  x3do:fromNode 'TimeFilter' ;
  x3do:toField 'set_startTime' ;
  x3do:toNode 'IMPACT' .
:ROUTE_2_2_2_12 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:fromField 'fraction_changed' ;
  x3do:fromNode 'EXPCLOCK' ;
  x3do:toField 'set_fraction' ;
  x3do:toNode 'EXPINTERP' .
:ROUTE_2_2_2_13 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:fromField 'fraction_changed' ;
  x3do:fromNode 'EXPCLOCK' ;
  x3do:toField 'set_fraction' ;
  x3do:toNode 'EXPINTERP1' .
:ROUTE_2_2_2_14 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:fromField 'fraction_changed' ;
  x3do:fromNode 'EXPCLOCK' ;
  x3do:toField 'set_fraction' ;
  x3do:toNode 'EXPINTERP2' .
:ROUTE_2_2_2_15 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:fromField 'value_changed' ;
  x3do:fromNode 'EXPINTERP' ;
  x3do:toField 'set_scale' ;
  x3do:toNode 'EXPLOSION' .
:ROUTE_2_2_2_16 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:fromField 'value_changed' ;
  x3do:fromNode 'EXPINTERP' ;
  x3do:toField 'set_scale' ;
  x3do:toNode 'EXPLOSION1' .
:ROUTE_2_2_2_17 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:fromField 'value_changed' ;
  x3do:fromNode 'EXPINTERP' ;
  x3do:toField 'set_scale' ;
  x3do:toNode 'EXPLOSION2' .
:Background_2_3 a owl:NamedIndividual, x3do:Background ;
  x3do:hasParent :Scene ;
  x3do:skyColor ( 0.604 0.753 0.804 ) .
:Anchor_2_4 a owl:NamedIndividual, x3do:Anchor ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :Shape_2_4_1 ;
  x3do:description 'Missile Explosion Example' ;
  x3do:parameter '"target=_blank"' ;
  x3do:url '"MissileExplosionExample.wrl" "../../Weapons/Missiles/MissileExplosionExample.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/MissileExplosionExample.wrl" "MissileExplosionExample.x3d" "../../Weapons/Missiles/MissileExplosionExample.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/MissileExplosionExample.x3d"' .
: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 '"MultipleExplosionPrototype" "is a prototype declaration file" "" "To see an example scene" "click on this text and view" "MultipleExplosionExample"' .
:FontStyle_2_4_1_1_1 a owl:NamedIndividual, x3do:FontStyle ;
  x3do:hasParent :Text_2_4_1_1 ;
  x3do:justify '"MIDDLE" "MIDDLE"' .
:Appearance_2_4_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_4_1 .
