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=' FortLauderdaleDepthSelection.x3d '/> |
6 | <meta name='description' content='Switch between 80m 40m 20m 10m (no 05m) grid-spacing bathymetry for Fort Lauderdale - Hollywood Beach Florida.'/> |
7 | <meta name='creator' content='Don Brutzman'/> |
8 | <meta name='created' content='25 June 2000'/> |
9 | <meta name='modified' content='20 October 2019'/> |
10 |
<meta name='Image' content='matlabPerspectivePlot.png'![]() |
11 |
<meta name='Image' content='FortLauderdaleBathymetryMontage.png'![]() |
12 | <meta name='reference' content='FortLauderdaleDepths80m.fig'/> |
13 | <meta name='reference' content=' metadata.txt '/> |
14 | <meta name='reference' content=' shallow.xyz.txt '/> |
15 | <meta name='reference' content='convertBathymetryXyzFile.m'/> |
16 | <meta name='reference' content='convertBathymetryXyzFile.out'/> |
17 | <meta name='reference' content='colorValue.m'/> |
18 | <meta name='reference' content='printX3dHeader.m'/> |
19 | <meta name='reference' content='printX3dFooter.m'/> |
20 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Savage/Locations/FortLauderdaleFlorida/FortLauderdaleDepthSelection.x3d '/> |
21 | <meta name='generator' content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/> |
22 | <meta name='license' content='../../license.html'/> |
23 | </head> |
24 | <Scene> |
25 | <WorldInfo title='FortLauderdaleDepthSelection.x3d'/> |
26 | <ProtoDeclare name='WhereAmI'> |
27 | <!-- Viewpoint discovery/debugging in VRML Console window by Leonard Daly http://www.realism.com/Web3D/Examples#Viewpoints http://www.realism.com/vrml/Example/WhereAmI/WhereAmI_Proto.wrl --> |
28 | <ProtoBody> |
29 |
<!-- ROUTE information for Where node:
[from position_changed to WhereDump.position
]
[from orientation_changed to WhereDump.orientation
]
-->
<ProximitySensor DEF='Where' size='1000000000 1000000000 1000000000'/> |
30 | <!-- hey it's a big old world out there! --> |
31 |
<!-- ROUTE information for WhereDump node:
[from Where.position_changed to position
]
[from Where.orientation_changed to orientation
]
-->
<Script DEF='WhereDump'> |
32 | <field name='position' type='SFVec3f' accessType='inputOnly'/> |
33 | <field name='orientation' type='SFRotation' accessType='inputOnly'/> |
<![CDATA[
ecmascript: function position (value) { Browser.println ('Position (X,Y,Z) = ' + value[0] + ', ' + value[1] + ', ' + value[2]); } function orientation (value) { Browser.println ('Orientation (X,Y,Z,R) = ' + value[0] + ', ' + value[1] + ', ' + value[2] + ', ' + value[3]); }
]]>
|
|
35 | </Script> |
36 | < ROUTE fromNode='Where' fromField='position_changed' toNode='WhereDump' toField='position'/> |
37 | < ROUTE fromNode='Where' fromField='orientation_changed' toNode='WhereDump' toField='orientation'/> |
38 | </ProtoBody> |
39 | </ProtoDeclare> |
40 | <!-- ### Comment/uncomment the following WhereAmI node to disable/enable this feature ### --> |
41 | <ProtoInstance name='WhereAmI'/> |
42 | <!-- NavigationInfo: increased speed for responsiveness, increased collision boundary to eliminate aliasing --> |
43 | <NavigationInfo avatarSize='4 1.6 0.75' speed='100' type='"EXAMINE" "WALK" "ANY"'/> |
44 | <Transform translation='8200 500 1600'> |
45 | <Viewpoint description='Select spacing bathymetry grid' orientation='0 1 0 1.57079' position='10 -2 0'/> |
46 | <Billboard> |
47 | <Shape> |
48 | <Text string='"Select bathymetry grid spacing"'> |
49 | <FontStyle justify='"MIDDLE" "MIDDLE"'/> |
50 | </Text> |
51 | <Appearance> |
52 | <Material diffuseColor='.8 .8 0'/> |
53 | </Appearance> |
54 | </Shape> |
55 | <Transform translation='0 -1.5 0'> |
56 | <Transform translation='-6 0 0'> |
57 |
<!-- ROUTE information for TOUCH_80m node:
[from isActive to BATHYMETRY_RESOLUTION.touched80m
]
-->
<TouchSensor DEF='TOUCH_80m' description='touch to activate'/> |
58 | <Shape> |
59 | <Text string='"80m"'> |
60 | <FontStyle justify='"MIDDLE" "MIDDLE"'/> |
61 | </Text> |
62 | <Appearance> |
63 |
<!-- ROUTE information for MATERIAL_80m node:
[from BATHYMETRY_RESOLUTION.color80m to diffuseColor
]
-->
<Material DEF='MATERIAL_80m' diffuseColor='0 .8 0'/> |
64 | </Appearance> |
65 | </Shape> |
66 |
<!-- Shape
TransparentSelectionBox is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<Shape DEF='TransparentSelectionBox'> |
67 | <Box size='1.6 1 0.001'/> |
68 | <Appearance> |
69 | <Material transparency='1'/> |
70 | </Appearance> |
71 | </Shape> |
72 | </Transform> |
73 | <Transform translation='-3.5 0 0'> |
74 |
<!-- ROUTE information for TOUCH_40m node:
[from isActive to BATHYMETRY_RESOLUTION.touched40m
]
-->
<TouchSensor DEF='TOUCH_40m' description='touch to activate'/> |
75 | <Shape> |
76 | <Text string='"40m"'> |
77 | <FontStyle justify='"MIDDLE" "MIDDLE"'/> |
78 | </Text> |
79 | <Appearance> |
80 |
<!-- ROUTE information for MATERIAL_40m node:
[from BATHYMETRY_RESOLUTION.color40m to diffuseColor
]
-->
<Material DEF='MATERIAL_40m' diffuseColor='.8 0 0'/> |
81 | </Appearance> |
82 | </Shape> |
83 | <Shape USE='TransparentSelectionBox'/> |
84 | </Transform> |
85 | <Transform translation='-1 0 0'> |
86 |
<!-- ROUTE information for TOUCH_20m node:
[from isActive to BATHYMETRY_RESOLUTION.touched20m
]
-->
<TouchSensor DEF='TOUCH_20m' description='touch to activate'/> |
87 | <Shape> |
88 | <Text string='"20m"'> |
89 | <FontStyle justify='"MIDDLE" "MIDDLE"'/> |
90 | </Text> |
91 | <Appearance> |
92 |
<!-- ROUTE information for MATERIAL_20m node:
[from BATHYMETRY_RESOLUTION.color20m to diffuseColor
]
-->
<Material DEF='MATERIAL_20m' diffuseColor='.8 0 0'/> |
93 | </Appearance> |
94 | </Shape> |
95 | <Shape USE='TransparentSelectionBox'/> |
96 | </Transform> |
97 | <Transform translation='1.5 0 0'> |
98 |
<!-- ROUTE information for TOUCH_10m node:
[from isActive to BATHYMETRY_RESOLUTION.touched10m
]
-->
<TouchSensor DEF='TOUCH_10m' description='touch to activate'/> |
99 | <Shape> |
100 | <Text string='"10m"'> |
101 | <FontStyle justify='"MIDDLE" "MIDDLE"'/> |
102 | </Text> |
103 | <Appearance> |
104 |
<!-- ROUTE information for MATERIAL_10m node:
[from BATHYMETRY_RESOLUTION.color10m to diffuseColor
]
-->
<Material DEF='MATERIAL_10m' diffuseColor='.8 0 0'/> |
105 | </Appearance> |
106 | </Shape> |
107 | <Shape USE='TransparentSelectionBox'/> |
108 | </Transform> |
109 | <Transform translation='4 0 0'> |
110 |
<!-- ROUTE information for TOUCH_05m node:
[from isActive to BATHYMETRY_RESOLUTION.touched05m
]
-->
<TouchSensor DEF='TOUCH_05m' description='touch to activate'/> |
111 | <Shape> |
112 | <Text string='"(no 5m)"'> |
113 | <FontStyle justify='"MIDDLE" "MIDDLE"'/> |
114 | </Text> |
115 | <Appearance> |
116 |
<!-- ROUTE information for MATERIAL_05m node:
[from BATHYMETRY_RESOLUTION.color05m to diffuseColor
]
-->
<Material DEF='MATERIAL_05m' diffuseColor='.8 0 0'/> |
117 | </Appearance> |
118 | </Shape> |
119 | </Transform> |
120 | </Transform> |
121 | </Billboard> |
122 | </Transform> |
123 |
<!-- ROUTE information for BATHYMETRY_SWITCH node:
[from BATHYMETRY_RESOLUTION.selection to whichChoice
]
-->
<Switch DEF='BATHYMETRY_SWITCH' whichChoice='0'> |
124 | <Inline url=' "FortLauderdaleDepths80m.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Locations/FortLauderdaleFlorida/FortLauderdaleDepths80m.x3d" "FortLauderdaleDepths80m.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Locations/FortLauderdaleFlorida/FortLauderdaleDepths80m.wrl" '/> |
125 | <Inline url=' "FortLauderdaleDepths40m.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Locations/FortLauderdaleFlorida/FortLauderdaleDepths40m.x3d" "FortLauderdaleDepths40m.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Locations/FortLauderdaleFlorida/FortLauderdaleDepths40m.wrl" '/> |
126 | <Inline url=' "FortLauderdaleDepths20m.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Locations/FortLauderdaleFlorida/FortLauderdaleDepths20m.x3d" "FortLauderdaleDepths20m.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Locations/FortLauderdaleFlorida/FortLauderdaleDepths20m.wrl" '/> |
127 | <Inline url=' "FortLauderdaleDepths10m.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Locations/FortLauderdaleFlorida/FortLauderdaleDepths10m.x3d" "FortLauderdaleDepths10m.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Locations/FortLauderdaleFlorida/FortLauderdaleDepths10m.wrl" '/> |
128 | </Switch> |
129 |
<!-- ROUTE information for BATHYMETRY_RESOLUTION node:
[from TOUCH_80m.isActive to touched80m
]
[from TOUCH_40m.isActive to touched40m
]
[from TOUCH_20m.isActive to touched20m
]
[from TOUCH_10m.isActive to touched10m
]
[from TOUCH_05m.isActive to touched05m
]
[from selection to BATHYMETRY_SWITCH.whichChoice
]
[from color80m to MATERIAL_80m.diffuseColor
]
[from color40m to MATERIAL_40m.diffuseColor
]
[from color20m to MATERIAL_20m.diffuseColor
]
[from color10m to MATERIAL_10m.diffuseColor
]
[from color05m to MATERIAL_05m.diffuseColor
]
-->
<Script DEF='BATHYMETRY_RESOLUTION'> |
130 | <field name='touched80m' type='SFBool' accessType='inputOnly'/> |
131 | <field name='touched40m' type='SFBool' accessType='inputOnly'/> |
132 | <field name='touched20m' type='SFBool' accessType='inputOnly'/> |
133 | <field name='touched10m' type='SFBool' accessType='inputOnly'/> |
134 | <field name='selection' type='SFInt32' accessType='outputOnly'/> |
135 | <field name='color80m' type='SFColor' accessType='outputOnly'/> |
136 | <field name='color40m' type='SFColor' accessType='outputOnly'/> |
137 | <field name='color20m' type='SFColor' accessType='outputOnly'/> |
138 | <field name='color10m' type='SFColor' accessType='outputOnly'/> |
139 | <field name='color05m' type='SFColor' accessType='outputOnly'/> |
140 | <field name='touched05m' type='SFBool' accessType='inputOnly'/> |
<![CDATA[
ecmascript: // only react to 'true' TouchSensor events, cut computation of normals etc. in half function touched80m (value, ts) { if (value == true) { selection = 0; color80m = new SFColor (0, .8, 0); color40m = new SFColor (.8, 0, 0); color20m = new SFColor (.8, 0, 0); color10m = new SFColor (.8, 0, 0); color05m = new SFColor (.8, 0, 0); } } function touched40m (value, ts) { if (value == true) { selection = 1; color80m = new SFColor (.8, 0, 0); color40m = new SFColor (0, .8, 0); color20m = new SFColor (.8, 0, 0); color10m = new SFColor (.8, 0, 0); color05m = new SFColor (.8, 0, 0); } } function touched20m (value, ts) { if (value == true) { selection = 2; color80m = new SFColor (.8, 0, 0); color40m = new SFColor (.8, 0, 0); color20m = new SFColor (0, .8, 0); color10m = new SFColor (.8, 0, 0); color05m = new SFColor (.8, 0, 0); } } function touched10m (value, ts) { if (value == true) { selection = 3; color80m = new SFColor (.8, 0, 0); color40m = new SFColor (.8, 0, 0); color20m = new SFColor (.8, 0, 0); color10m = new SFColor (0, .8, 0); color05m = new SFColor (.8, 0, 0); } } function touched05m (value, ts) { Browser.println ('05m dataset not available...'); // goes to VRML console only, not scene }
]]>
|
|
142 | </Script> |
143 | < ROUTE fromNode='TOUCH_80m' fromField='isActive' toNode='BATHYMETRY_RESOLUTION' toField='touched80m'/> |
144 | < ROUTE fromNode='TOUCH_40m' fromField='isActive' toNode='BATHYMETRY_RESOLUTION' toField='touched40m'/> |
145 | < ROUTE fromNode='TOUCH_20m' fromField='isActive' toNode='BATHYMETRY_RESOLUTION' toField='touched20m'/> |
146 | < ROUTE fromNode='TOUCH_10m' fromField='isActive' toNode='BATHYMETRY_RESOLUTION' toField='touched10m'/> |
147 | < ROUTE fromNode='TOUCH_05m' fromField='isActive' toNode='BATHYMETRY_RESOLUTION' toField='touched05m'/> |
148 | < ROUTE fromNode='BATHYMETRY_RESOLUTION' fromField='selection' toNode='BATHYMETRY_SWITCH' toField='whichChoice'/> |
149 | < ROUTE fromNode='BATHYMETRY_RESOLUTION' fromField='color80m' toNode='MATERIAL_80m' toField='diffuseColor'/> |
150 | < ROUTE fromNode='BATHYMETRY_RESOLUTION' fromField='color40m' toNode='MATERIAL_40m' toField='diffuseColor'/> |
151 | < ROUTE fromNode='BATHYMETRY_RESOLUTION' fromField='color20m' toNode='MATERIAL_20m' toField='diffuseColor'/> |
152 | < ROUTE fromNode='BATHYMETRY_RESOLUTION' fromField='color10m' toNode='MATERIAL_10m' toField='diffuseColor'/> |
153 | < ROUTE fromNode='BATHYMETRY_RESOLUTION' fromField='color05m' toNode='MATERIAL_05m' toField='diffuseColor'/> |
154 | </Scene> |
155 | </X3D> |
Event Graph ROUTE Table entries with 13 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.
TOUCH_05m
TouchSensor isActive SFBool |
BATHYMETRY_RESOLUTION
Script touched05m SFBool |
then
|
BATHYMETRY_RESOLUTION
Script color05m SFColor |
MATERIAL_05m
Material diffuseColor SFColor |
||
then
|
BATHYMETRY_RESOLUTION
Script color10m SFColor |
MATERIAL_10m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color20m SFColor |
MATERIAL_20m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color40m SFColor |
MATERIAL_40m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color80m SFColor |
MATERIAL_80m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script selection SFInt32 |
BATHYMETRY_SWITCH
Switch whichChoice SFInt32 |
TOUCH_10m
TouchSensor isActive SFBool |
BATHYMETRY_RESOLUTION
Script touched10m SFBool |
then
|
BATHYMETRY_RESOLUTION
Script color05m SFColor |
MATERIAL_05m
Material diffuseColor SFColor |
||
then
|
BATHYMETRY_RESOLUTION
Script color10m SFColor |
MATERIAL_10m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color20m SFColor |
MATERIAL_20m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color40m SFColor |
MATERIAL_40m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color80m SFColor |
MATERIAL_80m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script selection SFInt32 |
BATHYMETRY_SWITCH
Switch whichChoice SFInt32 |
TOUCH_20m
TouchSensor isActive SFBool |
BATHYMETRY_RESOLUTION
Script touched20m SFBool |
then
|
BATHYMETRY_RESOLUTION
Script color05m SFColor |
MATERIAL_05m
Material diffuseColor SFColor |
||
then
|
BATHYMETRY_RESOLUTION
Script color10m SFColor |
MATERIAL_10m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color20m SFColor |
MATERIAL_20m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color40m SFColor |
MATERIAL_40m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color80m SFColor |
MATERIAL_80m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script selection SFInt32 |
BATHYMETRY_SWITCH
Switch whichChoice SFInt32 |
TOUCH_40m
TouchSensor isActive SFBool |
BATHYMETRY_RESOLUTION
Script touched40m SFBool |
then
|
BATHYMETRY_RESOLUTION
Script color05m SFColor |
MATERIAL_05m
Material diffuseColor SFColor |
||
then
|
BATHYMETRY_RESOLUTION
Script color10m SFColor |
MATERIAL_10m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color20m SFColor |
MATERIAL_20m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color40m SFColor |
MATERIAL_40m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color80m SFColor |
MATERIAL_80m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script selection SFInt32 |
BATHYMETRY_SWITCH
Switch whichChoice SFInt32 |
TOUCH_80m
TouchSensor isActive SFBool |
BATHYMETRY_RESOLUTION
Script touched80m SFBool |
then
|
BATHYMETRY_RESOLUTION
Script color05m SFColor |
MATERIAL_05m
Material diffuseColor SFColor |
||
then
|
BATHYMETRY_RESOLUTION
Script color10m SFColor |
MATERIAL_10m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color20m SFColor |
MATERIAL_20m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color40m SFColor |
MATERIAL_40m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script color80m SFColor |
MATERIAL_80m
Material diffuseColor SFColor |
||||
then
|
BATHYMETRY_RESOLUTION
Script selection SFInt32 |
BATHYMETRY_SWITCH
Switch whichChoice SFInt32 |
Where
ProximitySensor position_changed SFVec3f |
WhereDump
Script position SFVec3f |
|
Where
ProximitySensor orientation_changed SFRotation |
WhereDump
Script orientation SFRotation |
line 41
ProtoInstance WhereAmI |
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.
-->