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='title' content=' ExclusionZonePrototype.x3d '/> |
6 | <meta name='description' content='ExclusionZone range markers (zero or three)'/> |
7 | <meta name='creator' content='LT Patrick Sullivan'/> |
8 | <meta name='created' content='27 July 2006'/> |
9 | <meta name='modified' content='28 November 2019'/> |
10 | <meta name=' warning ' content=' change whichChoice field to enabled '/> |
11 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Savage/Tools/Symbology/ExclusionZonePrototype.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='ExclusionZonePrototype.x3d'/> |
17 | <ProtoDeclare name='ExclusionZones'> |
18 | <ProtoInterface> |
19 |
<field name='translation' type='SFVec3f' value='0 1 0' accessType='inputOutput'
appinfo='Usually to raise ranges off the surface'/> |
20 |
<field name='OutterRange' type='SFVec3f' value='1 1 1' accessType='inputOutput'
appinfo='Length in Meters for the radius of the range'/> |
21 |
<field name='MiddleRange' type='SFVec3f' value='1 1 1' accessType='inputOutput'
appinfo='Length in Meters for the radius of the range'/> |
22 |
<field name='InnerRange' type='SFVec3f' value='1 1 1' accessType='inputOutput'
appinfo='Length in Meters for the radius of the range'/> |
23 |
<field name='whichChoice' type='SFInt32' value='-1' accessType='inputOutput'
appinfo='Turns zones on and off'/> |
24 | </ProtoInterface> |
25 | <ProtoBody> |
26 | <Switch whichChoice='-1'> |
27 | <IS> |
28 | <connect nodeField='whichChoice' protoField='whichChoice'/> |
29 | </IS> |
30 | <Transform scale='2 2 2'> |
31 | <IS> |
32 | <connect nodeField='translation' protoField='translation'/> |
33 | </IS> |
34 | <Transform DEF='OutterRange'> |
35 | <IS> |
36 | <connect nodeField='scale' protoField='OutterRange'/> |
37 | </IS> |
38 | <Shape> |
39 | <IndexedLineSet colorPerVertex='false' colorIndex='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0' coordIndex='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33'> |
40 | <Coordinate point='0 0 -1 0.195 0 -0.981 0.382 0 -0.924 0.555 0 -0.832 0.707 0 -0.708 0.831 0 -0.556 0.923 0 -0.383 0.98 0 -0.196 1 0 0 0.98 0 0.195 0.923 0 0.382 0.831 0 0.555 0.707 0 0.707 0.555 0 0.831 0.382 0 0.923 0.195 0 0.98 0 0 1 -0.195 0 0.98 -0.382 0 0.923 -0.555 0 0.831 -0.707 0 0.707 -0.831 0 0.555 -0.923 0 0.382 -0.98 0 0.195 -1 0 0 -0.981 0 -0.195 -0.924 0 -0.382 -0.832 0 -0.555 -0.708 0 -0.707 -0.556 0 -0.831 -0.383 0 -0.923 -0.196 0 -0.98 0 0 -1 0.195 0 -0.981'/> |
41 | <Color color='0 1 0'/> |
42 | </IndexedLineSet> |
43 | </Shape> |
44 | </Transform> |
45 | <Transform DEF='MiddleRange'> |
46 | <IS> |
47 | <connect nodeField='scale' protoField='MiddleRange'/> |
48 | </IS> |
49 | <Shape> |
50 | <IndexedLineSet colorPerVertex='false' colorIndex='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0' coordIndex='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33'> |
51 | <Coordinate point='0 0 -1 0.195 0 -0.981 0.382 0 -0.924 0.555 0 -0.832 0.707 0 -0.708 0.831 0 -0.556 0.923 0 -0.383 0.98 0 -0.196 1 0 0 0.98 0 0.195 0.923 0 0.382 0.831 0 0.555 0.707 0 0.707 0.555 0 0.831 0.382 0 0.923 0.195 0 0.98 0 0 1 -0.195 0 0.98 -0.382 0 0.923 -0.555 0 0.831 -0.707 0 0.707 -0.831 0 0.555 -0.923 0 0.382 -0.98 0 0.195 -1 0 0 -0.981 0 -0.195 -0.924 0 -0.382 -0.832 0 -0.555 -0.708 0 -0.707 -0.556 0 -0.831 -0.383 0 -0.923 -0.196 0 -0.98 0 0 -1 0.195 0 -0.981'/> |
52 | <Color color='1 1 0'/> |
53 | </IndexedLineSet> |
54 | </Shape> |
55 | </Transform> |
56 | <Transform DEF='InnerRange'> |
57 | <IS> |
58 | <connect nodeField='scale' protoField='InnerRange'/> |
59 | </IS> |
60 | <Shape> |
61 | <IndexedLineSet colorPerVertex='false' colorIndex='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0' coordIndex='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33'> |
62 | <Coordinate point='0 0 -1 0.195 0 -0.981 0.382 0 -0.924 0.555 0 -0.832 0.707 0 -0.708 0.831 0 -0.556 0.923 0 -0.383 0.98 0 -0.196 1 0 0 0.98 0 0.195 0.923 0 0.382 0.831 0 0.555 0.707 0 0.707 0.555 0 0.831 0.382 0 0.923 0.195 0 0.98 0 0 1 -0.195 0 0.98 -0.382 0 0.923 -0.555 0 0.831 -0.707 0 0.707 -0.831 0 0.555 -0.923 0 0.382 -0.98 0 0.195 -1 0 0 -0.981 0 -0.195 -0.924 0 -0.382 -0.832 0 -0.555 -0.708 0 -0.707 -0.556 0 -0.831 -0.383 0 -0.923 -0.196 0 -0.98 0 0 -1 0.195 0 -0.981'/> |
63 | <Color color='1 0 0'/> |
64 | </IndexedLineSet> |
65 | </Shape> |
66 | </Transform> |
67 | </Transform> |
68 | </Switch> |
69 | </ProtoBody> |
70 | </ProtoDeclare> |
71 |
<!-- ROUTE information for ZONESTEST node:
[from SwitchSequencer.value_changed to whichChoice
]
-->
<ProtoInstance name='ExclusionZones' DEF='ZONESTEST'> |
72 | <fieldValue name='translation' value='0 0 0'/> |
73 | <fieldValue name='OutterRange' value='100 100 100'/> |
74 | <fieldValue name='MiddleRange' value='50 50 50'/> |
75 | <fieldValue name='InnerRange' value='25 25 25'/> |
76 | </ProtoInstance> |
77 | <Group DEF='SensorGroupDDG77'> |
78 |
<!-- ROUTE information for ZoneTouchSensor node:
[from isActive to SwitchSequencer.next
]
-->
<TouchSensor DEF='ZoneTouchSensor' description='Click for Exclusion Zone Display'/> |
79 |
<!-- ROUTE information for SwitchSequencer node:
[from ZoneTouchSensor.isActive to next
]
[from value_changed to ZONESTEST.whichChoice
]
-->
<IntegerSequencer DEF='SwitchSequencer' key='0 1' keyValue='0 -1'/> |
80 | < ROUTE fromNode='ZoneTouchSensor' fromField='isActive' toNode='SwitchSequencer' toField='next'/> |
81 | < ROUTE fromNode='SwitchSequencer' fromField='value_changed' toNode='ZONESTEST' toField='whichChoice'/> |
82 | </Group> |
83 | </Scene> |
84 | </X3D> |
Event Graph ROUTE Table entries with 2 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.
ZoneTouchSensor
TouchSensor isActive SFBool |
SwitchSequencer
IntegerSequencer next SFBool |
then
|
SwitchSequencer
IntegerSequencer value_changed SFInt32 |
ZONESTEST
ProtoInstance whichChoice SFInt32 |
ZONESTEST
ProtoInstance ExclusionZones |
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. |
<!--
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)
<ProtoInstance name='ProtoName'>
<field
name='fieldName'/> </ProtoInstance>
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->