X3D Model Documentation: MultipleTimerExplodingBuildingExample.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2 
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
  3  <X3D profile='Immersive' version='3.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  4       <head>
  5            <meta name='titlecontent=' MultipleTimerExplodingBuildingExample.x3d '/>
  6            <meta name='descriptioncontent='A simple exploding structure, experimenting with the "Hello World" of explosions - click on the silver chimney to trigger the explosion.'/>
  7            <meta name='creatorcontent='Don Brutzman'/>
  8            <meta name='createdcontent='28 September 2002'/>
  9            <meta name='modifiedcontent='28 November 2019'/>
 10            <meta name='Imagecontent='MultipleTimerExplodingBuildingExampleIntermediateAnimation.png'/>
 11            <meta name='MovingImagecontent='MultipleTimerExplodingBuildingVideo.mov'/>
 12            <meta name='referencecontent='Exploding building schematic layout diagram:'/>
 13            <meta name='referencecontent=' ExplodingBuildingLayout.pdf '/>
 14            <meta name='referencecontent='ExplodingBuildingLargeExample.wrl'/>
 15            <meta name='referencecontent='Rotation calculations performed using the Dizzy utility from Vapour Technologies by James Smith.'/>
 16            <meta name='referencecontent='http://www.vapourtech.com'/>
 17            <meta name='referencecontent='DIS-Java-VRML Working Group'/>
 18            <meta name='referencecontent='https://www.web3d.org/WorkingGroups/vrtp/dis-java-vrml'/>
 19            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/Tools/Explosions/MultipleTimerExplodingBuildingExample.x3d '/>
 20            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 21            <meta name='licensecontent='../../license.html'/>
 22       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: CoordinateAxes, FirstFloorCeiling, FirstFloorWallEast, FirstFloorWallMaterial, FirstFloorWallNorth, FirstFloorWallSouth, FirstFloorWallWest, Floor, FloorMaterial, LongWall, RootEspduTransform, SecondFloorCeiling, SecondFloorWallEast, SecondFloorWallMaterial, SecondFloorWallNorth, SecondFloorWallSouth, SecondFloorWallWest, ShortWall, SmokeStack, SmokeStackTouch

Index for Viewpoint node: Viewpoint_1

Index for ExternProtoDeclare definition: Exploder
-->
 23       <Scene>
 24            <WorldInfo title='MultipleTimerExplodingBuildingExample.x3d'/>
 25            <ExternProtoDeclare name='Exploderappinfo='Prototype to explode different pieces and parts in different ways.'   url=' "MultipleTimerExplodingBuildingPrototype.x3d#Exploder" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Explosions/MultipleTimerExplodingBuildingPrototype.x3d#Exploder" "MultipleTimerExplodingBuildingPrototype.wrl#Exploder" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Explosions/MultipleTimerExplodingBuildingPrototype.wrl#Exploder" '>
 26                 <field name='geometrytype='SFNodeaccessType='initializeOnly'
                appinfo='geometry node, to be used inside a Shape'/>
 27                 <field name='materialtype='SFNodeaccessType='initializeOnly'
                appinfo='Material node for this geometry, to be used inside a Shape'/>
 28                 <field name='initialPositiontype='SFVec3faccessType='initializeOnly'
                appinfo='starting point'/>
 29                 <field name='finalPositiontype='SFVec3faccessType='initializeOnly'
                appinfo='finish point'/>
 30                 <field name='initialOrientationtype='SFRotationaccessType='initializeOnly'
                appinfo='starting point orientation'/>
 31                 <field name='finalOrientationtype='SFRotationaccessType='initializeOnly'
                appinfo='finish point orientation'/>
 32                 <field name='set_fractiontype='SFFloataccessType='inputOnly'
                appinfo='animation input'/>
 33                 <field name='startTimetype='SFTimeaccessType='inputOutput'
                appinfo='animation trigger'/>
 34            </ExternProtoDeclare>
 35            <!-- ==================== -->
 36            <!-- Root Transform will be replaced by EspduTransfor when ready to network -->
 37            <Transform DEF='RootEspduTransform'>
 38                 <Viewpoint description='Hello Exploding Buildingorientation='1 0 0 -0.3position='1 20 50'/>
 39                 <DirectionalLight direction='-0.57735 -0.57735 0.57735'/>
 40                 <Transform scale='10 10 10'>
 41                      <Inline DEF='CoordinateAxes'   url=' "../../../Savage/Tools/Authoring/CoordinateAxes.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/CoordinateAxes.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d" "../../../Savage/Tools/Authoring/CoordinateAxes.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/CoordinateAxes.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.wrl" '/>
 42                 </Transform>
 43                 <Shape>
 44 
                    <!-- Box Floor is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                    <Box DEF='Floorsize='14 0.1 8'/>
 45                      <Appearance>
 46 
                         <!-- Material FloorMaterial is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                         <Material DEF='FloorMaterialdiffuseColor='0 0.3 0.3transparency='0.3'/>
 47                      </Appearance>
 48                 </Shape>
 49 
               <!-- ROUTE information for FirstFloorCeiling node:  [from SmokeStackTouch.touchTime to startTime ] -->
               <ProtoInstance name='ExploderDEF='FirstFloorCeiling'>
 50                      <fieldValue name='geometry'>
 51                           <Box USE='Floor'/>
 52                      </fieldValue>
 53                      <fieldValue name='material'>
 54                           <Material USE='FloorMaterial'/>
 55                      </fieldValue>
 56                      <fieldValue name='initialPositionvalue='0 3 0'/>
 57                      <fieldValue name='finalPositionvalue='14 0.05 14'/>
 58                      <fieldValue name='finalOrientationvalue='0.48 0 0.88 3.14'/>
 59                 </ProtoInstance>
 60 
               <!-- ROUTE information for FirstFloorWallEast node:  [from SmokeStackTouch.touchTime to startTime ] -->
               <ProtoInstance name='ExploderDEF='FirstFloorWallEast'>
 61                      <fieldValue name='geometry'>
 62 
                         <!-- Box LongWall is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                         <Box DEF='LongWallsize='14 3 0.1'/>
 63                      </fieldValue>
 64                      <fieldValue name='material'>
 65 
                         <!-- Material FirstFloorWallMaterial is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                         <Material DEF='FirstFloorWallMaterialdiffuseColor='0.4 0.4 0transparency='0.3'/>
 66                      </fieldValue>
 67                      <fieldValue name='initialPositionvalue='0 1.5 3.95'/>
 68                      <fieldValue name='finalPositionvalue='0 0.05 10'/>
 69                      <fieldValue name='finalOrientationvalue='0.96 0.2 -0.19 1.61'/>
 70                 </ProtoInstance>
 71 
               <!-- ROUTE information for FirstFloorWallNorth node:  [from SmokeStackTouch.touchTime to startTime ] -->
               <ProtoInstance name='ExploderDEF='FirstFloorWallNorth'>
 72                      <fieldValue name='geometry'>
 73 
                         <!-- Box ShortWall is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                         <Box DEF='ShortWallsize='0.1 3 8'/>
 74                      </fieldValue>
 75                      <fieldValue name='material'>
 76                           <Material USE='FirstFloorWallMaterial'/>
 77                      </fieldValue>
 78                      <fieldValue name='initialPositionvalue='7 1.5 0'/>
 79                      <fieldValue name='finalPositionvalue='15 0.05 2'/>
 80                      <fieldValue name='finalOrientationvalue='0 0 1 -1.57'/>
 81                 </ProtoInstance>
 82 
               <!-- ROUTE information for FirstFloorWallWest node:  [from SmokeStackTouch.touchTime to startTime ] -->
               <ProtoInstance name='ExploderDEF='FirstFloorWallWest'>
 83                      <fieldValue name='geometry'>
 84                           <Box USE='LongWall'/>
 85                      </fieldValue>
 86                      <fieldValue name='material'>
 87                           <Material USE='FirstFloorWallMaterial'/>
 88                      </fieldValue>
 89                      <fieldValue name='initialPositionvalue='0 1.5 -3.95'/>
 90                      <fieldValue name='finalPositionvalue='0 0.05 -12'/>
 91                      <fieldValue name='finalOrientationvalue='0.96 0.2 -0.19 1.61'/>
 92                 </ProtoInstance>
 93 
               <!-- ROUTE information for FirstFloorWallSouth node:  [from SmokeStackTouch.touchTime to startTime ] -->
               <ProtoInstance name='ExploderDEF='FirstFloorWallSouth'>
 94                      <fieldValue name='geometry'>
 95                           <Box USE='ShortWall'/>
 96                      </fieldValue>
 97                      <fieldValue name='material'>
 98                           <Material USE='FirstFloorWallMaterial'/>
 99                      </fieldValue>
100                      <fieldValue name='initialPositionvalue='-7 1.5 0'/>
101                      <fieldValue name='finalPositionvalue='-10 0.05 1'/>
102                      <fieldValue name='finalOrientationvalue='-0.32 -0.32 0.89 1.69'/>
103                 </ProtoInstance>
104 
               <!-- ROUTE information for SecondFloorCeiling node:  [from SmokeStackTouch.touchTime to startTime ] -->
               <ProtoInstance name='ExploderDEF='SecondFloorCeiling'>
105                      <fieldValue name='geometry'>
106                           <Box USE='Floor'/>
107                      </fieldValue>
108                      <fieldValue name='material'>
109                           <Material USE='FloorMaterial'/>
110                      </fieldValue>
111                      <fieldValue name='initialPositionvalue='0 6 0'/>
112                      <fieldValue name='finalPositionvalue='-12 0.05 -10'/>
113                      <fieldValue name='finalOrientationvalue='0.84 0 0.54 3.14'/>
114                 </ProtoInstance>
115 
               <!-- ROUTE information for SecondFloorWallEast node:  [from SmokeStackTouch.touchTime to startTime ] -->
               <ProtoInstance name='ExploderDEF='SecondFloorWallEast'>
116                      <fieldValue name='geometry'>
117                           <Box USE='LongWall'/>
118                      </fieldValue>
119                      <fieldValue name='material'>
120 
                         <!-- Material SecondFloorWallMaterial is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                         <Material DEF='SecondFloorWallMaterialdiffuseColor='0.8 0.8 0transparency='0.3'/>
121                      </fieldValue>
122                      <fieldValue name='initialPositionvalue='0 4.5 3.95'/>
123                      <fieldValue name='finalPositionvalue='5 0.05 20'/>
124                      <fieldValue name='finalOrientationvalue='0.89 -0.32 0.32 1.69'/>
125                 </ProtoInstance>
126 
               <!-- ROUTE information for SecondFloorWallNorth node:  [from SmokeStackTouch.touchTime to startTime ] -->
               <ProtoInstance name='ExploderDEF='SecondFloorWallNorth'>
127                      <fieldValue name='geometry'>
128                           <Box USE='ShortWall'/>
129                      </fieldValue>
130                      <fieldValue name='material'>
131                           <Material USE='SecondFloorWallMaterial'/>
132                      </fieldValue>
133                      <fieldValue name='initialPositionvalue='7 4.5 0'/>
134                      <fieldValue name='finalPositionvalue='22 0.05 -6'/>
135                      <fieldValue name='finalOrientationvalue='-0.32 -0.32 0.89 1.69'/>
136                 </ProtoInstance>
137 
               <!-- ROUTE information for SecondFloorWallWest node:  [from SmokeStackTouch.touchTime to startTime ] -->
               <ProtoInstance name='ExploderDEF='SecondFloorWallWest'>
138                      <fieldValue name='geometry'>
139                           <Box USE='LongWall'/>
140                      </fieldValue>
141                      <fieldValue name='material'>
142                           <Material USE='SecondFloorWallMaterial'/>
143                      </fieldValue>
144                      <fieldValue name='initialPositionvalue='0 4.5 -3.95'/>
145                      <fieldValue name='finalPositionvalue='5 0.05 -19'/>
146                      <fieldValue name='finalOrientationvalue='0.96 0.2 -0.19 1.61'/>
147                 </ProtoInstance>
148 
               <!-- ROUTE information for SecondFloorWallSouth node:  [from SmokeStackTouch.touchTime to startTime ] -->
               <ProtoInstance name='ExploderDEF='SecondFloorWallSouth'>
149                      <fieldValue name='geometry'>
150                           <Box USE='ShortWall'/>
151                      </fieldValue>
152                      <fieldValue name='material'>
153                           <Material USE='SecondFloorWallMaterial'/>
154                      </fieldValue>
155                      <fieldValue name='initialPositionvalue='-7 4.5 0'/>
156                      <fieldValue name='finalPositionvalue='-10 0.05 11'/>
157                      <fieldValue name='finalOrientationvalue='-0.28 0.28 -0.92 1.66'/>
158                 </ProtoInstance>
159                 <Group>
160 
                    <!-- ROUTE information for SmokeStack node:  [from SmokeStackTouch.touchTime to startTime ] -->
                    <ProtoInstance name='ExploderDEF='SmokeStack'>
161                           <fieldValue name='geometry'>
162                                <Cylinder bottom='falseheight='9radius='0.5'/>
163                           </fieldValue>
164                           <fieldValue name='material'>
165                                <Material diffuseColor='0.4 0.4 0.4shininess='0.8'/>
166                           </fieldValue>
167                           <fieldValue name='initialPositionvalue='-4 4.51 2'/>
168                           <fieldValue name='finalPositionvalue='-15 0.4 2'/>
169                           <fieldValue name='finalOrientationvalue='0 0 1 1.57'/>
170                      </ProtoInstance>
171 
172                 </Group>
173                 <Background skyColor='0.5 0.5 0.5'/>
174            </Transform>
175            < ROUTE  fromNode='SmokeStackTouch' fromField='touchTime' toNode='FirstFloorCeiling' toField='startTime'/>
176            < ROUTE  fromNode='SmokeStackTouch' fromField='touchTime' toNode='FirstFloorWallEast' toField='startTime'/>
177            < ROUTE  fromNode='SmokeStackTouch' fromField='touchTime' toNode='FirstFloorWallNorth' toField='startTime'/>
178            < ROUTE  fromNode='SmokeStackTouch' fromField='touchTime' toNode='FirstFloorWallWest' toField='startTime'/>
179            < ROUTE  fromNode='SmokeStackTouch' fromField='touchTime' toNode='FirstFloorWallSouth' toField='startTime'/>
180            < ROUTE  fromNode='SmokeStackTouch' fromField='touchTime' toNode='SecondFloorCeiling' toField='startTime'/>
181            < ROUTE  fromNode='SmokeStackTouch' fromField='touchTime' toNode='SecondFloorWallEast' toField='startTime'/>
182            < ROUTE  fromNode='SmokeStackTouch' fromField='touchTime' toNode='SecondFloorWallNorth' toField='startTime'/>
183            < ROUTE  fromNode='SmokeStackTouch' fromField='touchTime' toNode='SecondFloorWallWest' toField='startTime'/>
184            < ROUTE  fromNode='SmokeStackTouch' fromField='touchTime' toNode='SecondFloorWallSouth' toField='startTime'/>
185            < ROUTE  fromNode='SmokeStackTouch' fromField='touchTime' toNode='SmokeStack' toField='startTime'/>
186       </Scene>
187  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: CoordinateAxes, FirstFloorCeiling, FirstFloorWallEast, FirstFloorWallMaterial, FirstFloorWallNorth, FirstFloorWallSouth, FirstFloorWallWest, Floor, FloorMaterial, LongWall, RootEspduTransform, SecondFloorCeiling, SecondFloorWallEast, SecondFloorWallMaterial, SecondFloorWallNorth, SecondFloorWallSouth, SecondFloorWallWest, ShortWall, SmokeStack, SmokeStackTouch

Index for Viewpoint node: Viewpoint_1

Index for ExternProtoDeclare definition: Exploder
-->
X3D Tooltips element index: Appearance, Background, Box, Cylinder, DirectionalLight, ExternProtoDeclare, field, fieldValue, Group, head, Inline, Material, meta, ProtoInstance, ROUTE, Scene, Shape, TouchSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

Event Graph ROUTE Table entries with 11 ROUTE connections total, showing X3D event-model relationships for this scene.

Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.

This node has 11 outgoing ROUTEs, which is greater than $maxROUTEdepth=8
SmokeStackTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
FirstFloorCeiling
ProtoInstance
startTime
SFTime
SmokeStackTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
FirstFloorWallEast
ProtoInstance
startTime
SFTime
SmokeStackTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
FirstFloorWallNorth
ProtoInstance
startTime
SFTime
SmokeStackTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
FirstFloorWallWest
ProtoInstance
startTime
SFTime
SmokeStackTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
FirstFloorWallSouth
ProtoInstance
startTime
SFTime
SmokeStackTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
SecondFloorCeiling
ProtoInstance
startTime
SFTime
SmokeStackTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
SecondFloorWallEast
ProtoInstance
startTime
SFTime
SmokeStackTouch
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
SecondFloorWallNorth
ProtoInstance
startTime
SFTime

      FirstFloorCeiling
ProtoInstance
Exploder
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

      FirstFloorWallEast
ProtoInstance
Exploder
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

      FirstFloorWallNorth
ProtoInstance
Exploder
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

      FirstFloorWallSouth
ProtoInstance
Exploder
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

      FirstFloorWallWest
ProtoInstance
Exploder
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

      SecondFloorCeiling
ProtoInstance
Exploder
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

      SecondFloorWallEast
ProtoInstance
Exploder
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

      SecondFloorWallNorth
ProtoInstance
Exploder
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

      SecondFloorWallSouth
ProtoInstance
Exploder
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

      SecondFloorWallWest
ProtoInstance
Exploder
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

      SmokeStack
ProtoInstance
Exploder
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/Savage/Tools/Explosions/MultipleTimerExplodingBuildingExampleIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/Tools/Explosions/MultipleTimerExplodingBuildingExample.x3d -->

<!-- Color-coding legend: X3D terminology <X3dNode  DEF='idNamefield='value'/> matches XML terminology <XmlElement  DEF='idNameattribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
    <ProtoInstance name='ProtoName'> <field name='fieldName'/> </ProtoInstance> -->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->