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='Interchange' 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='title' content='Smoke'/> |
6 | <meta name='description' content='Animated smoke'/> |
7 | <meta name='creator' content='Michael Martin'/> |
8 | <meta name='created' content='10 September 2004'/> |
9 | <meta name='modified' content='20 October 2019'/> |
10 | <meta name='subject' content='smoke'/> |
11 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Savage/Scenarios/TankManeuver/Smoke.x3d '/> |
12 | <meta name='generator' content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/> |
13 | <meta name='license' content='../../license.html'/> |
14 | </head> |
15 | <Scene> |
16 | <WorldInfo title='Smoke'/> |
17 |
<!-- ROUTE information for smokeClock node:
[from fraction_changed to smokePos.set_fraction
]
[from fraction_changed to smokeTrans.set_fraction
]
[from fraction_changed to smokeScale.set_fraction
]
[from fraction_changed to smokePos2.set_fraction
]
[from fraction_changed to smokeTrans2.set_fraction
]
[from fraction_changed to smokeScale2.set_fraction
]
[from fraction_changed to smokePos3.set_fraction
]
[from fraction_changed to smokeTrans3.set_fraction
]
[from fraction_changed to smokeScale3.set_fraction
]
[from fraction_changed to smokePos4.set_fraction
]
[from fraction_changed to smokeTrans4.set_fraction
]
[from fraction_changed to smokeScale4.set_fraction
]
-->
<TimeSensor DEF='smokeClock' cycleInterval='3' loop='true'/> |
18 | <Transform translation='.1 0 .1'> |
19 |
<!-- ROUTE information for smokePos node:
[from smokeClock.fraction_changed to set_fraction
]
[from value_changed to SmokeBall.set_translation
]
-->
<PositionInterpolator DEF='smokePos' key='0 .99' keyValue='0 0 0 0 2 0'/> |
20 |
<!-- ROUTE information for smokeScale node:
[from smokeClock.fraction_changed to set_fraction
]
[from value_changed to SmokeBall.set_scale
]
-->
<PositionInterpolator DEF='smokeScale' key='0 .99' keyValue='1 1 1 2 2 2'/> |
21 |
<!-- ROUTE information for smokeTrans node:
[from smokeClock.fraction_changed to set_fraction
]
[from value_changed to SmokeMat.set_transparency
]
-->
<ScalarInterpolator DEF='smokeTrans' key='0 .99' keyValue='0 1'/> |
22 |
<!-- ROUTE information for SmokeBall node:
[from smokePos.value_changed to set_translation
]
[from smokeScale.value_changed to set_scale
]
-->
<Transform DEF='SmokeBall'> |
23 | <Shape> |
24 | <Appearance> |
25 |
<!-- ROUTE information for SmokeMat node:
[from smokeTrans.value_changed to set_transparency
]
-->
<Material DEF='SmokeMat' diffuseColor='0 0 0'/> |
26 | </Appearance> |
27 | <Sphere radius='.5'/> |
28 | </Shape> |
29 | </Transform> |
30 | < ROUTE fromNode='smokeClock' fromField='fraction_changed' toNode='smokePos' toField='set_fraction'/> |
31 | < ROUTE fromNode='smokePos' fromField='value_changed' toNode='SmokeBall' toField='set_translation'/> |
32 | < ROUTE fromNode='smokeClock' fromField='fraction_changed' toNode='smokeTrans' toField='set_fraction'/> |
33 | < ROUTE fromNode='smokeTrans' fromField='value_changed' toNode='SmokeMat' toField='set_transparency'/> |
34 | < ROUTE fromNode='smokeClock' fromField='fraction_changed' toNode='smokeScale' toField='set_fraction'/> |
35 | < ROUTE fromNode='smokeScale' fromField='value_changed' toNode='SmokeBall' toField='set_scale'/> |
36 | </Transform> |
37 | <Transform translation='-.1 0 .1'> |
38 |
<!-- ROUTE information for smokePos2 node:
[from smokeClock.fraction_changed to set_fraction
]
[from value_changed to SmokeBall2.set_translation
]
-->
<PositionInterpolator DEF='smokePos2' key='0 .5 .5 .99' keyValue='0 1 0 0 2 0 0 0 0 0 1 0'/> |
39 |
<!-- ROUTE information for smokeScale2 node:
[from smokeClock.fraction_changed to set_fraction
]
[from value_changed to SmokeBall2.set_scale
]
-->
<PositionInterpolator DEF='smokeScale2' key='0 .5 .5 .99' keyValue='1.5 1.5 1.5 2 2 2 1 1 1 1.5 1.5 1.5'/> |
40 |
<!-- ROUTE information for smokeTrans2 node:
[from smokeClock.fraction_changed to set_fraction
]
[from value_changed to SmokeMat2.set_transparency
]
-->
<ScalarInterpolator DEF='smokeTrans2' key='0 .5 .5 .99' keyValue='.5 1.0 0 .5'/> |
41 |
<!-- ROUTE information for SmokeBall2 node:
[from smokePos2.value_changed to set_translation
]
[from smokeScale2.value_changed to set_scale
]
-->
<Transform DEF='SmokeBall2'> |
42 | <Shape> |
43 | <Appearance> |
44 |
<!-- ROUTE information for SmokeMat2 node:
[from smokeTrans2.value_changed to set_transparency
]
-->
<Material DEF='SmokeMat2' diffuseColor='0 0 0'/> |
45 | </Appearance> |
46 | <Sphere radius='.5'/> |
47 | </Shape> |
48 | </Transform> |
49 | < ROUTE fromNode='smokeClock' fromField='fraction_changed' toNode='smokePos2' toField='set_fraction'/> |
50 | < ROUTE fromNode='smokePos2' fromField='value_changed' toNode='SmokeBall2' toField='set_translation'/> |
51 | < ROUTE fromNode='smokeClock' fromField='fraction_changed' toNode='smokeTrans2' toField='set_fraction'/> |
52 | < ROUTE fromNode='smokeTrans2' fromField='value_changed' toNode='SmokeMat2' toField='set_transparency'/> |
53 | < ROUTE fromNode='smokeClock' fromField='fraction_changed' toNode='smokeScale2' toField='set_fraction'/> |
54 | < ROUTE fromNode='smokeScale2' fromField='value_changed' toNode='SmokeBall2' toField='set_scale'/> |
55 | </Transform> |
56 | <Transform translation='-.1 0 -.1'> |
57 |
<!-- ROUTE information for smokePos3 node:
[from smokeClock.fraction_changed to set_fraction
]
[from value_changed to SmokeBall3.set_translation
]
-->
<PositionInterpolator DEF='smokePos3' key='0 .25 .25 .99' keyValue='0 1.5 0 0 2 0 0 0 0 0 1.5 0'/> |
58 |
<!-- ROUTE information for smokeScale3 node:
[from smokeClock.fraction_changed to set_fraction
]
[from value_changed to SmokeBall3.set_scale
]
-->
<PositionInterpolator DEF='smokeScale3' key='0 .25 .25 .99' keyValue='1.75 1.75 1.75 2 2 2 1 1 1 1.75 1.75 1.75'/> |
59 |
<!-- ROUTE information for smokeTrans3 node:
[from smokeClock.fraction_changed to set_fraction
]
[from value_changed to SmokeMat3.set_transparency
]
-->
<ScalarInterpolator DEF='smokeTrans3' key='0 .25 .25 .99' keyValue='.75 1.0 0 .75'/> |
60 |
<!-- ROUTE information for SmokeBall3 node:
[from smokePos3.value_changed to set_translation
]
[from smokeScale3.value_changed to set_scale
]
-->
<Transform DEF='SmokeBall3'> |
61 | <Shape> |
62 | <Appearance> |
63 |
<!-- ROUTE information for SmokeMat3 node:
[from smokeTrans3.value_changed to set_transparency
]
-->
<Material DEF='SmokeMat3' diffuseColor='0 0 0'/> |
64 | </Appearance> |
65 | <Sphere radius='.5'/> |
66 | </Shape> |
67 | </Transform> |
68 | < ROUTE fromNode='smokeClock' fromField='fraction_changed' toNode='smokePos3' toField='set_fraction'/> |
69 | < ROUTE fromNode='smokePos3' fromField='value_changed' toNode='SmokeBall3' toField='set_translation'/> |
70 | < ROUTE fromNode='smokeClock' fromField='fraction_changed' toNode='smokeTrans3' toField='set_fraction'/> |
71 | < ROUTE fromNode='smokeTrans3' fromField='value_changed' toNode='SmokeMat3' toField='set_transparency'/> |
72 | < ROUTE fromNode='smokeClock' fromField='fraction_changed' toNode='smokeScale3' toField='set_fraction'/> |
73 | < ROUTE fromNode='smokeScale3' fromField='value_changed' toNode='SmokeBall3' toField='set_scale'/> |
74 | </Transform> |
75 | <Transform translation='.1 0 -.1'> |
76 |
<!-- ROUTE information for smokePos4 node:
[from smokeClock.fraction_changed to set_fraction
]
[from value_changed to SmokeBall4.set_translation
]
-->
<PositionInterpolator DEF='smokePos4' key='0 .75 .75 .99' keyValue='0 .5 0 0 2 0 0 0 0 0 .5 0'/> |
77 |
<!-- ROUTE information for smokeScale4 node:
[from smokeClock.fraction_changed to set_fraction
]
[from value_changed to SmokeBall4.set_scale
]
-->
<PositionInterpolator DEF='smokeScale4' key='0 .75 .75 .99' keyValue='1.25 1.25 1.25 2 2 2 1 1 1 1.25 1.25 1.25'/> |
78 |
<!-- ROUTE information for smokeTrans4 node:
[from smokeClock.fraction_changed to set_fraction
]
[from value_changed to SmokeMat4.set_transparency
]
-->
<ScalarInterpolator DEF='smokeTrans4' key='0 .75 .75 .99' keyValue='.25 1.0 0 .25'/> |
79 |
<!-- ROUTE information for SmokeBall4 node:
[from smokePos4.value_changed to set_translation
]
[from smokeScale4.value_changed to set_scale
]
-->
<Transform DEF='SmokeBall4'> |
80 | <Shape> |
81 | <Appearance> |
82 |
<!-- ROUTE information for SmokeMat4 node:
[from smokeTrans4.value_changed to set_transparency
]
-->
<Material DEF='SmokeMat4' diffuseColor='0 0 0'/> |
83 | </Appearance> |
84 | <Sphere radius='.5'/> |
85 | </Shape> |
86 | </Transform> |
87 | < ROUTE fromNode='smokeClock' fromField='fraction_changed' toNode='smokePos4' toField='set_fraction'/> |
88 | < ROUTE fromNode='smokePos4' fromField='value_changed' toNode='SmokeBall4' toField='set_translation'/> |
89 | < ROUTE fromNode='smokeClock' fromField='fraction_changed' toNode='smokeTrans4' toField='set_fraction'/> |
90 | < ROUTE fromNode='smokeTrans4' fromField='value_changed' toNode='SmokeMat4' toField='set_transparency'/> |
91 | < ROUTE fromNode='smokeClock' fromField='fraction_changed' toNode='smokeScale4' toField='set_fraction'/> |
92 | < ROUTE fromNode='smokeScale4' fromField='value_changed' toNode='SmokeBall4' toField='set_scale'/> |
93 | </Transform> |
94 | </Scene> |
95 | </X3D> |
Event Graph ROUTE Table with 24 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.
<!--
Color-coding legend: X3D terminology
<X3dNode
DEF='idName' field='value'/>
matches XML terminology
<XmlElement
DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->