X3D Model Documentation: DicassExample.x3d

  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='titlecontent='DicassExample.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'/>
  9            <meta name='createdcontent='30 January 2003'/>
 10            <meta name='modifiedcontent='20 October 2019'/>
 11            <meta name=' warning content=' under development, updating script code to X3D '/>
 12            <meta name='referencecontent='DICASS-an-ssq-62.pdf'/>
 13            <meta name='referencecontent='https://www.fas.org/man/dod-101/sys/ship/weaps/an-ssq-62.htm'/>
 14            <meta name='referencecontent='NAVY TRAINING SYSTEM PLAN FOR THE NAVY CONSOLIDATED SONOBUOYS N88-NTSP-A-50-8910B/A SEPTEMBER 1998'/>
 15            <meta name='referencecontent='ntsp-Sonobuoy.pdf'/>
 16            <meta name='referencecontent='https://www.fas.org/man/dod-101/sys/ship/weaps/docs/ntsp-Sonobuoy.pdf'/>
 17            <meta name='referencecontent='http://www.avtechtra.navy.mil/pdf/Sonobuoys_a.PDF'/>
 18            <meta name='referencecontent='http://www.ultra-scs.com/sonobuoys/dicass.htm'/>
 19            <meta name='referencecontent='http://www.ultra-ussg.com/company/sonobuoy_history.cfm'/>
 20            <meta name='subjectcontent='DICASS sonobuoy'/>
 21            <meta name='identifiercontent='https://savage.nps.edu/Savage/CommunicationsAndSensors/Sonobuoys/DicassExample.x3d'/>
 22            <meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
 23            <meta name='licensecontent='../../license.html'/>
 24       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: AquaTealBackground, ContinuousPingTouch, DicassExample, InterfaceMaterial, SinglePingTouch

Index for Viewpoint node: Viewpoint_1

Index for ExternProtoDeclare definition: DICASS
-->
 25       <Scene>
 26            <WorldInfo title='DicassExample.x3d'/>
 27            <ExternProtoDeclare name='DICASSappinfo='AN/SSQ-62B/C/D/E Directional Command Activated Sonobuoy System (DICASS) Sonobuoy'   url=' "DicassPrototype.x3d#DICASS" "https://savage.nps.edu/Savage/CommunicationsAndSensors/Sonobuoys/DicassPrototype.x3d#DICASS" "DicassPrototype.wrl#DICASS" "https://savage.nps.edu/Savage/CommunicationsAndSensors/Sonobuoys/DicassPrototype.wrl#DICASS" '>
 28                 <field name='IDtype='MFStringaccessType='inputOutput'
                appinfo='identifier label for this buoy'/>
 29                 <field name='versiontype='SFStringaccessType='initializeOnly'
                appinfo='default value: AN/SSQ-62B'/>
 30                 <field name='initialPositionXZtype='SFVec2faccessType='initializeOnly'
                appinfo='local surface coordinates X=North Z=East'/>
 31                 <field name='orderedPositionXZtype='SFVec2faccessType='inputOnly'
                appinfo='local surface coordinates X=North Z=East'/>
 32                 <field name='initialDepthtype='SFFloataccessType='initializeOnly'
                appinfo='meters depth use negative numbers for subsurface'/>
 33                 <field name='orderedDepthtype='SFFloataccessType='inputOnly'
                appinfo='meters depth use negative numbers for subsurface'/>
 34                 <field name='bindViewpointtype='SFBoolaccessType='inputOnly'
                appinfo='trigger event to bind/unbind viewpoint'/>
 35                 <field name='location_changedtype='SFVec3faccessType='outputOnly'
                appinfo='local coordinates X=North Y=altitude Z=East'/>
 36                 <field name='maxRangetype='SFFloataccessType='initializeOnly'
                appinfo='maximum audible sonar detection range meters'/>
 37                 <field name='pingDurationtype='SFTimeaccessType='outputOnly'
                appinfo='pingDuration corresponds to maxRange at 1500m/sec sound speed'/>
 38                 <field name='soundSpeedtype='SFFloataccessType='initializeOnly'
                appinfo='in-water sound speed m/s, default value 1500'
                documentation='https://en.wikipedia.org/wiki/Speed_of_sound#Seawater'/>
 39                 <field name='startPingtype='SFBoolaccessType='inputOnly'
                appinfo='trigger event to start single ping'/>
 40                 <field name='startContinuousPingstype='SFBoolaccessType='inputOnly'
                appinfo='trigger event to start continuous ping sequence'/>
 41                 <field name='linkTexttype='MFStringaccessType='inputOutput'
                appinfo='Can add linkable text for further information'/>
 42                 <field name='linkUrltype='MFStringaccessType='inputOutput'
                appinfo='url for linkable text'/>
 43                 <field name='linkTargetWindowtype='MFStringaccessType='inputOutput'
                appinfo='target window for linkable text'/>
 44            </ExternProtoDeclare>
 45            <!-- Rendered scene begins here -->
 46            <Background DEF='AquaTealBackgroundgroundColor='0.0 0.25 0.25skyColor='0 1 1'/>
 47            <NavigationInfo speed='100type='"EXAMINE" "FLY" "ANY"'/>
 48 
          <!-- ROUTE information for DicassExample node:  [from SinglePingTouch.isActive to startPing ] [from ContinuousPingTouch.isActive to startContinuousPings ] -->
          <ProtoInstance name='DICASSDEF='DicassExample'>
 49                 <fieldValue name='IDvalue='"DicassExample"'/>
 50                 <fieldValue name='initialPositionXZvalue='0 0'/>
 51                 <fieldValue name='initialDepthvalue='-1'/>
 52                 <fieldValue name='linkTextvalue='"click for online SAVAGE Archive"'/>
 53                 <fieldValue name='linkUrlvalue='"https://savage.nps.edu/Savage/CommunicationsAndSensors/Sonobuoys/index.html"'/>
 54                 <fieldValue name='linkTargetWindowvalue='"target=_blank"'/>
 55            </ProtoInstance>
 56            <!-- Interface to test DICASS buoy -->
 57            <Transform translation='0 0 2000'>
 58                 <Viewpoint description='DICASS 2 km'/>
 59                 <Transform translation='-3.5 -3 0'>
 60                      <Shape>
 61                           <Text string='"single ping"'>
 62                                <FontStyle justify='"MIDDLE" "MIDDLE"size='0.9'/>
 63                           </Text>
 64                           <Appearance>
 65 
                              <!-- Material InterfaceMaterial is a DEF node that has 1 USE node: USE_1 -->
                              <Material DEF='InterfaceMaterialdiffuseColor='0.8 0.5 0.1'/>
 66                           </Appearance>
 67                      </Shape>
 68 
                    <!-- ROUTE information for SinglePingTouch node:  [from isActive to DicassExample.startPing ] -->
                    <TouchSensor DEF='SinglePingTouchdescription='Single Ping TouchSensor'/>
 69                      < ROUTE  fromNode='SinglePingTouch' fromField='isActive' toNode='DicassExample' toField='startPing'/>
 70                 </Transform>
 71                 <Transform translation='2.5 -3 0'>
 72                      <Shape>
 73                           <Text string='"continuous pings"'>
 74                                <FontStyle justify='"MIDDLE" "MIDDLE"size='0.9'/>
 75                           </Text>
 76                           <Appearance>
 77                                <Material USE='InterfaceMaterial'/>
 78                           </Appearance>
 79                      </Shape>
 80 
                    <!-- ROUTE information for ContinuousPingTouch node:  [from isActive to DicassExample.startContinuousPings ] -->
                    <TouchSensor DEF='ContinuousPingTouchdescription='Continuous Ping TouchSensor'/>
 81                      < ROUTE  fromNode='ContinuousPingTouch' fromField='isActive' toNode='DicassExample' toField='startContinuousPings'/>
 82                 </Transform>
 83            </Transform>
 84       </Scene>
 85  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: AquaTealBackground, ContinuousPingTouch, DicassExample, InterfaceMaterial, SinglePingTouch

Index for Viewpoint node: Viewpoint_1

Index for ExternProtoDeclare definition: DICASS
-->
X3D Tooltips element index: Appearance, Background, ExternProtoDeclare, field, fieldValue, FontStyle, head, Material, meta, NavigationInfo, ProtoInstance, ROUTE, Scene, Shape, Text, TouchSensor, Transform, Viewpoint, WorldInfo, X3D, accessType and type, XML data types, field types

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.

ContinuousPingTouch
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
DicassExample
ProtoInstance
startContinuousPings
SFBool

SinglePingTouch
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
DicassExample
ProtoInstance
startPing
SFBool

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://savage.nps.edu/Savage/CommunicationsAndSensors/Sonobuoys/DicassExampleIndex.html -->
<!-- Version control at
https://gitlab.nps.edu/Savage/Savage/CommunicationsAndSensors/Sonobuoys/DicassExample.x3d -->

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