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