1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
|
3 | <X3D profile='Interactive' version='3.3' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'> |
4 | <head> |
5 | <meta name='title' content='Elevator.x3d'/> |
6 | <meta name='description' content='X3D encodings example: example of animating the camera by depicting an elevator to ease access to a multi-story building. For this example, a 2 story building is shown and it is assumed that the elevator is already at the ground floor. To go up, the user just steps onto the elevator platform. A ProximitySensor fires and starts the elevator up automatically. Additional features such as call buttons for outside the elevator, elevator doors, and floor selector buttons could be added to make the elevator easier to use.'/> |
7 | <meta name='creator' content='Don Brutzman and Joe Williams'/> |
8 | <meta name='Image' content='ElevatorAnimation.png'/> |
9 | <meta name='created' content='1 June 2002'/> |
10 | <meta name='modified' content='28 October 2019'/> |
11 | <meta name='specificationSection' content='X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.18 Elevator'/> |
12 | <meta name='specificationUrl' content='https://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/examples.html#Elevator'/> |
13 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/Elevator.x3d'/> |
14 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
15 | <meta name='license' content='../license.html'/> |
16 | </head> |
17 | <Scene> |
18 | <WorldInfo title='Elevator.x3d'/> |
19 | <NavigationInfo type='"WALK" "ANY"'/> |
20 | <Transform translation='0.0 0.0 -3.5'> |
21 | <Shape> |
22 | <Cone/> |
23 | <Appearance> |
24 | <Material diffuseColor='0.0 1.0 0.0'/> |
25 | </Appearance> |
26 | </Shape> |
27 | </Transform> |
28 | <Transform translation='0.0 4.0 -3.5'> |
29 | <Shape> |
30 | <Cone/> |
31 | <Appearance> |
32 | <Material diffuseColor='1.0 0.0 0.0'/> |
33 | </Appearance> |
34 | </Shape> |
35 | </Transform> |
36 | <Transform translation='0.0 8.0 -3.5'> |
37 | <Shape> |
38 | <Cone/> |
39 | <Appearance> |
40 | <Material diffuseColor='0.0 0.0 1.0'/> |
41 | </Appearance> |
42 | </Shape> |
43 | </Transform> |
44 | <Group> |
45 |
<!-- ROUTE information for ETransform node:
[from ElevatorPI.value_changed to translation
]
-->
<Transform DEF='ETransform'> |
46 |
<!-- ROUTE information for EViewpoint node:
[from TS.isActive to set_bind
]
-->
<Viewpoint DEF='EViewpoint' description='Elevator Viewpoint' jump='false'/> |
47 |
<!-- ROUTE information for EProximity node:
[from enterTime to TS.startTime
]
-->
<ProximitySensor DEF='EProximity' size='2.0 5.0 5.0'/> |
48 | <Transform translation='0.0 -1.0 0.0'> |
49 | <Shape> |
50 | <Box size='2.0 0.2 5.0'/> |
51 | <Appearance> |
52 | <Material/> |
53 | </Appearance> |
54 | </Shape> |
55 | </Transform> |
56 | </Transform> |
57 | </Group> |
58 |
<!-- ROUTE information for ElevatorPI node:
[from TS.fraction_changed to set_fraction
]
[from value_changed to ETransform.translation
]
-->
<PositionInterpolator DEF='ElevatorPI' key='0.0 1.0' keyValue='0.0 0.0 0.0 0.0 8.0 0.0'/> |
59 |
<!-- ROUTE information for TS node:
[from EProximity.enterTime to startTime
]
[from isActive to EViewpoint.set_bind
]
[from fraction_changed to ElevatorPI.set_fraction
]
-->
<TimeSensor DEF='TS' cycleInterval='10.0'/> |
60 | < ROUTE fromNode='EProximity' fromField='enterTime' toNode='TS' toField='startTime'/> |
61 | < ROUTE fromNode='TS' fromField='isActive' toNode='EViewpoint' toField='set_bind'/> |
62 | < ROUTE fromNode='TS' fromField='fraction_changed' toNode='ElevatorPI' toField='set_fraction'/> |
63 | < ROUTE fromNode='ElevatorPI' fromField='value_changed' toNode='ETransform' toField='translation'/> |
64 | </Scene> |
65 | </X3D> |
Event Graph ROUTE Table entries with 4 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.
EProximity
ProximitySensor enterTime SFTime |
TS
TimeSensor startTime SFTime |
then
|
TS
TimeSensor fraction_changed SFFloat |
ElevatorPI
PositionInterpolator set_fraction SFFloat |
then
|
ElevatorPI
PositionInterpolator value_changed SFVec3f |
ETransform
Transform translation SFVec3f |
then
|
TS
TimeSensor isActive SFBool |
EViewpoint
Viewpoint set_bind SFBool |
<!--
Color 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. -->