<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Immersive' version='3.3' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'>
  <head>
    <component level='1' name='DIS'/>
    <component level='1' name='Geospatial'/>
    <meta content='MultipleUnmannedVehiclesOffMonterey.x3d' name='title'/>
    <meta content='Contains multiple DIS-enabled robots in a near-shore environment. 4 mission tracks correspond to openWaterMission1, 2, 3, and 4 included with the workbench distribution.' name='description'/>
    <meta content='Don Brutzman, Duane Davis and Jeff Weekley, Naval Postgraduate School' name='creator'/>
    <meta content='aries auv dis' name='subject'/>
    <meta content='18 April 2004' name='created'/>
    <meta content='20 October 2019' name='modified'/>
    <meta content='AuvInBeachTanks.x3d' name='reference'/>
    <meta content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit' name='generator'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Savage/AuvWorkbench/OperatingAreas/MultipleUnmannedVehiclesOffMonterey.x3d' name='identifier'/>
    <meta content='../../license.html' name='license'/>
  </head>
  <Scene>
    <WorldInfo title='MultipleUnmannedVehiclesOffMonterey.x3d'/>
    <Background DEF='SandyShallowBottom' groundAngle='0.05 1.52 1.56 1.570796' groundColor='0.2 0.2 0 0.3 0.3 0 0.5 0.5 0.3 0.1 0.3 0.4 0 0.2 0.4' skyAngle='0.05 0.1 1.309 1.571' skyColor='0.8 0.8 0.2 0.1 0.1 0.6 0.1 0.1 0.6 0.1 0.25 0.8 0.6 0.6 0.9'/>
    <!-- <DirectionalLight ambientIntensity='0.1' direction='-3 -3 0'/> -->
    <Viewpoint DEF='OverheadViewpoint' description='Monterey Bay Operations Area' fieldOfView='1.0' orientation='-1.0 0.0 0.0 1.57' position='0.0 5000.0 2000.0'/>
    <NavigationInfo DEF='SlowNI' speed='100.0'/>
    <NavigationInfo DEF='FastNI' speed='1000.0' type='"FLY" "ANY"'/>
    <ROUTE fromField='isBound' fromNode='OverheadViewpoint' toField='set_bind' toNode='FastNI'/>
    <Inline url='"MontereyBayOpArea.x3d" "https://www.web3d.org/x3d/content/examples/Savage/AuvWorkbench/OperatingAreas/MontereyBayOpArea.x3d" "MontereyBayOpArea.wrl" "https://www.web3d.org/x3d/content/examples/Savage/AuvWorkbench/OperatingAreas/MontereyBayOpArea.wrl"'/>
    <!-- <Inline url='"../../../Savage/Locations/MontereyBay/MontereyBayLargeMesh.x3d" "../../../Savage/Locations/MontereyBay/MontereyBayLargeMesh.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Locations/MontereyBay/MontereyBayLargeMesh.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Locations/MontereyBay/MontereyBayLargeMesh.wrl"'/> -->
    <Group DEF='ExternProtoDeclaresAndGrid'>
      <ExternProtoDeclare appinfo='Aries unmanned underwater vehicle with IEEE DIS EspduTransform wrapper bundled together in a single prototype' name='AriesEspdu' url='"../../../Savage/Robots/UnmannedUnderwaterVehicles/AriesEspduPrototype.x3d#AriesEspdu" "https://www.web3d.org/x3d/content/examples/Savage/Robots/UnmannedUnderwaterVehicles/AriesEspduPrototype.x3d#AriesEspdu" "../../../Savage/Robots/UnmannedUnderwaterVehicles/AriesEspduPrototype.wrl#AriesEspdu" "https://www.web3d.org/x3d/content/examples/Savage/Robots/UnmannedUnderwaterVehicles/AriesEspduPrototype.wrl#AriesEspdu"'>
        <field accessType='inputOutput' appinfo='up to 11 characters maps to EspduTransform marking' name='hullName' type='SFString'/>
        <field accessType='inputOutput' appinfo='color for this Aries instance' name='hullColor' type='SFColor'/>
        <field accessType='inputOutput' appinfo='initial position prior to first ESPDU receipt' name='translation' type='SFVec3f'/>
        <field accessType='inputOutput' appinfo='initial orientation prior to first ESPDU receipt' name='rotation' type='SFRotation'/>
        <field accessType='inputOutput' name='siteID' type='SFInt32'/>
        <field accessType='inputOutput' name='applicationID' type='SFInt32'/>
        <field accessType='inputOutput' name='entityID' type='SFInt32'/>
        <field accessType='inputOutput' appinfo='network read periodicity' name='readInterval' type='SFTime'/>
        <field accessType='inputOutput' appinfo='network write periodicity' name='writeInterval' type='SFTime'/>
        <field accessType='inputOutput' appinfo='Override default EspduTransform value so that listening occurs by default' name='networkMode' type='SFString'/>
        <field accessType='inputOutput' appinfo='multicast address' name='address' type='SFString'/>
        <field accessType='inputOutput' appinfo='multicast port' name='port' type='SFInt32'/>
        <field accessType='inputOutput' appinfo='Set to 0 to activate EspduTransformTrace' name='traceNodeEnabled' type='SFInt32'/>
      </ExternProtoDeclare>
      <ExternProtoDeclare appinfo='Predator unmanned air vehicle (UAV) with DIS ESPDU network connections' name='PredatorEspdu' url='"../../../Savage/Robots/UnmannedAirVehicles/PredatorEspduPrototype.x3d#PredatorEspdu" "../../../Savage/Robots/UnmannedAirVehicles/PredatorEspduPrototype.wrl#PredatorEspdu" "https://www.web3d.org/x3d/content/examples/Savage/Robots/UnmannedAirVehicles/PredatorEspduPrototype.x3d#PredatorEspdu" "https://www.web3d.org/x3d/content/examples/Savage/Robots/UnmannedAirVehicles/PredatorEspduPrototype.wrl#PredatorEspdu"'>
        <field accessType='inputOutput' appinfo='default value PredatorUAV' name='marking' type='SFString'/>
        <field accessType='inputOutput' appinfo='default value 0 0 0' name='translation' type='SFVec3f'/>
        <field accessType='inputOutput' appinfo='default value 0 0 1 0' name='rotation' type='SFRotation'/>
        <field accessType='inputOutput' appinfo='default value 0' name='siteID' type='SFInt32'/>
        <field accessType='inputOutput' appinfo='default value 1' name='applicationID' type='SFInt32'/>
        <field accessType='inputOutput' appinfo='default value 30' name='entityID' type='SFInt32'/>
        <field accessType='inputOutput' appinfo='default value 0.1' name='readInterval' type='SFTime'/>
        <field accessType='inputOutput' appinfo='default value 1.0' name='writeInterval' type='SFTime'/>
        <field accessType='inputOutput' appinfo='Override default EspduTransform value so that listening occurs by default' name='networkMode' type='SFString'/>
        <field accessType='inputOutput' appinfo='default value 224.2.181.145' name='address' type='SFString'/>
        <field accessType='inputOutput' appinfo='default value 62040' name='port' type='SFInt32'/>
      </ExternProtoDeclare>
      <ExternProtoDeclare 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 accessType='initializeOnly' appinfo='Purpose of this grid displayed for overall Viewpoint' name='description' type='SFString'/>
        <field accessType='inputOutput' appinfo='color for descriptive labels at grid edges and corners' name='labelColor' type='SFColor'/>
        <field accessType='inputOutput' appinfo='default unscaled size: 10m by 10m' name='scale' type='SFVec3f'/>
        <field accessType='inputOutput' name='originLabel' type='MFString'/>
        <field accessType='inputOutput' appinfo='-X axis' name='WestLabel' type='MFString'/>
        <field accessType='inputOutput' name='NorthWestLabel' type='MFString'/>
        <field accessType='inputOutput' appinfo='-Z axis' name='NorthLabel' type='MFString'/>
        <field accessType='inputOutput' name='NorthEastLabel' type='MFString'/>
        <field accessType='inputOutput' appinfo='+X axis' name='EastLabel' type='MFString'/>
        <field accessType='inputOutput' name='SouthEastLabel' type='MFString'/>
        <field accessType='inputOutput' appinfo='+Z axis' name='SouthLabel' type='MFString'/>
        <field accessType='inputOutput' name='SouthWestLabel' type='MFString'/>
        <field accessType='inputOutput' appinfo='label location offset (in meters) to improve readability' name='labelsOffset' type='SFVec3f'/>
      </ExternProtoDeclare>
      <ProtoInstance name='GridXZ'>
        <fieldValue name='description' value='GridXZ for AUV in Open Ocean'/>
        <fieldValue name='labelColor' value='1.0 1.0 1.0'/>
        <fieldValue name='scale' value='50.0 50.0 50.0'/>
        <fieldValue name='originLabel' value='"origin" "0 0 0"'/>
        <fieldValue name='WestLabel' value='"West" "-Y"'/>
        <fieldValue name='NorthWestLabel' value='"500 0 -500"'/>
        <fieldValue name='NorthLabel' value='"North" "+X"'/>
        <fieldValue name='NorthEastLabel' value='"500 0 500"'/>
        <fieldValue name='EastLabel' value='"East" "+Y"'/>
        <fieldValue name='SouthEastLabel' value='"-500 0 500"'/>
        <fieldValue name='SouthLabel' value='"South" "-X"'/>
        <fieldValue name='SouthWestLabel' value='"-500 0 -500"'/>
      </ProtoInstance>
    </Group>
    <Group DEF='RobotEntities'>
      <Group DEF='UavGroup'>
        <ProtoInstance DEF='PREDATOR0' name='PredatorEspdu'>
          <fieldValue name='marking' value='PREDATOR-0'/>
          <fieldValue name='siteID' value='0'/>
          <fieldValue name='applicationID' value='1'/>
          <fieldValue name='entityID' value='30'/>
          <fieldValue name='readInterval' value='0.5'/>
          <fieldValue name='networkMode' value='networkReader'/>
          <fieldValue name='address' value='239.255.5.8'/>
          <fieldValue name='translation' value='15000.0 -10.0 15000.0'/>
        </ProtoInstance>
      </Group>
      <Group DEF='UsvGroup'>
        <EspduTransform address='239.255.5.8' entityID='20' marking='RHIB-0' networkMode='networkReader' readInterval='0.5' translation='0 -2015 0'>
          <Inline url='"../../../Savage/ShipsMilitary/RHIBUnitedStates/RHIB.x3d" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/RHIBUnitedStates/RHIB.x3d" "../../../Savage/ShipsMilitary/RHIBUnitedStates/RHIB.wrl" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/RHIBUnitedStates/RHIB.wrl"'/>
        </EspduTransform>
      </Group>
      <Group DEF='UuvGroup'>
        <ProtoInstance DEF='ARIES0' name='AriesEspdu'>
          <fieldValue name='hullName' value='ARIES-0'/>
          <fieldValue name='siteID' value='0'/>
          <fieldValue name='applicationID' value='1'/>
          <fieldValue name='entityID' value='0'/>
          <fieldValue name='readInterval' value='0.5'/>
          <fieldValue name='networkMode' value='networkReader'/>
          <fieldValue name='address' value='239.255.5.8'/>
          <fieldValue name='translation' value='0.0 -2000.0 0.0'/>
          <fieldValue name='traceNodeEnabled' value='0'/>
        </ProtoInstance>
        <ProtoInstance DEF='ARIES1' name='AriesEspdu'>
          <fieldValue name='hullName' value='ARIES-1'/>
          <fieldValue name='siteID' value='0'/>
          <fieldValue name='applicationID' value='1'/>
          <fieldValue name='entityID' value='1'/>
          <fieldValue name='readInterval' value='0.5'/>
          <fieldValue name='networkMode' value='networkReader'/>
          <fieldValue name='address' value='239.255.5.8'/>
          <fieldValue name='translation' value='0.0 -2005.0 0.0'/>
          <fieldValue name='traceNodeEnabled' value='0'/>
        </ProtoInstance>
        <ProtoInstance DEF='AUV3' name='AriesEspdu'>
          <fieldValue name='hullName' value='AUV-3'/>
          <fieldValue name='siteID' value='0'/>
          <fieldValue name='applicationID' value='1'/>
          <fieldValue name='entityID' value='2'/>
          <fieldValue name='readInterval' value='0.5'/>
          <fieldValue name='networkMode' value='networkReader'/>
          <fieldValue name='address' value='239.255.5.8'/>
          <fieldValue name='translation' value='0.0 -2010.0 0.0'/>
          <fieldValue name='traceNodeEnabled' value='0'/>
        </ProtoInstance>
        <ProtoInstance DEF='AUV4' name='AriesEspdu'>
          <fieldValue name='hullName' value='AUV-4'/>
          <fieldValue name='siteID' value='0'/>
          <fieldValue name='applicationID' value='1'/>
          <fieldValue name='entityID' value='3'/>
          <fieldValue name='readInterval' value='0.5'/>
          <fieldValue name='networkMode' value='networkReader'/>
          <fieldValue name='address' value='239.255.5.8'/>
          <fieldValue name='translation' value='0.0 -2015.0 0.0'/>
          <fieldValue name='traceNodeEnabled' value='0'/>
        </ProtoInstance>
      </Group>
    </Group>
  </Scene>
</X3D>