X3D
type: NamedIndividual
has head: head
has scene: Scene
profile: Immersive
version: 3.3
no namespace schema location: https://www.web3d.org/specifications/x3d-3.3.xsd

meta 1 1
type: NamedIndividual
type: meta
has parent: head
content: BuoyCommunicationsGridExample.x3d
name: title

meta 1 2
type: NamedIndividual
type: meta
has parent: head
content: Takes a communication-message input from a traversing vehicle (such as an AUV or submarine), then sets up the route/relay time delays, directions, animation and visualization of SeaWeb buoy communications among each other, all the way to the SeaWeb RACOM RF-relay buoy at the surface.
name: description

meta 1 3
type: NamedIndividual
type: meta
has parent: head
content: Don Brutzman and MV4205 class
name: creator

meta 1 4
type: NamedIndividual
type: meta
has parent: head
content: 8 June 2004
name: created

meta 1 5
type: NamedIndividual
type: meta
has parent: head
content: 2 January 2025
name: modified

meta 1 6
type: NamedIndividual
type: meta
has parent: head
content: Buoy, SeaWeb
name: subject

meta 1 7
type: NamedIndividual
type: meta
has parent: head
content: BuoyCommunicationsGridExampleRoutingTable.xls
name: reference

meta 1 8
type: NamedIndividual
type: meta
has parent: head
content: https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/BuoyCommunicationsGridExample.x3d
name: identifier

meta 1 9
type: NamedIndividual
type: meta
has parent: head
content: X3D-Edit, https://www.web3d.org/x3d/tools/X3D-Edit
name: generator

meta 1 10
type: NamedIndividual
type: meta
has parent: head
content: ../../license.html
name: license

BuoyCommunicationsGridExample.x3d
description: Takes a communication-message input from a traversing vehicle (such as an AUV or submarine), then sets up the route/relay time delays, directions, animation and visualization of SeaWeb buoy communications among each other, all the way to the SeaWeb RACOM RF-relay buoy at the surface.
creator: Don Brutzman and MV4205 class
created: 8 June 2004
modified: 2 January 2025
subject: Buoy, SeaWeb
reference: BuoyCommunicationsGridExampleRoutingTable.xls
generator: X3D-Edit, https://www.web3d.org/x3d/tools/X3D-Edit
license: ../../license.html

WorldInfo 2 1
type: NamedIndividual
type: WorldInfo
has parent: Scene
title: BuoyCommunicationsGridExample.x3d

ExternProtoDeclare 2 2
type: NamedIndividual
type: ExternProtoDeclare
has parent: Scene
has field: field 2 2 1
has field: field 2 2 2
has field: field 2 2 3
has field: field 2 2 4
has field: field 2 2 5
has field: field 2 2 6
has field: field 2 2 7
has field: field 2 2 8
has field: field 2 2 9
appinfo: BuoyCommunicationsGrid prototype takes a communication-message input from a traversing vehicle (such as an AUV or submarine) then sets up the route/relay time delays directions animation and visualization of SeaWeb buoy communications among each other all the way to the SeaWeb RACOM RF-relay buoy at the surface.
name: BuoyCommunicationsGrid
url: "BuoyCommunicationsGridPrototype.x3d#BuoyCommunicationsGrid" "../../../Savage/CommunicationsAndSensors/SeaWeb/BuoyCommunicationsGridPrototype.x3d#BuoyCommunicationsGrid" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/BuoyCommunicationsGridPrototype.x3d#BuoyCommunicationsGrid" "BuoyCommunicationsGridPrototype.wrl#BuoyCommunicationsGrid" "../../../Savage/CommunicationsAndSensors/SeaWeb/BuoyCommunicationsGridPrototype.wrl#BuoyCommunicationsGrid" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/BuoyCommunicationsGridPrototype.wrl#BuoyCommunicationsGrid"

field 2 2 1
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 2
access type: initializeOnly
appinfo: array of SeaWebBuoy nodes index starting at 0
name: buoyArray
type: MFNode

field 2 2 2
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 2
access type: initializeOnly
appinfo: 2D array of routing connectivity for buoys consisting either of index of next buoy in line -1 for same buoy or else 0 for no route connection. legal values range [-1..n-1] for n buoys.
name: buoyCommunicationsRoutingTable
type: MFInt32

field 2 2 3
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 2
access type: inputOnly
appinfo: set position of entity sending the message
name: set_senderPosition
type: SFVec3f

field 2 2 4
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 2
access type: initializeOnly
appinfo: position of entity sending the message
name: senderPosition
type: SFVec3f

field 2 2 5
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 2
access type: inputOnly
appinfo: set position of entity receiving the message
name: set_receiverPosition
type: SFVec3f

field 2 2 6
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 2
access type: initializeOnly
appinfo: position of entity receiving the message
name: receiverPosition
type: SFVec3f

field 2 2 7
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 2
access type: inputOnly
name: set_textMessage
type: MFString

field 2 2 8
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 2
access type: initializeOnly
name: textMessage
type: MFString

field 2 2 9
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 2
access type: inputOnly
appinfo: send it! (note: maybe should rename as activate)
name: sendMessage
type: SFBool

ExternProtoDeclare 2 3
type: NamedIndividual
type: ExternProtoDeclare
has parent: Scene
has field: field 2 3 1
has field: field 2 3 2
has field: field 2 3 3
has field: field 2 3 4
appinfo: Circular set of compass bearings that follow the active viewpoint set at 360/36 = 10 degree intervals. North = +X axis East = +Z axis up = +Y axis.
name: CameraCompass36
url: "../../../Savage/Tools/HeadsUpDisplays/CameraCompassPrototypes.x3d#CameraCompass36" "https://www.web3d.org/x3d/content/examples/Savage/Tools/HeadsUpDisplays/CameraCompassPrototypes.x3d#CameraCompass36" "../../../Savage/Tools/HeadsUpDisplays/CameraCompassPrototypes.wrl#CameraCompass36" "https://www.web3d.org/x3d/content/examples/Savage/Tools/HeadsUpDisplays/CameraCompassPrototypes.wrl#CameraCompass36"

field 2 3 1
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 3
access type: inputOutput
name: enabled
type: SFBool

field 2 3 2
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 3
access type: inputOutput
name: positionOffsetFromCamera
type: SFVec3f

field 2 3 3
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 3
access type: inputOutput
name: markerColor
type: SFColor

field 2 3 4
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 3
access type: inputOutput
name: labelColor
type: SFColor

ExternProtoDeclare 2 4
type: NamedIndividual
type: ExternProtoDeclare
has parent: Scene
has field: field 2 4 1
has field: field 2 4 2
has field: field 2 4 3
has field: field 2 4 4
has field: field 2 4 5
has field: field 2 4 6
has field: field 2 4 7
has field: field 2 4 8
has field: field 2 4 9
has field: field 2 4 10
has field: field 2 4 11
has field: field 2 4 12
has field: field 2 4 13
has field: field 2 4 14
has field: field 2 4 15
has field: field 2 4 16
has field: field 2 4 17
has field: field 2 4 18
has field: field 2 4 19
has field: field 2 4 20
has field: field 2 4 21
has field: field 2 4 22
has field: field 2 4 23
has field: field 2 4 24
has field: field 2 4 25
has field: field 2 4 26
has field: field 2 4 27
appinfo: Digital Virtual Display (DVD) Controller Prototype definition to control a scenario's animation timing
name: DvdController
url: "../../../Savage/Tools/HeadsUpDisplays/DvdControllerPrototype.x3d#DvdController" "https://www.web3d.org/x3d/content/examples/Savage/Tools/HeadsUpDisplays/DvdControllerPrototype.x3d#DvdController" "../../../Savage/Tools/HeadsUpDisplays/DvdControllerPrototype.wrl#DvdController" "https://www.web3d.org/x3d/content/examples/Savage/Tools/HeadsUpDisplays/DvdControllerPrototype.wrl#DvdController"

field 2 4 1
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
appinfo: Short description of what is animated by this DvdController.
name: description
type: SFString

field 2 4 2
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
appinfo: Whether or not play mode is enabled including during startup.
name: playEnabled
type: SFBool

field 2 4 3
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
appinfo: Initializes how control buttons and slider are displayed. The control buttons include DIS control (i.e. Master Ghost Local) and Playback control (i.e. Reset to Start Fast Rewind Rewind Pause Play Fast Forward Reset to End). Possible values are (case sensitive): ALL DIS_ONLY PLAYBACK_ONLY SLIDER_ONLY DIS_PLAYBACK DIS_SLIDER PLAYBACK_SLIDER and NONE.
name: displayMode
type: SFString

field 2 4 4
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: inputOnly
appinfo: Sets how control buttons and slider are displayed. The control buttons include DIS control (i.e. Master Ghost Local) and Playback control (i.e. Reset to Start Fast Rewind Rewind Pause Play Fast Forward Reset to End). Possible values are (case sensitive): ALL DIS_ONLY PLAYBACK_ONLY SLIDER_ONLY DIS_PLAYBACK DIS_SLIDER PLAYBACK_SLIDER and NONE.
name: setDisplayMode
type: SFString

field 2 4 5
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
appinfo: Default button color.
name: buttonColor
type: SFColor

field 2 4 6
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
appinfo: Button color when selected by user.
name: selectedButtonColor
type: SFColor

field 2 4 7
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
appinfo: Default label color.
name: labelColor
type: SFColor

field 2 4 8
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
appinfo: Label color when selected by user.
name: selectedLabelColor
type: SFColor

field 2 4 9
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
appinfo: Modified screen location and distance (for size).
name: locationOffset
type: SFVec3f

field 2 4 10
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
name: clockEnabled
type: SFBool

field 2 4 11
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
appinfo: Time for complete loop cycle in seconds.
name: cycleInterval
type: SFTime

field 2 4 12
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: inputOnly
name: set_cycleInterval
type: SFTime

field 2 4 13
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: outputOnly
name: cycleInterval_changed
type: SFTime

field 2 4 14
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
appinfo: Factor used to determine the speed increase/decrease for Fast Rewind and Fast Forward action.
name: speedFactor
type: SFFloat

field 2 4 15
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: outputOnly
name: isActive
type: SFBool

field 2 4 16
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: outputOnly
name: startTime_changed
type: SFTime

field 2 4 17
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: outputOnly
name: stopTime_changed
type: SFTime

field 2 4 18
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: outputOnly
name: time_changed
type: SFTime

field 2 4 19
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: outputOnly
name: fraction_changed
type: SFFloat

field 2 4 20
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: outputOnly
name: secondsElapsed
type: SFTime

field 2 4 21
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: outputOnly
appinfo: isMaster isRemote and isLocal are booleans represent a 3-way toggle. Only one of them can have a true value at any time.
name: isMaster
type: SFBool

field 2 4 22
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: outputOnly
appinfo: isMaster isRemote and isLocal are booleans represent a 3-way toggle. Only one of them can have a true value at any time.
name: isRemote
type: SFBool

field 2 4 23
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: outputOnly
appinfo: isMaster isRemote and isLocal are booleans represent a 3-way toggle. Only one of them can have a true value at any time.
name: isLocal
type: SFBool

field 2 4 24
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: outputOnly
appinfo: isPaused and isRunning always have opposite values. When isPaused is true isRunning will be false and vice versa.
name: isPaused
type: SFBool

field 2 4 25
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: outputOnly
appinfo: isPaused and isRunning always have opposite values. When isPaused is true isRunning will be false and vice versa.
name: isRunning
type: SFBool

field 2 4 26
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
appinfo: Enable/disable console output for troubleshooting.
name: traceEnabled
type: SFBool

field 2 4 27
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 4
access type: initializeOnly
name: testTimeVal
type: SFTime

ExternProtoDeclare 2 5
type: NamedIndividual
type: ExternProtoDeclare
has parent: Scene
has field: field 2 5 1
has field: field 2 5 2
has field: field 2 5 3
has field: field 2 5 4
has field: field 2 5 5
has field: field 2 5 6
has field: field 2 5 7
has field: field 2 5 8
has field: field 2 5 9
has field: field 2 5 10
has field: field 2 5 11
has field: field 2 5 12
has field: field 2 5 13
appinfo: Line grid authoring tool to enable precise measurement of objects in 3D space - fixed position. Oriented along XZ plane size 20m by 20m.
name: GridXZ
url: "../../../Savage/Tools/Authoring/GridXZPrototype.x3d#GridXZ" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/GridXZPrototype.x3d#GridXZ" "../../../Savage/Tools/Authoring/GridXZPrototype.wrl#GridXZ" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/GridXZPrototype.wrl#GridXZ"

field 2 5 1
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: initializeOnly
appinfo: Purpose of this grid displayed for overall Viewpoint
name: description
type: SFString

field 2 5 2
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: inputOutput
appinfo: color for descriptive labels at grid edges and corners
name: labelColor
type: SFColor

field 2 5 3
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: inputOutput
appinfo: default unscaled size: 10m by 10m
name: scale
type: SFVec3f

field 2 5 4
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: inputOutput
name: originLabel
type: MFString

field 2 5 5
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: inputOutput
appinfo: -X axis
name: WestLabel
type: MFString

field 2 5 6
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: inputOutput
name: NorthWestLabel
type: MFString

field 2 5 7
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: inputOutput
appinfo: -Z axis
name: NorthLabel
type: MFString

field 2 5 8
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: inputOutput
name: NorthEastLabel
type: MFString

field 2 5 9
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: inputOutput
appinfo: +X axis
name: EastLabel
type: MFString

field 2 5 10
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: inputOutput
name: SouthEastLabel
type: MFString

field 2 5 11
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: inputOutput
appinfo: +Z axis
name: SouthLabel
type: MFString

field 2 5 12
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: inputOutput
name: SouthWestLabel
type: MFString

field 2 5 13
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 5
access type: inputOutput
appinfo: label location offset (in meters) to improve readability
name: labelsOffset
type: SFVec3f

ExternProtoDeclare 2 6
type: NamedIndividual
type: ExternProtoDeclare
has parent: Scene
has field: field 2 6 1
has field: field 2 6 2
has field: field 2 6 3
has field: field 2 6 4
has field: field 2 6 5
has field: field 2 6 6
has field: field 2 6 7
has field: field 2 6 8
has field: field 2 6 9
has field: field 2 6 10
has field: field 2 6 11
has field: field 2 6 12
has field: field 2 6 13
has field: field 2 6 14
has field: field 2 6 15
has field: field 2 6 16
has field: field 2 6 17
has field: field 2 6 18
has field: field 2 6 19
has field: field 2 6 20
has field: field 2 6 21
has field: field 2 6 22
has field: field 2 6 23
has field: field 2 6 24
has field: field 2 6 25
has field: field 2 6 26
appinfo: SeaWeb acoustic-radio gateway communications buoy
name: SeaWebBuoy
url: "../../../Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.x3d#SeaWebBuoy" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.x3d#SeaWebBuoy" "../../../Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.wrl#SeaWebBuoy" "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.wrl#SeaWebBuoy"

field 2 6 1
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOnly
appinfo: Position of buoy.
name: set_position
type: SFVec3f

field 2 6 2
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
appinfo: Position of buoy.
name: position
type: SFVec3f

field 2 6 3
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOnly
appinfo: Position of target of transmission.
name: set_targetPosition
type: SFVec3f

field 2 6 4
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
appinfo: Position of target of transmission.
name: targetPosition
type: SFVec3f

field 2 6 5
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
appinfo: Id number of target.
name: targetIdNumber
type: SFInt32

field 2 6 6
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOnly
appinfo: Id number of target.
name: set_targetIdNumber
type: SFInt32

field 2 6 7
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOnly
appinfo: Enable buoy for transmission.
name: set_enabled
type: SFBool

field 2 6 8
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
appinfo: Enable buoy for transmission.
name: enabled
type: SFBool

field 2 6 9
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOnly
appinfo: Start transmission.
name: set_activated
type: SFBool

field 2 6 10
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
appinfo: Start transmission.
name: activated
type: SFBool

field 2 6 11
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOnly
appinfo: Duration in seconds needed to transmit message (does not include transmissionTimeDelay or propagation delay).
name: set_transmissionDuration
type: SFFloat

field 2 6 12
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
appinfo: Duration in seconds needed to transmit message (does not include transmissionTimeDelay or propagation delay).
name: transmissionDuration
type: SFFloat

field 2 6 13
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
appinfo: Time delay before transmission begins.
name: transmissionTimeDelay
type: SFTime

field 2 6 14
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOnly
appinfo: Time delay before transmission begins.
name: set_transmissionTimeDelay
type: SFTime

field 2 6 15
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOnly
appinfo: Select between directional (true) or omni-directional (false) transmission.
name: set_directionalTransmission
type: SFBool

field 2 6 16
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
appinfo: Select between directional (true) or omni-directional (false) transmission.
name: directionalTransmission
type: SFBool

field 2 6 17
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOnly
appinfo: Determine which buoy type to use. "Racom" for Racom Buoy. "Telesonar" for Telesonar Repeater.
name: set_buoyType
type: SFString

field 2 6 18
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
appinfo: Determine which buoy type to use. "Racom" for Racom Buoy. "Telesonar" for Telesonar Repeater.
name: buoyType
type: SFString

field 2 6 19
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOnly
name: set_textMessage
type: MFString

field 2 6 20
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
name: textMessage
type: MFString

field 2 6 21
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOutput
name: textMessageColor
type: SFColor

field 2 6 22
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOnly
name: set_description
type: SFString

field 2 6 23
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
name: description
type: SFString

field 2 6 24
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
name: traceEnabled
type: SFBool

field 2 6 25
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: inputOnly
appinfo: Sound speed in water default value 1500 m/s
name: set_soundSpeedInWater
type: SFFloat

field 2 6 26
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 6
access type: initializeOnly
appinfo: Sound speed in water default value 1500 m/s
name: soundSpeedInWater
type: SFFloat

ExternProtoDeclare 2 7
type: NamedIndividual
type: ExternProtoDeclare
has parent: Scene
has field: field 2 7 1
has field: field 2 7 2
has field: field 2 7 3
has field: field 2 7 4
has field: field 2 7 5
has field: field 2 7 6
has field: field 2 7 7
has field: field 2 7 8
has field: field 2 7 9
has field: field 2 7 10
has field: field 2 7 11
has field: field 2 7 12
has field: field 2 7 13
has field: field 2 7 14
has field: field 2 7 15
has field: field 2 7 16
has field: field 2 7 17
has field: field 2 7 18
has field: field 2 7 19
has field: field 2 7 20
has field: field 2 7 21
has field: field 2 7 22
has field: field 2 7 23
has field: field 2 7 24
has field: field 2 7 25
appinfo: Reads waypoints and legSpeeds/legDurations/defaultSpeed to provide a customizable position/orientation interpolator.
name: WaypointInterpolator
url: "../../../Savage/Tools/Animation/WaypointInterpolatorPrototype.x3d#WaypointInterpolator" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/WaypointInterpolatorPrototype.x3d#WaypointInterpolator" "../../../Savage/Tools/Animation/WaypointInterpolatorPrototype.wrl#WaypointInterpolator" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/WaypointInterpolatorPrototype.wrl#WaypointInterpolator"

field 2 7 1
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: Short description of what is animated by this WaypointInterpolator.
name: description
type: SFString

field 2 7 2
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: Waypoints being traversed with interpolation of intermediate positions and orientations.
name: waypoints
type: MFVec3f

field 2 7 3
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: inputOnly
appinfo: Add another single waypoint to array of waypoints recalculate interpolator values.
name: add_waypoint
type: SFVec3f

field 2 7 4
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: inputOnly
appinfo: Replace all waypoints recalculate interpolator values.
name: set_waypoints
type: MFVec3f

field 2 7 5
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: Whether to pitch child geometry (such as a vehicle) up or down to match vertical slope
name: pitchUpDownForVerticalWaypoints
type: SFBool

field 2 7 6
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: Units m/sec. If used array lengths for legSpeeds and legDurations must be one less than number of waypoints.
name: legSpeeds
type: MFFloat

field 2 7 7
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: Units in seconds. If used array lengths for legSpeeds and legDurations must be one less than number of waypoints.
name: legDurations
type: MFTime

field 2 7 8
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: Units m/sec.
name: defaultSpeed
type: SFFloat

field 2 7 9
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: turningRate (degrees/second) also determines standoff distance prior to waypoint where turn commences. If 0 turns are instantaneous.
name: turningRate
type: SFFloat

field 2 7 10
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: outputOnly
appinfo: Output calculation summing all leg durations, useful for setting TimeSensor cycleInterval. Units in seconds.
name: totalDuration
type: SFTime

field 2 7 11
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: inputOnly
appinfo: exposed PositionInterpolator and OrientationInterpolator setting
name: set_fraction
type: SFFloat

field 2 7 12
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: outputOnly
appinfo: exposed PositionInterpolator setting
name: position_changed
type: SFVec3f

field 2 7 13
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: outputOnly
appinfo: exposed OrientationInterpolator setting
name: orientation_changed
type: SFRotation

field 2 7 14
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: inputOutput
appinfo: default color for non-active line segments
name: lineColor
type: SFColor

field 2 7 15
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: inputOutput
appinfo: active segment highlight color
name: highlightSegmentColor
type: SFColor

field 2 7 16
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: inputOutput
appinfo: 1.0 is completely transparent, 0.0 is completely opaque.
name: transparency
type: SFFloat

field 2 7 17
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: allowed values: none; waypoints (produce labels at each waypoint); or interpolation (produce single moving label at interpolator time course speed location)
name: labelDisplayMode
type: SFString

field 2 7 18
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: allowed values: altitude depth (negate Y value) none
name: heightLabel
type: SFString

field 2 7 19
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: heightLabel relative location
name: labelOffset
type: SFVec3f

field 2 7 20
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: heightLabel text size
name: labelFontSize
type: SFFloat

field 2 7 21
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: heightLabel text color
name: labelColor
type: SFColor

field 2 7 22
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: enable console output to trace script computations and prototype progress
name: traceEnabled
type: SFBool

field 2 7 23
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: initializeOnly
appinfo: Output the number of waypoints totalDistance and totalDuration to console upon initialization
name: outputInitializationComputations
type: SFBool

field 2 7 24
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: inputOutput
appinfo: default color for vertical drop-line segments
name: verticalDropLineColor
type: SFColor

field 2 7 25
type: NamedIndividual
type: field
has parent: ExternProtoDeclare 2 7
access type: inputOutput
appinfo: 1.0 is completely transparent, 0.0 is completely opaque.
name: verticalDropLineTransparency
type: SFFloat

NavigationInfo 2 8
type: NamedIndividual
type: NavigationInfo
has parent: Scene
avatar size: 2
avatar size: 1.6
avatar size: 0.75
speed: 1000

Transform 2 9
type: NamedIndividual
type: Transform
has parent: Scene
has children: Viewpoint 2 9 1
rotation: 0
rotation: 1
rotation: -1.578
translation: 5000
translation: 15000

Viewpoint 2 9 1
type: NamedIndividual
type: Viewpoint
has parent: Transform 2 9
description: Buoy communications grid (15000m up)
orientation: 1
orientation: 0
orientation: -1.578
position: 0

ViewPositionOrientationHUD
type: NamedIndividual
type: Inline
has parent: Scene
DEF: ViewPositionOrientationHUD
url: "../../../Savage/Tools/HeadsUpDisplays/ViewPositionOrientationHUD.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Tools/HeadsUpDisplays/ViewPositionOrientationHUD.x3d" "../../../Savage/Tools/HeadsUpDisplays/ViewPositionOrientationHUD.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Tools/HeadsUpDisplays/ViewPositionOrientationHUD.wrl"

ProtoInstance 2 11
type: NamedIndividual
type: ProtoInstance
has parent: Scene
has field value: fieldValue 2 11 1
has field value: fieldValue 2 11 2
has field value: fieldValue 2 11 3
has field value: fieldValue 2 11 4
has field value: fieldValue 2 11 5
has field value: fieldValue 2 11 6
has field value: fieldValue 2 11 7
has field value: fieldValue 2 11 8
has field value: fieldValue 2 11 9
has field value: fieldValue 2 11 10
has field value: fieldValue 2 11 11
has field value: fieldValue 2 11 12
name: GridXZ

fieldValue 2 11 1
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 11
name: description
value: Sonobuoy Field Scenario

fieldValue 2 11 2
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 11
name: labelColor
value: 0.8
value: 1

fieldValue 2 11 3
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 11
name: scale
value: 1000

fieldValue 2 11 4
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 11
name: originLabel
value: "origin"

fieldValue 2 11 5
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 11
name: WestLabel
value: "West" "-Z"

fieldValue 2 11 6
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 11
name: NorthWestLabel
value: "10000 0 -10000"

fieldValue 2 11 7
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 11
name: NorthLabel
value: "North" "+X"

fieldValue 2 11 8
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 11
name: NorthEastLabel
value: "10000 0 10000"

fieldValue 2 11 9
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 11
name: EastLabel
value: "East" "+Z"

fieldValue 2 11 10
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 11
name: SouthEastLabel
value: "-10000 0 10000"

fieldValue 2 11 11
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 11
name: SouthLabel
value: "South" "-X"

fieldValue 2 11 12
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 11
name: SouthWestLabel
value: "-10000 0 -10000"

ProtoInstance 2 12
type: NamedIndividual
type: ProtoInstance
has parent: Scene
has field value: fieldValue 2 12 1
has field value: fieldValue 2 12 2
has field value: fieldValue 2 12 3
has field value: fieldValue 2 12 4
name: CameraCompass36

fieldValue 2 12 1
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 12
name: enabled
value: true

fieldValue 2 12 2
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 12
name: positionOffsetFromCamera
value: 0
value: 5

fieldValue 2 12 3
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 12
name: markerColor
value: 0.9

fieldValue 2 12 4
type: NamedIndividual
type: fieldValue
has parent: ProtoInstance 2 12
name: labelColor
value: 0.9

SeaWebBuoyNodes
type: NamedIndividual
type: Group
has parent: Scene
has children: SeaWebBuoy0
has children: SeaWebBuoy1
has children: SeaWebBuoy2
has children: SeaWebBuoy3
has children: SeaWebBuoy4
has children: SeaWebBuoy5
has children: SeaWebBuoy6
has children: SeaWebBuoy7
has children: SeaWebBuoy8
has children: SeaWebBuoy9
has children: SeaWebBuoy10
has children: SeaWebBuoy11
has children: SeaWebBuoy12
has children: SeaWebBuoy13
has children: SeaWebBuoy14
has children: SeaWebBuoy15
DEF: SeaWebBuoyNodes

SeaWebBuoy0
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 1 1
has field value: fieldValue 2 13 1 2
has field value: fieldValue 2 13 1 3
DEF: SeaWebBuoy0
name: SeaWebBuoy

fieldValue 2 13 1 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy0
name: buoyType
value: Racom

fieldValue 2 13 1 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy0
name: position
value: 6000
value: -100
value: 0

fieldValue 2 13 1 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy0
name: description
value: SeaWebBuoy0

SeaWebBuoy1
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 2 1
has field value: fieldValue 2 13 2 2
has field value: fieldValue 2 13 2 3
DEF: SeaWebBuoy1
name: SeaWebBuoy

fieldValue 2 13 2 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy1
name: buoyType
value: Telesonar

fieldValue 2 13 2 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy1
name: position
value: 6000
value: -100
value: 2000

fieldValue 2 13 2 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy1
name: description
value: SeaWebBuoy1

SeaWebBuoy2
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 3 1
has field value: fieldValue 2 13 3 2
has field value: fieldValue 2 13 3 3
DEF: SeaWebBuoy2
name: SeaWebBuoy

fieldValue 2 13 3 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy2
name: buoyType
value: Telesonar

fieldValue 2 13 3 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy2
name: position
value: 6000
value: -100
value: 4000

fieldValue 2 13 3 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy2
name: description
value: SeaWebBuoy2

SeaWebBuoy3
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 4 1
has field value: fieldValue 2 13 4 2
has field value: fieldValue 2 13 4 3
DEF: SeaWebBuoy3
name: SeaWebBuoy

fieldValue 2 13 4 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy3
name: buoyType
value: Telesonar

fieldValue 2 13 4 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy3
name: position
value: 6000
value: -100

fieldValue 2 13 4 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy3
name: description
value: SeaWebBuoy3

SeaWebBuoy4
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 5 1
has field value: fieldValue 2 13 5 2
has field value: fieldValue 2 13 5 3
DEF: SeaWebBuoy4
name: SeaWebBuoy

fieldValue 2 13 5 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy4
name: buoyType
value: Telesonar

fieldValue 2 13 5 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy4
name: position
value: 4000
value: -100
value: 0

fieldValue 2 13 5 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy4
name: description
value: SeaWebBuoy4

SeaWebBuoy5
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 6 1
has field value: fieldValue 2 13 6 2
has field value: fieldValue 2 13 6 3
DEF: SeaWebBuoy5
name: SeaWebBuoy

fieldValue 2 13 6 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy5
name: buoyType
value: Telesonar

fieldValue 2 13 6 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy5
name: position
value: 4000
value: -100
value: 2000

fieldValue 2 13 6 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy5
name: description
value: SeaWebBuoy5

SeaWebBuoy6
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 7 1
has field value: fieldValue 2 13 7 2
has field value: fieldValue 2 13 7 3
DEF: SeaWebBuoy6
name: SeaWebBuoy

fieldValue 2 13 7 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy6
name: buoyType
value: Telesonar

fieldValue 2 13 7 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy6
name: position
value: 4000
value: -100

fieldValue 2 13 7 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy6
name: description
value: SeaWebBuoy6

SeaWebBuoy7
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 8 1
has field value: fieldValue 2 13 8 2
has field value: fieldValue 2 13 8 3
DEF: SeaWebBuoy7
name: SeaWebBuoy

fieldValue 2 13 8 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy7
name: buoyType
value: Telesonar

fieldValue 2 13 8 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy7
name: position
value: 4000
value: -100
value: 6000

fieldValue 2 13 8 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy7
name: description
value: SeaWebBuoy7

SeaWebBuoy8
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 9 1
has field value: fieldValue 2 13 9 2
has field value: fieldValue 2 13 9 3
DEF: SeaWebBuoy8
name: SeaWebBuoy

fieldValue 2 13 9 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy8
name: buoyType
value: Telesonar

fieldValue 2 13 9 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy8
name: position
value: 2000
value: -100
value: 0

fieldValue 2 13 9 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy8
name: description
value: SeaWebBuoy8

SeaWebBuoy9
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 10 1
has field value: fieldValue 2 13 10 2
has field value: fieldValue 2 13 10 3
DEF: SeaWebBuoy9
name: SeaWebBuoy

fieldValue 2 13 10 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy9
name: buoyType
value: Telesonar

fieldValue 2 13 10 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy9
name: position
value: 2000
value: -100

fieldValue 2 13 10 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy9
name: description
value: SeaWebBuoy9

SeaWebBuoy10
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 11 1
has field value: fieldValue 2 13 11 2
has field value: fieldValue 2 13 11 3
DEF: SeaWebBuoy10
name: SeaWebBuoy

fieldValue 2 13 11 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy10
name: buoyType
value: Telesonar

fieldValue 2 13 11 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy10
name: position
value: 2000
value: -100
value: 4000

fieldValue 2 13 11 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy10
name: description
value: SeaWebBuoy10

SeaWebBuoy11
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 12 1
has field value: fieldValue 2 13 12 2
has field value: fieldValue 2 13 12 3
DEF: SeaWebBuoy11
name: SeaWebBuoy

fieldValue 2 13 12 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy11
name: buoyType
value: Telesonar

fieldValue 2 13 12 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy11
name: position
value: 2000
value: -100
value: 6000

fieldValue 2 13 12 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy11
name: description
value: SeaWebBuoy11

SeaWebBuoy12
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 13 1
has field value: fieldValue 2 13 13 2
has field value: fieldValue 2 13 13 3
DEF: SeaWebBuoy12
name: SeaWebBuoy

fieldValue 2 13 13 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy12
name: buoyType
value: Telesonar

fieldValue 2 13 13 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy12
name: position
value: 0
value: -100

fieldValue 2 13 13 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy12
name: description
value: SeaWebBuoy12

SeaWebBuoy13
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 14 1
has field value: fieldValue 2 13 14 2
has field value: fieldValue 2 13 14 3
DEF: SeaWebBuoy13
name: SeaWebBuoy

fieldValue 2 13 14 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy13
name: buoyType
value: Telesonar

fieldValue 2 13 14 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy13
name: position
value: 0
value: -100
value: 2000

fieldValue 2 13 14 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy13
name: description
value: SeaWebBuoy13

SeaWebBuoy14
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 15 1
has field value: fieldValue 2 13 15 2
has field value: fieldValue 2 13 15 3
DEF: SeaWebBuoy14
name: SeaWebBuoy

fieldValue 2 13 15 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy14
name: buoyType
value: Telesonar

fieldValue 2 13 15 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy14
name: position
value: 0
value: -100
value: 4000

fieldValue 2 13 15 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy14
name: description
value: SeaWebBuoy14

SeaWebBuoy15
type: NamedIndividual
type: ProtoInstance
has parent: SeaWebBuoyNodes
has field value: fieldValue 2 13 16 1
has field value: fieldValue 2 13 16 2
has field value: fieldValue 2 13 16 3
DEF: SeaWebBuoy15
name: SeaWebBuoy

fieldValue 2 13 16 1
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy15
name: buoyType
value: Racom

fieldValue 2 13 16 2
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy15
name: position
value: 0
value: -100
value: 6000

fieldValue 2 13 16 3
type: NamedIndividual
type: fieldValue
has parent: SeaWebBuoy15
name: description
value: SeaWebBuoy15

BuoyCommunicationsGridGroup
type: NamedIndividual
type: Group
has parent: Scene
has children: BuoyCommsGrid
DEF: BuoyCommunicationsGridGroup

BuoyCommsGrid
type: NamedIndividual
type: ProtoInstance
has parent: BuoyCommunicationsGridGroup
has field value: fieldValue 2 14 1 1
has field value: fieldValue 2 14 1 2
has field value: fieldValue 2 14 1 3
DEF: BuoyCommsGrid
name: BuoyCommunicationsGrid

fieldValue 2 14 1 1
type: NamedIndividual
type: fieldValue
has parent: BuoyCommsGrid
name: textMessage
value: "testing 1 2 3"

fieldValue 2 14 1 2
type: NamedIndividual
type: fieldValue
has parent: BuoyCommsGrid
has children: SeaWebBuoy0-USE-1
has children: SeaWebBuoy1-USE-1
has children: SeaWebBuoy2-USE-1
has children: SeaWebBuoy3-USE-1
has children: SeaWebBuoy4-USE-1
has children: SeaWebBuoy5-USE-1
has children: SeaWebBuoy6-USE-1
has children: SeaWebBuoy7-USE-1
has children: SeaWebBuoy8-USE-1
has children: SeaWebBuoy9-USE-1
has children: SeaWebBuoy10-USE-1
has children: SeaWebBuoy11-USE-1
has children: SeaWebBuoy12-USE-1
has children: SeaWebBuoy13-USE-1
has children: SeaWebBuoy14-USE-1
has children: SeaWebBuoy15-USE-1
name: buoyArray

fieldValue 2 14 1 3
type: NamedIndividual
type: fieldValue
has parent: BuoyCommsGrid
name: buoyCommunicationsRoutingTable
value: -1
value: 1
value: 4
value: 5
value: 0
value: 2
value: 6
value: 3
value: 7
value: 8
value: 9
value: 10
value: 11
value: 12
value: 13
value: 14
value: 15

AnimationControl
type: NamedIndividual
type: Group
has parent: Scene
has children: MasterDvdClock
DEF: AnimationControl

MasterDvdClock
type: NamedIndividual
type: ProtoInstance
has parent: AnimationControl
has field value: fieldValue 2 15 1 1
has field value: fieldValue 2 15 1 2
has field value: fieldValue 2 15 1 3
has field value: fieldValue 2 15 1 4
has field value: fieldValue 2 15 1 5
has field value: fieldValue 2 15 1 6
has field value: fieldValue 2 15 1 7
has field value: fieldValue 2 15 1 8
has field value: fieldValue 2 15 1 9
DEF: MasterDvdClock
name: DvdController

fieldValue 2 15 1 1
type: NamedIndividual
type: fieldValue
has parent: MasterDvdClock
name: displayMode
value: PLAYBACK_SLIDER

fieldValue 2 15 1 2
type: NamedIndividual
type: fieldValue
has parent: MasterDvdClock
name: playEnabled
value: true

fieldValue 2 15 1 3
type: NamedIndividual
type: fieldValue
has parent: MasterDvdClock
name: buttonColor
value: 0.655

fieldValue 2 15 1 4
type: NamedIndividual
type: fieldValue
has parent: MasterDvdClock
name: selectedButtonColor
value: 0.675

fieldValue 2 15 1 5
type: NamedIndividual
type: fieldValue
has parent: MasterDvdClock
name: selectedLabelColor
value: 0.9
value: 0

fieldValue 2 15 1 6
type: NamedIndividual
type: fieldValue
has parent: MasterDvdClock
name: locationOffset
value: -4
value: 3
value: -10

fieldValue 2 15 1 7
type: NamedIndividual
type: fieldValue
has parent: MasterDvdClock
name: cycleInterval
value: 60

fieldValue 2 15 1 8
type: NamedIndividual
type: fieldValue
has parent: MasterDvdClock
name: speedFactor
value: 10.0

fieldValue 2 15 1 9
type: NamedIndividual
type: fieldValue
has parent: MasterDvdClock
name: traceEnabled
value: false

TransitingVehiclesGroup
type: NamedIndividual
type: Group
has parent: Scene
has children: MantaGroup
has children: SolarAuvGroup
DEF: TransitingVehiclesGroup

MantaGroup
type: NamedIndividual
type: Group
has parent: TransitingVehiclesGroup
has children: MantaTransform
has children: MantaWaypointInterpolator
has ROUTE: ROUTE 2 16 1 3
has ROUTE: ROUTE 2 16 1 4
has ROUTE: ROUTE 2 16 1 5
has ROUTE: ROUTE 2 16 1 6
has ROUTE: ROUTE 2 16 1 7
DEF: MantaGroup

MantaTransform
type: NamedIndividual
type: Transform
has parent: MantaGroup
has children: Viewpoint 2 16 1 1 1
has children: Manta4
DEF: MantaTransform

Viewpoint 2 16 1 1 1
type: NamedIndividual
type: Viewpoint
has parent: MantaTransform
description: Manta side view
orientation: 0
orientation: 1
orientation: -1.57
position: -20
position: 3
position: 0

Manta4
type: NamedIndividual
type: Inline
has parent: MantaTransform
DEF: Manta4
url: "../../Robots/UnmannedUnderwaterVehicles/Manta4.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Robots/UnmannedUnderwaterVehicles/Manta4.x3d" "../../Robots/UnmannedUnderwaterVehicles/Manta4.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Robots/UnmannedUnderwaterVehicles/Manta4.wrl"

MantaWaypointInterpolator
type: NamedIndividual
type: ProtoInstance
has parent: MantaGroup
has field value: fieldValue 2 16 1 2 1
has field value: fieldValue 2 16 1 2 2
has field value: fieldValue 2 16 1 2 3
has field value: fieldValue 2 16 1 2 4
has field value: fieldValue 2 16 1 2 5
has field value: fieldValue 2 16 1 2 6
has field value: fieldValue 2 16 1 2 7
has field value: fieldValue 2 16 1 2 8
has field value: fieldValue 2 16 1 2 9
has field value: fieldValue 2 16 1 2 10
has field value: fieldValue 2 16 1 2 11
has field value: fieldValue 2 16 1 2 12
has field value: fieldValue 2 16 1 2 13
DEF: MantaWaypointInterpolator
name: WaypointInterpolator

fieldValue 2 16 1 2 1
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: description
value: Manta AUV

fieldValue 2 16 1 2 2
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: waypoints
value: 1100
value: -5
value: 6100
value: 8100
value: 7500

fieldValue 2 16 1 2 3
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: pitchUpDownForVerticalWaypoints
value: false

fieldValue 2 16 1 2 4
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: defaultSpeed
value: 100

fieldValue 2 16 1 2 5
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: lineColor
value: 0.8
value: 0.2

fieldValue 2 16 1 2 6
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: highlightSegmentColor
value: 0.2
value: 1

fieldValue 2 16 1 2 7
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: transparency
value: 0

fieldValue 2 16 1 2 8
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: labelDisplayMode
value: interpolation

fieldValue 2 16 1 2 9
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: heightLabel
value: altitude

fieldValue 2 16 1 2 10
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: labelOffset
value: 0
value: 4

fieldValue 2 16 1 2 11
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: labelFontSize
value: 0.5

fieldValue 2 16 1 2 12
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: labelColor
value: 0.3
value: 0.9

fieldValue 2 16 1 2 13
type: NamedIndividual
type: fieldValue
has parent: MantaWaypointInterpolator
name: traceEnabled
value: false

ROUTE 2 16 1 3
type: NamedIndividual
type: ROUTE
has parent: MantaGroup
from field: fraction_changed
from node: MasterDvdClock
to field: set_fraction
to node: MantaWaypointInterpolator

ROUTE 2 16 1 4
type: NamedIndividual
type: ROUTE
has parent: MantaGroup
from field: totalDuration
from node: MantaWaypointInterpolator
to field: set_cycleInterval
to node: MasterDvdClock

ROUTE 2 16 1 5
type: NamedIndividual
type: ROUTE
has parent: MantaGroup
from field: position_changed
from node: MantaWaypointInterpolator
to field: set_translation
to node: MantaTransform

ROUTE 2 16 1 6
type: NamedIndividual
type: ROUTE
has parent: MantaGroup
from field: orientation_changed
from node: MantaWaypointInterpolator
to field: set_rotation
to node: MantaTransform

ROUTE 2 16 1 7
type: NamedIndividual
type: ROUTE
has parent: MantaGroup
from field: position_changed
from node: MantaWaypointInterpolator
to field: set_receiverPosition
to node: BuoyCommsGrid

SolarAuvGroup
type: NamedIndividual
type: Group
has parent: TransitingVehiclesGroup
has children: SolarAuvTransform
has children: SolarAuvWaypointInterpolator
has ROUTE: ROUTE 2 16 2 3
has ROUTE: ROUTE 2 16 2 4
has ROUTE: ROUTE 2 16 2 5
has ROUTE: ROUTE 2 16 2 6
DEF: SolarAuvGroup

SolarAuvTransform
type: NamedIndividual
type: Transform
has parent: SolarAuvGroup
has children: SolarAuv
has children: SolarAuvMessageSendClock
has children: SolarAuvMessageScript
has ROUTE: ROUTE 2 16 2 1 4
has ROUTE: ROUTE 2 16 2 1 5
has ROUTE: ROUTE 2 16 2 1 6
DEF: SolarAuvTransform

SolarAuv
type: NamedIndividual
type: Inline
has parent: SolarAuvTransform
DEF: SolarAuv
url: "../../Robots/UnmannedUnderwaterVehicles/SolarAUV.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Robots/UnmannedUnderwaterVehicles/SolarAUV.x3d" "../../Robots/UnmannedUnderwaterVehicles/SolarAUV.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Robots/UnmannedUnderwaterVehicles/SolarAUV.wrl"

SolarAuvMessageSendClock
type: NamedIndividual
type: TimeSensor
has parent: SolarAuvTransform
DEF: SolarAuvMessageSendClock
cycle interval: 15
loop: true

SolarAuvMessageScript
type: NamedIndividual
type: Script
has parent: SolarAuvTransform
has field: field 2 16 2 1 3 1
has field: field 2 16 2 1 3 2
has field: field 2 16 2 1 3 3
has field: field 2 16 2 1 3 4
DEF: SolarAuvMessageScript
source code: ecmascript: function timeToPrepareMessage (value, timestamp) { messageCounter++; newMessage[0] ='SolarAUV' + messageCounter; // set sendMessage = true; // send Browser.println ('[SolarAuvMessageScript] timeToPrepareMessage() complete:' + newMessage[0]); }

field 2 16 2 1 3 1
type: NamedIndividual
type: field
has parent: SolarAuvMessageScript
access type: inputOnly
appinfo: trigger when time to create new message
name: timeToPrepareMessage
type: SFTime

field 2 16 2 1 3 2
type: NamedIndividual
type: field
has parent: SolarAuvMessageScript
access type: initializeOnly
name: messageCounter
type: SFInt32
value: 0

field 2 16 2 1 3 3
type: NamedIndividual
type: field
has parent: SolarAuvMessageScript
access type: outputOnly
appinfo: text of next message to be sent
name: newMessage
type: MFString

field 2 16 2 1 3 4
type: NamedIndividual
type: field
has parent: SolarAuvMessageScript
access type: outputOnly
name: sendMessage
type: SFBool

ROUTE 2 16 2 1 4
type: NamedIndividual
type: ROUTE
has parent: SolarAuvTransform
from field: cycleTime
from node: SolarAuvMessageSendClock
to field: timeToPrepareMessage
to node: SolarAuvMessageScript

ROUTE 2 16 2 1 5
type: NamedIndividual
type: ROUTE
has parent: SolarAuvTransform
from field: newMessage
from node: SolarAuvMessageScript
to field: set_textMessage
to node: BuoyCommsGrid

ROUTE 2 16 2 1 6
type: NamedIndividual
type: ROUTE
has parent: SolarAuvTransform
from field: sendMessage
from node: SolarAuvMessageScript
to field: sendMessage
to node: BuoyCommsGrid

SolarAuvWaypointInterpolator
type: NamedIndividual
type: ProtoInstance
has parent: SolarAuvGroup
has field value: fieldValue 2 16 2 2 1
has field value: fieldValue 2 16 2 2 2
has field value: fieldValue 2 16 2 2 3
has field value: fieldValue 2 16 2 2 4
has field value: fieldValue 2 16 2 2 5
has field value: fieldValue 2 16 2 2 6
has field value: fieldValue 2 16 2 2 7
has field value: fieldValue 2 16 2 2 8
has field value: fieldValue 2 16 2 2 9
has field value: fieldValue 2 16 2 2 10
has field value: fieldValue 2 16 2 2 11
has field value: fieldValue 2 16 2 2 12
has field value: fieldValue 2 16 2 2 13
DEF: SolarAuvWaypointInterpolator
name: WaypointInterpolator

fieldValue 2 16 2 2 1
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: description
value: Solar AUV

fieldValue 2 16 2 2 2
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: waypoints
value: -1000
value: -1
value: 0
value: 2000
value: 3000
value: 4000
value: 5000
value: 6000
value: 7000
value: 1000

fieldValue 2 16 2 2 3
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: pitchUpDownForVerticalWaypoints
value: false

fieldValue 2 16 2 2 4
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: defaultSpeed
value: 10

fieldValue 2 16 2 2 5
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: lineColor
value: 0.8
value: 0.2

fieldValue 2 16 2 2 6
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: highlightSegmentColor
value: 0.2
value: 1

fieldValue 2 16 2 2 7
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: transparency
value: 0

fieldValue 2 16 2 2 8
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: labelDisplayMode
value: interpolation

fieldValue 2 16 2 2 9
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: heightLabel
value: altitude

fieldValue 2 16 2 2 10
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: labelOffset
value: 0
value: 1

fieldValue 2 16 2 2 11
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: labelFontSize
value: 0.2

fieldValue 2 16 2 2 12
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: labelColor
value: 0.9
value: 0.3

fieldValue 2 16 2 2 13
type: NamedIndividual
type: fieldValue
has parent: SolarAuvWaypointInterpolator
name: traceEnabled
value: false

ROUTE 2 16 2 3
type: NamedIndividual
type: ROUTE
has parent: SolarAuvGroup
from field: fraction_changed
from node: MasterDvdClock
to field: set_fraction
to node: SolarAuvWaypointInterpolator

ROUTE 2 16 2 4
type: NamedIndividual
type: ROUTE
has parent: SolarAuvGroup
from field: position_changed
from node: SolarAuvWaypointInterpolator
to field: set_translation
to node: SolarAuvTransform

ROUTE 2 16 2 5
type: NamedIndividual
type: ROUTE
has parent: SolarAuvGroup
from field: orientation_changed
from node: SolarAuvWaypointInterpolator
to field: set_rotation
to node: SolarAuvTransform

ROUTE 2 16 2 6
type: NamedIndividual
type: ROUTE
has parent: SolarAuvGroup
from field: position_changed
from node: SolarAuvWaypointInterpolator
to field: set_senderPosition
to node: BuoyCommsGrid