#X3D V3.3 utf8 PROFILE Immersive # [X3D] version=3.3 # [X3D] noNamespaceSchemaLocation=https://www.web3d.org/specifications/x3d-3.3.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" "SeaWebBuoyExample.x3d" META "description" "An example scene with 2 SeaWeb buoys." META "creator" "Oliver Tan" META "creator" "Don Brutzman" META "created" "7 June 2004" META "modified" "5 June 2024" META "TODO" "fix type mismatches!" META "subject" "SeaWeb, buoy, repeater" META "identifier" "https://savage.nps.edu/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyExample.x3d" META "generator" "X3D-Edit 4.0, https://savage.nps.edu/X3D-Edit" META "license" "../../license.html" # [Scene] ========== ========== ========== WorldInfo { title "SeaWebBuoyExample.x3d" } EXTERNPROTO SeaWebBuoy [ inputOnly SFVec3f set_position # [appinfo] Position of buoy. initializeOnly SFVec3f position # [appinfo] Position of buoy. inputOnly SFVec3f set_targetPosition # [appinfo] Position of target of transmission. initializeOnly SFVec3f targetPosition # [appinfo] Position of target of transmission. inputOnly SFInt32 set_targetIdNumber # [appinfo] Id number of target. initializeOnly SFInt32 targetIdNumber # [appinfo] Id number of target. inputOnly SFBool set_enabled # [appinfo] Enable buoy for transmission. initializeOnly SFBool enabled # [appinfo] Enable buoy for transmission. inputOnly SFBool set_activated # [appinfo] Start transmission. initializeOnly SFBool activated # [appinfo] Start transmission. inputOnly SFTime set_transmissionDuration # [appinfo] Duration in seconds needed to transmit message (does not include transmissionTimeDelay or propagation delay). initializeOnly SFTime transmissionDuration # [appinfo] Duration in seconds needed to transmit message (does not include transmissionTimeDelay or propagation delay). inputOnly SFTime set_transmissionTimeDelay # [appinfo] Time delay before transmission begins. initializeOnly SFTime transmissionTimeDelay # [appinfo] Time delay before transmission begins. inputOnly SFBool set_directionalTransmission # [appinfo] Select between directional (true) or omni-directional (false) transmission. initializeOnly SFBool directionalTransmission # [appinfo] Select between directional (true) or omni-directional (false) transmission. inputOnly SFString set_buoyType # [appinfo] Determine which buoy type to use. "Racom" for Racom Buoy. "Telesonar" for Telesonar Repeater. initializeOnly SFString buoyType # [appinfo] Determine which buoy type to use. "Racom" for Racom Buoy. "Telesonar" for Telesonar Repeater. inputOnly MFString set_textMessage initializeOnly MFString textMessage inputOutput SFColor textMessageColor inputOnly SFString set_description initializeOnly SFString description initializeOnly SFBool traceEnabled ][ "SeaWebBuoyPrototype.x3d#SeaWebBuoy" "https://savage.nps.edu/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.x3d#SeaWebBuoy" "SeaWebBuoyPrototype.wrl#SeaWebBuoy" "https://savage.nps.edu/Savage/CommunicationsAndSensors/SeaWeb/SeaWebBuoyPrototype.wrl#SeaWebBuoy" ] Viewpoint { description "SeaWeb buoys: click to test communications" fieldOfView 0.9 position 0 0 35 } DEF SeaWebBuoyInstance1 SeaWebBuoy { position -10 0 0 targetPosition 10 0 0 enabled TRUE activated FALSE transmissionDuration 5 transmissionTimeDelay 2 directionalTransmission FALSE buoyType "Racom" textMessage [ "Message left-to-right" ] textMessageColor 1 0 0 description "SeaWeb Racom Buoy" traceEnabled TRUE } DEF SeaWebBuoyInstance2 SeaWebBuoy { position 10 0 0 targetPosition -10 0 0 enabled TRUE activated FALSE transmissionDuration 5 transmissionTimeDelay 0.5 directionalTransmission TRUE buoyType "Telesonar" textMessage [ "Message right-to-left" ] textMessageColor 0 1 0 description "SeaWeb Telesonar Buoy" traceEnabled TRUE } Transform { rotation 1 0 0 -0.15 translation 0 1 25 children [ Transform { translation -4.5 -3 0 children [ Billboard { axisOfRotation 0 0 0 children [ Group { children [ Shape { appearance DEF TextAppearance Appearance { material Material { diffuseColor .8 .8 0 } } geometry Text { string [ "Single 4 seconds" "left-right transmission" "with 2 second delay" ] fontStyle FontStyle { justify [ "MIDDLE" "MIDDLE" ] size 0.4 } } } Shape { appearance DEF TransparentAppearance Appearance { material Material { transparency 1 } } geometry Box { size 3.4 1.3 0.01 } } DEF SingleTransmissionTextTouch TouchSensor { description "Single Transmission Text is the simplest test" } DEF TransmissionDuration2 IntegerTrigger { integerKey 4 } ] ROUTE SingleTransmissionTextTouch.isActive TO TransmissionDuration2.set_boolean ROUTE TransmissionDuration2.triggerValue TO SeaWebBuoyInstance1.set_transmissionDuration ### Error: Mismatched type: ROUTE source TransmissionDuration2.triggerValue has type SFInt32, but destination SeaWebBuoyInstance1.set_transmissionDuration has type SFTime. ROUTE SingleTransmissionTextTouch.isActive TO SeaWebBuoyInstance1.set_activated } ] } ] } Transform { translation 0 -3 0 children [ Billboard { axisOfRotation 0 0 0 children [ Group { children [ Shape { appearance USE TextAppearance geometry Text { string [ "Single 1 second" "right-left transmission" ] fontStyle FontStyle { justify [ "MIDDLE" "MIDDLE" ] size 0.4 } } } Shape { appearance USE TransparentAppearance geometry Box { size 3.2 1 0.01 } } DEF SingleTransmissionTextTouch2 TouchSensor { description "SingleTransmissionText2" } DEF TransmissionDuration1 IntegerTrigger { integerKey 1 } ] ROUTE SingleTransmissionTextTouch2.isActive TO TransmissionDuration1.set_boolean ROUTE TransmissionDuration1.triggerValue TO SeaWebBuoyInstance2.set_transmissionDuration ### Error: Mismatched type: ROUTE source TransmissionDuration1.triggerValue has type SFInt32, but destination SeaWebBuoyInstance2.set_transmissionDuration has type SFTime. ROUTE SingleTransmissionTextTouch2.isActive TO SeaWebBuoyInstance2.set_activated } ] } ] } Transform { translation 4.5 -3 0 children [ Billboard { axisOfRotation 0 0 0 children [ Group { children [ Shape { appearance USE TextAppearance geometry Text { string [ "Single 3 second" " right-left transmission" ] fontStyle FontStyle { justify [ "MIDDLE" "MIDDLE" ] size 0.4 } } } Shape { appearance USE TransparentAppearance geometry Box { size 3.2 1 0.01 } } DEF TransmissionDurationRL2 IntegerTrigger { integerKey 3 } DEF Single3SecRLTransmissionTextTouch TouchSensor { description "Single3SecRLTransmissionText" } ] ROUTE Single3SecRLTransmissionTextTouch.isActive TO TransmissionDurationRL2.set_boolean ROUTE TransmissionDurationRL2.triggerValue TO SeaWebBuoyInstance2.set_transmissionDuration ### Error: Mismatched type: ROUTE source TransmissionDurationRL2.triggerValue has type SFInt32, but destination SeaWebBuoyInstance2.set_transmissionDuration has type SFTime. ROUTE Single3SecRLTransmissionTextTouch.isActive TO SeaWebBuoyInstance2.set_activated } ] } ] } ] }