X3D Model Documentation: DicassPrototype.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "https://www.web3d.org/specifications/x3d-3.2.dtd">
  3  <X3D profile='Immersive' version='3.2 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.2.xsd'>
  4       <head>
  5            <meta name='titlecontent=' DicassPrototype.x3d '/>
  6            <meta name='descriptioncontent='AN/SSQ-62B/C/D/E Directional Command Activated Sonobuoy System (DICASS) Sonobuoy'/>
  7            <meta name='coordinateSystemcontent='x=East, z=North, y=Up'/>
  8            <meta name='creatorcontent='Don Brutzman, Patrick Burton'/>
  9            <meta name='createdcontent='30 January 2003'/>
 10            <meta name='modifiedcontent='20 October 2019'/>
 11            <meta name='referencecontent=' DICASS-an-ssq-62.pdf '/>
 12            <meta name='referencecontent=' https://www.fas.org/man/dod-101/sys/ship/weaps/an-ssq-62.htm '/>
 13            <meta name='referencecontent='NAVY TRAINING SYSTEM PLAN FOR THE NAVY CONSOLIDATED SONOBUOYS N88-NTSP-A-50-8910B/A SEPTEMBER 1998'/>
 14            <meta name='referencecontent=' ntsp-Sonobuoy.pdf '/>
 15            <meta name='referencecontent=' https://www.fas.org/man/dod-101/sys/ship/weaps/docs/ntsp-Sonobuoy.pdf '/>
 16            <meta name='referencecontent='http://www.avtechtra.navy.mil/pdf/Sonobuoys_a.PDF'/>
 17            <meta name='referencecontent=' http://www.ultra-scs.com/sonobuoys/dicass.htm '/>
 18            <meta name='referencecontent='http://www.ultra-ussg.com/company/sonobuoy_history.cfm'/>
 19            <meta name='subjectcontent='DICASS sonobuoy'/>
 20            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/DicassPrototype.x3d '/>
 21            <meta name='generatorcontent='X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 22            <meta name='licensecontent='../../license.html'/>
 23       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: AnimationGroup, AquaTealBackground, BuoyBody, BuoyID, BuoyLabel, BuoyPosition, BuoyViewpoint, CloseUpView, DescriptionTextGroup, Invisible, LinkTextAnchor, LinkTextGroup, LinkTextNode, LocationScript, Maroon, PingAudioClip, PingClock, PingControl, PingSound, RangeInterpolator, SonarBeamHemisphere, TextLabelOffset, TextTouch, TransparencyInterpolator, ViewpointControl

Index for Viewpoint nodes: Viewpoint_1, BuoyViewpoint

Index for ExternProtoDeclare definition: BeamHemisphere

Index for ProtoDeclare definition: DICASS
-->
 24       <Scene>
 25            <ExternProtoDeclare name='BeamHemisphereappinfo='Produce wireframe or transparent beam hemisphere. Typical uses include sonar/radar/light beams. Negative range values invert base and apex at same relative location. Default: hemisphere with centroid at (0 0 0) and radius 1 atop x-z plane.'   url=' "../../CommunicationsAndSensors/Beam/BeamHemispherePrototype.x3d#BeamHemisphere" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Beam/BeamHemispherePrototype.x3d#BeamHemisphere" "../../CommunicationsAndSensors/Beam/BeamHemispherePrototype.wrl#BeamHemisphere" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Beam/BeamHemispherePrototype.wrl#BeamHemisphere" '>
 26                 <field name='contacttype='SFBoolaccessType='inputOnly'
                appinfo='(communications) is transmitted signal in contact with receiver or (sensor) is a target return detected?'/>
 27                 <field name='rangetype='SFFloataccessType='inputOnly'
                appinfo='distance in meters along x axis'/>
 28                 <field name='defaultRangetype='SFFloataccessType='initializeOnly'
                appinfo='distance in meters used until eventIn range sent'/>
 29                 <field name='wireframetype='SFBoolaccessType='initializeOnly'
                appinfo='whether wireframe beam is drawn'/>
 30                 <field name='solidtype='SFBoolaccessType='initializeOnly'
                appinfo='whether solid beam is drawn'/>
 31                 <field name='contactColortype='SFColoraccessType='initializeOnly'
                appinfo='rendering color when contact=true'/>
 32                 <field name='noContactColortype='SFColoraccessType='initializeOnly'
                appinfo='rendering color when contact=false'/>
 33                 <field name='transparencytype='SFFloataccessType='inputOutput'
                appinfo='1 = fully transparent wireframe only'/>
 34            </ExternProtoDeclare>
 35            <ProtoDeclare name='DICASSappinfo='AN/SSQ-62B/C/D/E Directional Command Activated Sonobuoy System (DICASS) Sonobuoy'>
 36                 <ProtoInterface>
 37                      <field name='IDtype='MFStringvalue='"missingID"accessType='inputOutput'
                     appinfo='identifier label for this buoy'/>
 38                      <field name='versiontype='SFStringvalue='AN/SSQ-62BaccessType='initializeOnly'
                     appinfo='default value: AN/SSQ-62B'/>
 39                      <field name='initialPositionXZtype='SFVec2fvalue='0 0accessType='initializeOnly'
                     appinfo='local surface coordinates X=North Z=East'/>
 40                      <field name='orderedPositionXZtype='SFVec2faccessType='inputOnly'
                     appinfo='local surface coordinates X=North Z=East'/>
 41                      <field name='initialDepthtype='SFFloatvalue='-10accessType='initializeOnly'
                     appinfo='meters depth use negative numbers for subsurface'/>
 42                      <field name='orderedDepthtype='SFFloataccessType='inputOnly'
                     appinfo='meters depth use negative numbers for subsurface'/>
 43                      <field name='bindViewpointtype='SFBoolaccessType='inputOnly'
                     appinfo='trigger event to bind/unbind viewpoint'/>
 44                      <field name='location_changedtype='SFVec3faccessType='outputOnly'
                     appinfo='local coordinates X=North Y=altitude Z=East'/>
 45                      <field name='maxRangetype='SFFloatvalue='1000accessType='initializeOnly'
                     appinfo='maximum audible sonar detection range meters'/>
 46                      <field name='pingDurationtype='SFTimeaccessType='outputOnly'
                     appinfo='pingDuration corresponds to maxRange at 1500m/sec sound speed'/>
 47                      <field name='soundSpeedtype='SFFloatvalue='1500accessType='initializeOnly'
                     appinfo='in-water sound speed m/s, default value 1500'
                     documentation='https://en.wikipedia.org/wiki/Speed_of_sound#Seawater'/>
 48                      <field name='startPingtype='SFBoolaccessType='inputOnly'
                     appinfo='trigger event to start single ping'/>
 49                      <field name='startContinuousPingstype='SFBoolaccessType='inputOnly'
                     appinfo='trigger event to start continuous ping sequence'/>
 50                      <field name='linkTexttype='MFStringaccessType='inputOutput'
                     appinfo='Can add linkable text for further information'/>
 51                      <field name='linkUrltype='MFStringaccessType='inputOutput'
                     appinfo='url for linkable text'/>
 52                      <field name='linkTargetWindowtype='MFStringaccessType='inputOutput'
                     appinfo='target window for linkable text'/>
 53                 </ProtoInterface>
 54                 <ProtoBody>
 55                      <Group>
 56 
                         <!-- ROUTE information for BuoyPosition node:  [from LocationScript.newLocation to set_translation ] -->
                         <Transform DEF='BuoyPosition'>
 57 
                              <!-- Viewpoint BuoyViewpoint is a DEF node that has 1 USE node: USE_1 -->
                              <Viewpoint DEF='BuoyViewpointdescription='DICASS buoy'>
 58                                     <!-- ViewpointControl initialize() updates description to include ID -->
 59                                </Viewpoint>
 60                                <LOD range='1000 5000'>
 61                                     <Group DEF='CloseUpView'>
 62                                          <Transform translation='0 0.25 0'>
 63                                               <Shape DEF='BuoyBody'>
 64                                                    <Cylinder radius='0.1'/>
 65                                                    <Appearance>
 66 
                                                       <!-- Material Maroon is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                                                       <Material DEF='MaroondiffuseColor='0.5 0 0'/>
 67                                                         <ImageTexture   url=' "DICASSphoto.png " "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/DICASSphoto.png " '/>
 68                                                    </Appearance>
 69                                               </Shape>
 70                                          </Transform>
 71                                          <Group DEF='LinkTextGroup'>
 72                                               <Transform translation='0 -1 0'>
 73                                                    <Billboard axisOfRotation='0 0 0'>
 74                                                         <Anchor DEF='LinkTextAnchordescription='click this text for link'>
 75                                                              <IS>
 76                                                                   <connect nodeField='urlprotoField='linkUrl'/>
 77                                                                   <connect nodeField='parameterprotoField='linkTargetWindow'/>
 78                                                              </IS>
 79                                                              <Shape>
 80                                                                   <Appearance>
 81                                                                        <Material diffuseColor='0.6 0.6 0.1'/>
 82                                                                   </Appearance>
 83                                                                   <Text DEF='LinkTextNode'>
 84                                                                        <IS>
 85                                                                             <connect nodeField='stringprotoField='linkText'/>
 86                                                                        </IS>
 87                                                                        <FontStyle justify='"MIDDLE" "BEGIN"size='0.3'/>
 88                                                                   </Text>
 89                                                              </Shape>
 90                                                         </Anchor>
 91                                                    </Billboard>
 92                                               </Transform>
 93                                          </Group>
 94                                     </Group>
 95                                     <Group DEF='DescriptionTextGroup'>
 96                                          <Billboard axisOfRotation='0 0 0'>
 97 
                                             <!-- ROUTE information for TextTouch node:  [from isActive to ViewpointControl.bindViewpoint ] -->
                                             <TouchSensor DEF='TextTouchdescription='click and hold to view sonobuoy data'/>
 98                                               <Shape>
 99                                                    <Appearance>
100                                                         <Material USE='Maroon'/>
101                                                    </Appearance>
102                                                    <Text DEF='BuoyID'>
103                                                         <IS>
104                                                              <connect nodeField='stringprotoField='ID'/>
105                                                         </IS>
106                                                         <FontStyle justify='"MIDDLE" "BEGIN"'/>
107                                                    </Text>
108                                               </Shape>
109                                          </Billboard>
110                                          <!-- make text touchable at a distance, allows closeup viewing of DICASS and label data -->
111                                          <Shape>
112                                               <Appearance>
113                                                    <Material DEF='Invisibletransparency='1'/>
114                                               </Appearance>
115                                               <Box size='.1 .1 .1'/>
116                                          </Shape>
117                                     </Group>
118                                     <WorldInfo info='"null node, no text at long range"'/>
119                                </LOD>
120                                <Transform DEF='TextLabelOffsettranslation='0 2 0'>
121                                     <LOD range='50'>
122                                          <Billboard axisOfRotation='0 0 0'>
123                                               <Shape>
124                                                    <Appearance>
125                                                         <Material USE='Maroon'/>
126                                                    </Appearance>
127 
                                                  <!-- ROUTE information for BuoyLabel node:  [from LocationScript.newBuoyLabel to string ] -->
                                                  <Text DEF='BuoyLabel'>
128                                                         <FontStyle justify='"MIDDLE" "MIDDLE"size='0.3'/>
129                                                    </Text>
130                                               </Shape>
131                                          </Billboard>
132                                          <WorldInfo info='"null node, no text at long range"'/>
133                                     </LOD>
134                                </Transform>
135 
                              <!-- ROUTE information for SonarBeamHemisphere node:  [from RangeInterpolator.value_changed to range ] [from TransparencyInterpolator.value_changed to transparency ] [from PingControl.initializeHemisphereRange to range ] -->
                              <ProtoInstance name='BeamHemisphereDEF='SonarBeamHemisphere'>
136                                     <fieldValue name='defaultRangevalue='10'/>
137                                     <fieldValue name='transparencyvalue='1'/>
138                                     <fieldValue name='wireframevalue='true'/>
139                                     <fieldValue name='solidvalue='true'/>
140                                </ProtoInstance>
141                                <!-- Needed: time-delay prototype gated by distance and speed of sound through medium. -->
142                                <Sound DEF='PingSoundmaxBack='10000maxFront='10000'>
143 
                                   <!-- ROUTE information for PingAudioClip node:  [from PingControl.startTime to startTime ] [from PingClock.cycleTime to startTime ] -->
                                   <AudioClip DEF='PingAudioClipdescription='representative sonar ping'   url=' "sonarPing.wav" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/sonarPing.wav" '/>
144                                </Sound>
145                           </Transform>
146                           <!-- nonrendering controllers -->
147 
                         <!-- ROUTE information for LocationScript node:  [from newLocation to BuoyPosition.set_translation ] [from newBuoyLabel to BuoyLabel.string ] -->
                         <Script DEF='LocationScript'   url=' "DicassPrototypeScriptLocation.js" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/DicassPrototypeScriptLocation.js" '>
148                                <field name='IDtype='MFStringaccessType='inputOutput'/>
149                                <field name='versiontype='SFStringaccessType='initializeOnly'/>
150                                <field name='initialPositionXZtype='SFVec2faccessType='initializeOnly'/>
151                                <field name='orderedPositionXZtype='SFVec2faccessType='inputOnly'/>
152                                <field name='initialDepthtype='SFFloataccessType='initializeOnly'/>
153                                <field name='orderedDepthtype='SFFloataccessType='inputOnly'/>
154                                <field name='newLocationtype='SFVec3faccessType='outputOnly'/>
155                                <field name='newBuoyLabeltype='MFStringaccessType='outputOnly'/>
156                                <field name='traceEnabledtype='SFBoolvalue='trueaccessType='initializeOnly'
                               appinfo='set Script to verbose mode by enabling console trace statements'/>
157                                <IS>
158                                     <connect nodeField='IDprotoField='ID'/>
159                                     <connect nodeField='versionprotoField='version'/>
160                                     <connect nodeField='initialPositionXZprotoField='initialPositionXZ'/>
161                                     <connect nodeField='orderedPositionXZprotoField='orderedPositionXZ'/>
162                                     <connect nodeField='initialDepthprotoField='initialDepth'/>
163                                     <connect nodeField='orderedDepthprotoField='orderedDepth'/>
164                                     <connect nodeField='newLocationprotoField='location_changed'/>
165                                </IS>
166                           </Script>
167                           < ROUTE  fromNode='LocationScript' fromField='newLocation' toNode='BuoyPosition' toField='set_translation'/>
168                           < ROUTE  fromNode='LocationScript' fromField='newBuoyLabel' toNode='BuoyLabel' toField='string'/>
169 
                         <!-- ROUTE information for ViewpointControl node:  [from TextTouch.isActive to bindViewpoint ] -->
                         <Script DEF='ViewpointControldirectOutput='true'   url=' "DicassPrototypeScriptViewpointControl.js" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/DicassPrototypeScriptViewpointControl.js" '>
170                                <field name='IDtype='MFStringaccessType='inputOutput'/>
171                                <field name='LocalViewpointtype='SFNodeaccessType='initializeOnly'>
172                                     <Viewpoint USE='BuoyViewpoint'/>
173                                </field>
174                                <field name='viewpointDescriptiontype='SFStringaccessType='outputOnly'/>
175                                <field name='bindViewpointtype='SFBoolaccessType='inputOnly'/>
176                                <field name='traceEnabledtype='SFBoolvalue='trueaccessType='initializeOnly'
                               appinfo='set Script to verbose mode by enabling console trace statements'/>
177                                <IS>
178                                     <connect nodeField='IDprotoField='ID'/>
179                                     <connect nodeField='bindViewpointprotoField='bindViewpoint'/>
180                                </IS>
181                           </Script>
182                           <!-- <ROUTE fromField='viewpointDescription' fromNode='ViewpointControl' toField='description' toNode='BuoyViewpoint'/> -->
183                           < ROUTE  fromNode='TextTouch' fromField='isActive' toNode='ViewpointControl' toField='bindViewpoint'/>
184                           <Group DEF='AnimationGroup'>
185 
186 
                              <!-- ROUTE information for RangeInterpolator node:  [from PingClock.fraction_changed to set_fraction ] [from PingControl.keyValueRangeInterpolator to keyValue ] [from value_changed to SonarBeamHemisphere.range ] -->
                              <ScalarInterpolator DEF='RangeInterpolatorkey='0 0.1 0.6 0.6 1keyValue='0.01 0.01 1000 0 0'/>
187                                < ROUTE  fromNode='PingClock' fromField='fraction_changed' toNode='RangeInterpolator' toField='set_fraction'/>
188                                < ROUTE  fromNode='RangeInterpolator' fromField='value_changed' toNode='SonarBeamHemisphere' toField='range'/>
189                                <!-- maintain opaque until mid range, then go transparent to indicate active detection not feasible -->
190 
                              <!-- ROUTE information for TransparencyInterpolator node:  [from PingClock.fraction_changed to set_fraction ] [from value_changed to SonarBeamHemisphere.transparency ] -->
                              <ScalarInterpolator DEF='TransparencyInterpolatorkey='0 0.35 0.5 1keyValue='0.2 0.2 1 0'/>
191                                < ROUTE  fromNode='PingClock' fromField='fraction_changed' toNode='TransparencyInterpolator' toField='set_fraction'/>
192                                < ROUTE  fromNode='TransparencyInterpolator' fromField='value_changed' toNode='SonarBeamHemisphere' toField='transparency'/>
193                           </Group>
194 
195                                <field name='IDtype='MFStringaccessType='inputOutput'/>
196                                <field name='maxRangetype='SFFloataccessType='initializeOnly'/>
197                                <field name='soundSpeedtype='SFFloataccessType='initializeOnly'/>
198                                <field name='pingDurationtype='SFTimeaccessType='outputOnly'
                               appinfo='pingDuration corresponds to maxRange at 1500m/sec sound speed'/>
199                                <field name='cycleIntervaltype='SFTimeaccessType='outputOnly'
                               appinfo='duration between successive pings is twice pingInterval'/>
200                                <field name='keyValueRangeInterpolatortype='MFFloataccessType='outputOnly'/>
201                                <field name='initializeHemisphereRangetype='SFFloataccessType='outputOnly'/>
202                                <field name='startPingtype='SFBoolaccessType='inputOnly'/>
203                                <field name='startContinuousPingstype='SFBoolaccessType='inputOnly'/>
204                                <field name='startTimetype='SFTimeaccessType='outputOnly'/>
205                                <field name='looptype='SFBoolaccessType='outputOnly'/>
206                                <field name='traceEnabledtype='SFBoolvalue='trueaccessType='initializeOnly'
                               appinfo='set Script to verbose mode by enabling console trace statements'/>
207                                <IS>
208                                     <connect nodeField='IDprotoField='ID'/>
209                                     <connect nodeField='maxRangeprotoField='maxRange'/>
210                                     <connect nodeField='soundSpeedprotoField='soundSpeed'/>
211                                     <connect nodeField='pingDurationprotoField='pingDuration'/>
212                                     <connect nodeField='startPingprotoField='startPing'/>
213                                     <connect nodeField='startContinuousPingsprotoField='startContinuousPings'/>
214                                </IS>
215                           </Script>
216                           < ROUTE  fromNode='PingControl' fromField='cycleInterval' toNode='PingClock' toField='cycleInterval'/>
217                           < ROUTE  fromNode='PingControl' fromField='keyValueRangeInterpolator' toNode='RangeInterpolator' toField='keyValue'/>
218                           < ROUTE  fromNode='PingControl' fromField='initializeHemisphereRange' toNode='SonarBeamHemisphere' toField='range'/>
219                           < ROUTE  fromNode='PingControl' fromField='loop' toNode='PingClock' toField='loop'/>
220                           < ROUTE  fromNode='PingControl' fromField='startTime' toNode='PingClock' toField='startTime'/>
221                           < ROUTE  fromNode='PingControl' fromField='startTime' toNode='PingAudioClip' toField='startTime'/>
222                           < ROUTE  fromNode='PingClock' fromField='cycleTime' toNode='PingAudioClip' toField='startTime'/>
223                      </Group>
224                 </ProtoBody>
225            </ProtoDeclare>
226            <!-- Rendered scene begins here -->
227            <Background DEF='AquaTealBackgroundgroundColor='0.0 0.25 0.25skyColor='0 1 1'/>
228            <NavigationInfo speed='10'/>
229            <Anchor description='Dicass Example'   url=' "DicassExample.x3d" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/DicassExample.x3d" "DicassExample.wrl" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/DicassExample.wrl" '>
230                 <Shape>
231                      <Text string='"DicassPrototype is a" "sonobuoy prototype" "" "Click text to see" "DicassExample"'>
232                           <FontStyle justify='"MIDDLE" "MIDDLE"size='0.9'/>
233                      </Text>
234                      <Appearance>
235                           <Material diffuseColor='0.5 0.5 0.1'/>
236                      </Appearance>
237                 </Shape>
238            </Anchor>
239       </Scene>
240  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: AnimationGroup, AquaTealBackground, BuoyBody, BuoyID, BuoyLabel, BuoyPosition, BuoyViewpoint, CloseUpView, DescriptionTextGroup, Invisible, LinkTextAnchor, LinkTextGroup, LinkTextNode, LocationScript, Maroon, PingAudioClip, PingClock, PingControl, PingSound, RangeInterpolator, SonarBeamHemisphere, TextLabelOffset, TextTouch, TransparencyInterpolator, ViewpointControl

Index for Viewpoint nodes: Viewpoint_1, BuoyViewpoint

Index for ExternProtoDeclare definition: BeamHemisphere

Index for ProtoDeclare definition: DICASS
-->
X3D Tooltips element index: Anchor, Appearance, AudioClip, Background, Billboard, Box, connect, Cylinder, ExternProtoDeclare, field, fieldValue, FontStyle, Group, head, ImageTexture, IS, LOD, Material, meta, NavigationInfo, ProtoBody, ProtoDeclare, ProtoInstance, ProtoInterface, ROUTE, ScalarInterpolator, Scene, Script, Shape, Sound, Text, TimeSensor, TouchSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

Event Graph ROUTE Table entries with 14 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.

TextTouch
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
ViewpointControl
Script
bindViewpoint
SFBool

LocationScript
Script
newLocation
SFVec3f

ROUTE
event to
(1)
BuoyPosition
Transform
set_translation
SFVec3f
LocationScript
Script
newBuoyLabel
MFString

ROUTE
event to
(1)
BuoyLabel
Text
string
MFString

PingControl
Script
cycleInterval
SFTime

ROUTE
event to
(1)
PingClock
TimeSensor
cycleInterval
SFTime
then
 
 
 
PingClock
TimeSensor
cycleTime
SFTime

ROUTE
event to
(2)
PingAudioClip
AudioClip
startTime
SFTime
  then
 
 
 
PingClock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RangeInterpolator
ScalarInterpolator
set_fraction
SFFloat
then
 
 
 
RangeInterpolator
ScalarInterpolator
value_changed
SFFloat

ROUTE
event to
(3)
SonarBeamHemisphere
ProtoInstance
range
SFFloat
  then
 
 
 
PingClock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
TransparencyInterpolator
ScalarInterpolator
set_fraction
SFFloat
then
 
 
 
TransparencyInterpolator
ScalarInterpolator
value_changed
SFFloat

ROUTE
event to
(3)
SonarBeamHemisphere
ProtoInstance
transparency
SFFloat
PingControl
Script
keyValueRangeInterpolator
MFFloat

ROUTE
event to
(1)
RangeInterpolator
ScalarInterpolator
keyValue
MFFloat
then
 
 
 
RangeInterpolator
ScalarInterpolator
value_changed
SFFloat

ROUTE
event to
(2)
SonarBeamHemisphere
ProtoInstance
range
SFFloat
PingControl
Script
initializeHemisphereRange
SFFloat

ROUTE
event to
(1)
SonarBeamHemisphere
ProtoInstance
range
SFFloat
PingControl
Script
loop
SFBool

ROUTE
event to
(1)
PingClock
TimeSensor
loop
SFBool
then
 
 
 
PingClock
TimeSensor
cycleTime
SFTime

ROUTE
event to
(2)
PingAudioClip
AudioClip
startTime
SFTime
  then
 
 
 
PingClock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RangeInterpolator
ScalarInterpolator
set_fraction
SFFloat
then
 
 
 
RangeInterpolator
ScalarInterpolator
value_changed
SFFloat

ROUTE
event to
(3)
SonarBeamHemisphere
ProtoInstance
range
SFFloat
  then
 
 
 
PingClock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
TransparencyInterpolator
ScalarInterpolator
set_fraction
SFFloat
then
 
 
 
TransparencyInterpolator
ScalarInterpolator
value_changed
SFFloat

ROUTE
event to
(3)
SonarBeamHemisphere
ProtoInstance
transparency
SFFloat
PingControl
Script
startTime
SFTime

ROUTE
event to
(1)
PingClock
TimeSensor
startTime
SFTime
then
 
 
 
PingClock
TimeSensor
cycleTime
SFTime

ROUTE
event to
(2)
PingAudioClip
AudioClip
startTime
SFTime
  then
 
 
 
PingClock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
RangeInterpolator
ScalarInterpolator
set_fraction
SFFloat
then
 
 
 
RangeInterpolator
ScalarInterpolator
value_changed
SFFloat

ROUTE
event to
(3)
SonarBeamHemisphere
ProtoInstance
range
SFFloat
  then
 
 
 
PingClock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
TransparencyInterpolator
ScalarInterpolator
set_fraction
SFFloat
then
 
 
 
TransparencyInterpolator
ScalarInterpolator
value_changed
SFFloat

ROUTE
event to
(3)
SonarBeamHemisphere
ProtoInstance
transparency
SFFloat
PingControl
Script
startTime
SFTime

ROUTE
event to
(1)
PingAudioClip
AudioClip
startTime
SFTime

      SonarBeamHemisphere
ProtoInstance
BeamHemisphere
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. 

line 229
Anchor
description='Dicass Example' 
User-interaction hint for this node. 

LinkTextAnchor
Anchor
description='click this text for link' 
User-interaction hint for this node. 

Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/DicassPrototypeIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/Sonobuoys/DicassPrototype.x3d -->

<!-- Color-coding legend: X3D terminology <X3dNode  DEF='idNamefield='value'/> matches XML terminology <XmlElement  DEF='idNameattribute='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> -->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->