#X3D V3.0 utf8 PROFILE Immersive # [X3D] version=3.0 # [X3D] noNamespaceSchemaLocation=https://www.web3d.org/specifications/x3d-3.0.xsd # X3D-to-ClassicVRML XSL translation autogenerated by X3dToClassicVrmlEncoding.xslt and X3dToVrml97.xslt # https://www.web3d.org/x3d/content/X3dToClassicVrmlEncoding.xslt # https://www.web3d.org/x3d/content/X3dToVrml97.xslt # Transformation using XSLT processor: Saxonica # head META "title" "DicassExample.x3d" META "description" "AN/SSQ-62B/C/D/E Directional Command Activated Sonobuoy System (DICASS) Sonobuoy" META "coordinateSystem" "x=East, z=North, y=Up" META "creator" "Don Brutzman" META "created" "30 January 2003" META "modified" "20 October 2019" META "warning" "under development, updating script code to X3D" META "reference" "DICASS-an-ssq-62.pdf" META "reference" "https://www.fas.org/man/dod-101/sys/ship/weaps/an-ssq-62.htm" META "reference" "NAVY TRAINING SYSTEM PLAN FOR THE NAVY CONSOLIDATED SONOBUOYS N88-NTSP-A-50-8910B/A SEPTEMBER 1998" META "reference" "ntsp-Sonobuoy.pdf" META "reference" "https://www.fas.org/man/dod-101/sys/ship/weaps/docs/ntsp-Sonobuoy.pdf" META "reference" "http://www.avtechtra.navy.mil/pdf/Sonobuoys_a.PDF" META "reference" "http://www.ultra-scs.com/sonobuoys/dicass.htm" META "reference" "http://www.ultra-ussg.com/company/sonobuoy_history.cfm" META "subject" "DICASS sonobuoy" META "identifier" "https://savage.nps.edu/Savage/CommunicationsAndSensors/Sonobuoys/DicassExample.x3d" META "generator" "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit" META "license" "../../license.html" # [Scene] ========== ========== ========== WorldInfo { title "DicassExample.x3d" } EXTERNPROTO DICASS [ # [appinfo] AN/SSQ-62B/C/D/E Directional Command Activated Sonobuoy System (DICASS) Sonobuoy inputOutput MFString ID # [appinfo] identifier label for this buoy initializeOnly SFString version # [appinfo] default value: AN/SSQ-62B initializeOnly SFVec2f initialPositionXZ # [appinfo] local surface coordinates X=North Z=East inputOnly SFVec2f orderedPositionXZ # [appinfo] local surface coordinates X=North Z=East initializeOnly SFFloat initialDepth # [appinfo] meters depth use negative numbers for subsurface inputOnly SFFloat orderedDepth # [appinfo] meters depth use negative numbers for subsurface inputOnly SFBool bindViewpoint # [appinfo] trigger event to bind/unbind viewpoint outputOnly SFVec3f location_changed # [appinfo] local coordinates X=North Y=altitude Z=East initializeOnly SFFloat maxRange # [appinfo] maximum audible sonar detection range meters outputOnly SFTime pingDuration # [appinfo] pingDuration corresponds to maxRange at 1500m/sec sound speed initializeOnly SFFloat soundSpeed # [appinfo] in-water sound speed m/s, default value 1500 # documentation: https://en.wikipedia.org/wiki/Speed_of_sound#Seawater inputOnly SFBool startPing # [appinfo] trigger event to start single ping inputOnly SFBool startContinuousPings # [appinfo] trigger event to start continuous ping sequence inputOutput MFString linkText # [appinfo] Can add linkable text for further information inputOutput MFString linkUrl # [appinfo] url for linkable text inputOutput MFString linkTargetWindow # [appinfo] target window for linkable text ][ "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" ] # Rendered scene begins here DEF AquaTealBackground Background { groundColor [ 0.0 0.25 0.25 ] skyColor [ 0 1 1 ] } NavigationInfo { speed 100 type [ "EXAMINE" "FLY" "ANY" ] } DEF DicassExample DICASS { ID [ "DicassExample" ] initialPositionXZ 0 0 initialDepth -1 linkText [ "click for online SAVAGE Archive" ] linkUrl [ "https://savage.nps.edu/Savage/CommunicationsAndSensors/Sonobuoys/index.html" ] linkTargetWindow [ "target=_blank" ] } # Interface to test DICASS buoy Transform { translation 0 0 2000 children [ Viewpoint { description "DICASS 2 km" } Transform { translation -3.5 -3 0 children [ Shape { geometry Text { string [ "single ping" ] fontStyle FontStyle { justify [ "MIDDLE" "MIDDLE" ] size 0.9 } } appearance Appearance { material DEF InterfaceMaterial Material { diffuseColor 0.8 0.5 0.1 } } } DEF SinglePingTouch TouchSensor { description "Single Ping TouchSensor" } ] ROUTE SinglePingTouch.isActive TO DicassExample.startPing } Transform { translation 2.5 -3 0 children [ Shape { geometry Text { string [ "continuous pings" ] fontStyle FontStyle { justify [ "MIDDLE" "MIDDLE" ] size 0.9 } } appearance Appearance { material USE InterfaceMaterial } } DEF ContinuousPingTouch TouchSensor { description "Continuous Ping TouchSensor" } ] ROUTE ContinuousPingTouch.isActive TO DicassExample.startContinuousPings } ] }