| 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.
-->