<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.1//EN" "http://www.web3d.org/specifications/x3d-3.1.dtd">
<X3D profile='Immersive' version='3.1 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' http://www.web3d.org/specifications/x3d-3.1.xsd '>
<head>
<component level='2name='Geometry2D'/>
<meta name='titlecontent='NTDSPrototypes.x3d'/>
<meta name='descriptioncontent='Standard Naval Tactical Display Symbology (NTDS) icons'/>
<meta name='creatorcontent='LT Patrick Sullivan'/>
<meta name='createdcontent='11 February 2006'/>
<meta name='modifiedcontent='10 October 2015'/>
<meta name='referencecontent='NTDSExternProtoExamples.x3d'/>
<meta name='identifiercontent=' https://savage.nps.edu/Savage/Tools/Symbology/NTDSPrototypes.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!-- -->
<Scene>
<!-- These first two Protos are common to all symbology -->
<ProtoDeclare name='SymbolVectorappinfo='NTDS Symbology for vector'>
<ProtoInterface>
<field name='labelColortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Color for labels'/>

<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<Shape>
<Appearance>
<Material>
<IS>
<connect nodeField='diffuseColorprotoField='labelColor'/>
<connect nodeField='emissiveColorprotoField='labelColor'/>
</IS>
</Material>
</Appearance>
<!-- Cylinder bottom='false' height='.01' radius='.1' side='false'/ -->
<IndexedTriangleSet index='2 1 0'>
<Coordinate point='2 0 -0.05 2.3 0 0 2 0 0.05'/>
</IndexedTriangleSet>
</Shape>
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0coordIndex='0 1'>
<Coordinate point='0 0 0 2 0 0'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SymbolLabelappinfo='NTDS Symbology for label'>
<ProtoInterface>
<field name='labelColortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Color for labels'/>

<field name='trackLabeltype='MFStringaccessType='inputOutput'
 appinfo='Additional information for the track (i.e. track number entityID entity name)'/>
</ProtoInterface>
<ProtoBody>
<Transform rotation='1 0 0 -1.57translation='0 0 1.5'>
<Shape>
<Appearance>
<Material>
<IS>
<connect nodeField='diffuseColorprotoField='labelColor'/>
</IS>
</Material>
</Appearance>
<Text>
<IS>
<connect nodeField='stringprotoField='trackLabel'/>
</IS>
<FontStyle justify='"MIDDLE" "MIDDLE"size='0.8'/>
</Text>
</Shape>
</Transform>
</ProtoBody>
</ProtoDeclare>
<!-- Sea Units -->
<ProtoDeclare name='SurfacePendingappinfo='NTDS Symbology for surface vessel, classification pending'>
<ProtoInterface>
<field name='colortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>

<field name='labelColortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Color for labels'/>

<field name='symbolModifiertype='MFStringaccessType='inputOutput'
 appinfo='Symbol Modifier'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='1 1 0'/>
<fieldValue name='labelColorvalue='1 1 0'/>
</ProtoInstance>
<Billboard>
<!-- Symbol Geometry Top arc -->
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape DEF='SemiCircle'>
<Arc2D endAngle='3.1415926536'/>
<Appearance>
<Material>
<IS>
<connect nodeField='emissiveColorprotoField='color'/>
</IS>
</Material>
</Appearance>
</Shape>
</Transform>
<!-- Right arc -->
<Transform rotation='0 -1 0 1.57'>
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape USE='SemiCircle'/>
</Transform>
</Transform>
<!-- Left arc -->
<Transform rotation='0 1 0 1.57'>
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape USE='SemiCircle'/>
</Transform>
</Transform>
<!-- Bottom arc -->
<Transform rotation='1 0 0 1.57translation='0 0 1'>
<Shape USE='SemiCircle'/>
</Transform>
<!-- Symbol Modifier -->
<Transform rotation='1 0 0 -1.57translation='0 0 -1.1'>
<Shape>
<Appearance>
<Material>
<IS>
<connect nodeField='diffuseColorprotoField='labelColor'/>
</IS>
</Material>
</Appearance>
<Text>
<IS>
<connect nodeField='stringprotoField='symbolModifier'/>
</IS>
<FontStyle justify='"MIDDLE" "MIDDLE"size='2'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SurfaceUnknownappinfo='NTDS Symbology for surface vessel, classification unknown'>
<ProtoInterface>
<field name='colortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='1 1 0'/>
<fieldValue name='labelColorvalue='1 1 0'/>
</ProtoInstance>
<Billboard>
<!-- Symbol Geometry Top arc -->
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape DEF='SemiCircle2'>
<Arc2D endAngle='3.1415926536'/>
<Appearance>
<Material>
<IS>
<connect nodeField='emissiveColorprotoField='color'/>
</IS>
</Material>
</Appearance>
</Shape>
</Transform>
<!-- Right arc -->
<Transform rotation='0 -1 0 1.57'>
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape USE='SemiCircle2'/>
</Transform>
</Transform>
<!-- Left arc -->
<Transform rotation='0 1 0 1.57'>
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape USE='SemiCircle2'/>
</Transform>
</Transform>
<!-- Bottom arc -->
<Transform rotation='1 0 0 1.57translation='0 0 1'>
<Shape USE='SemiCircle2'/>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SurfaceFriendappinfo='NTDS Symbology for surface vessel, classification friendly'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='0 0 1'/>
<fieldValue name='labelColorvalue='0 0 1'/>
</ProtoInstance>
<Billboard>
<Transform>
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0coordIndex='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33'>
<Coordinate point='0 0 -1 0.195 0 -0.981 0.382 0 -0.924 0.555 0 -0.832 0.707 0 -0.708 0.831 0 -0.556 0.923 0 -0.383 0.98 0 -0.196 1 0 0 0.98 0 0.195 0.923 0 0.382 0.831 0 0.555 0.707 0 0.707 0.555 0 0.831 0.382 0 0.923 0.195 0 0.98 0 0 1 -0.195 0 0.98 -0.382 0 0.923 -0.555 0 0.831 -0.707 0 0.707 -0.831 0 0.555 -0.923 0 0.382 -0.98 0 0.195 -1 0 0 -0.981 0 -0.195 -0.924 0 -0.382 -0.832 0 -0.555 -0.708 0 -0.707 -0.556 0 -0.831 -0.383 0 -0.923 -0.196 0 -0.98 0 0 -1 0.195 0 -0.981'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SurfaceNeutralappinfo='NTDS Symbology for surface vessel, classification neutral'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='0 1 0'/>
<fieldValue name='labelColorvalue='0 1 0'/>
</ProtoInstance>
<Billboard>
<Transform>
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0coordIndex='0 1 2 3 0'>
<Coordinate point='-1.0 0 1.0 1.0 0 1.0 1.0 0 -1.0 -1.0 0 -1.0'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SurfaceHostile'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='1 0 0'/>
<fieldValue name='labelColorvalue='1 0 0'/>
</ProtoInstance>
<Billboard>
<Transform rotation='0 1 0 .785'>
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0coordIndex='0 1 2 3 0'>
<Coordinate point='-1.0 0 1.0 1.0 0 1.0 1.0 0 -1.0 -1.0 0 -1.0'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SurfaceAssumedFriendappinfo='NTDS Symbology for surface vessel, classification assumed friendly'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>

<field name='labelColortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Color for labels'/>

<field name='symbolModifiertype='MFStringaccessType='inputOutput'
 appinfo='Symbol Modifier'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='0 0 1'/>
<fieldValue name='labelColorvalue='0 0 1'/>
</ProtoInstance>
<Billboard>
<Transform>
<!-- TODO: Save -> Symbol Geometry (broken circle) -->
<!-- Shape> <IndexedLineSet colorIndex='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0' colorPerVertex='false' coordIndex='0 1 -1 2 3 -1 4 5 -1 6 7 -1 8 9 -1 10 11 -1 12 13 -1 14 15 -1 16 17 -1 18 19 -1 20 21'> <Coordinate point='0 0 -1 0.195 0 -0.981 0.555 0 -0.832 0.707 0 -0.708 0.923 0 -0.383 0.98 0 -0.196 0.98 0 0.195 0.923 0 0.382 0.707 0 0.707 0.555 0 0.831 0.195 0 0.98 0 0 1 -0.382 0 0.923 -0.555 0 0.831 -0.831 0 0.555 -0.923 0 0.382 -1 0 0 -0.981 0 -0.195 -0.832 0 -0.555 -0.708 0 -0.707 -0.383 0 -0.923 -0.196 0 -0.98'/> <Color> <IS> <connect nodeField='color' protoField='color'/> </IS> </Color> </IndexedLineSet> </Shape -->
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0coordIndex='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33'>
<Coordinate point='0 0 -1 0.195 0 -0.981 0.382 0 -0.924 0.555 0 -0.832 0.707 0 -0.708 0.831 0 -0.556 0.923 0 -0.383 0.98 0 -0.196 1 0 0 0.98 0 0.195 0.923 0 0.382 0.831 0 0.555 0.707 0 0.707 0.555 0 0.831 0.382 0 0.923 0.195 0 0.98 0 0 1 -0.195 0 0.98 -0.382 0 0.923 -0.555 0 0.831 -0.707 0 0.707 -0.831 0 0.555 -0.923 0 0.382 -0.98 0 0.195 -1 0 0 -0.981 0 -0.195 -0.924 0 -0.382 -0.832 0 -0.555 -0.708 0 -0.707 -0.556 0 -0.831 -0.383 0 -0.923 -0.196 0 -0.98 0 0 -1 0.195 0 -0.981'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
<!-- Symbol Modifier -->
<Transform rotation='1 0 0 -1.57translation='1 0 -1.2'>
<Shape>
<Appearance>
<Material>
<IS>
<connect nodeField='diffuseColorprotoField='labelColor'/>
</IS>
</Material>
</Appearance>
<Text>
<IS>
<connect nodeField='stringprotoField='symbolModifier'/>
</IS>
<FontStyle justify='"BEGIN" "BEGIN"size='0.5'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SurfaceSuspectappinfo='NTDS Symbology for surface vessel, classification suspected hostile'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>

<field name='labelColortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Color for labels'/>

<field name='symbolModifiertype='MFStringaccessType='inputOutput'
 appinfo='Symbol Modifier'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='1 0 0'/>
<fieldValue name='labelColorvalue='1 0 0'/>
</ProtoInstance>
<Billboard>
<Transform rotation='0 1 0 .785'>
<!-- TODO: Save -> Symbol Geometry (broken lined square) -->
<!-- Shape> <IndexedLineSet colorIndex='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0' colorPerVertex='false' coordIndex='0 1 -1 2 3 -1 4 5 -1 6 7 8 -1 9 10 -1 11 12 -1 13 14 15 -1 16 17 -1 18 19 -1 20 21 22 -1 23 24 -1 25 26 -1 27 28'> <Coordinate point='-1.0 0 1.0 -0.8 0 1.0 -0.4 0 1.0 -0.2 0 1.0 0.2 0 1.0 0.4 0 1.0 0.8 0 1.0 1.0 0 1.0 1.0 0 0.8 1.0 0 0.4 1.0 0 0.2 1.0 0 -0.2 1.0 0 -0.4 1.0 0 -0.8 1.0 0 -1.0 0.8 0 -1.0 0.4 0 -1.0 0.2 0 -1.0 -0.2 0 -1.0 -0.4 0 -1.0 -0.8 0 -1.0 -1.0 0 -1.0 -1.0 0 -0.8 -1.0 0 -0.4 -1.0 0 -0.2 -1.0 0 0.2 -1.0 0 0.4 -1.0 0 0.8 -1.0 0 1.0'/> <Color> <IS> <connect nodeField='color' protoField='color'/> </IS> </Color> </IndexedLineSet> </Shape -->
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0coordIndex='0 1 2 3 0'>
<Coordinate point='-1.0 0 1.0 1.0 0 1.0 1.0 0 -1.0 -1.0 0 -1.0'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
<!-- Symbol Modifier -->
<Transform rotation='1 0 0 -1.57translation='1 0 -1.2'>
<Shape>
<Appearance>
<Material>
<IS>
<connect nodeField='diffuseColorprotoField='labelColor'/>
</IS>
</Material>
</Appearance>
<Text>
<IS>
<connect nodeField='stringprotoField='symbolModifier'/>
</IS>
<FontStyle justify='"BEGIN" "BEGIN"size='0.5'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<!-- Air Units -->
<ProtoDeclare name='AirPendingappinfo='NTDS Symbology for air vessel, classification pending'>
<ProtoInterface>
<field name='colortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>

<field name='labelColortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Color for labels'/>

<field name='symbolModifiertype='MFStringaccessType='inputOutput'
 appinfo='Symbol Modifier'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='1 1 0'/>
<fieldValue name='labelColorvalue='1 1 0'/>
</ProtoInstance>
<Billboard>
<!-- Symbol Geometry Top arc -->
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape DEF='SemiCircle3'>
<Arc2D endAngle='3.1415926536'/>
<Appearance>
<Material>
<IS>
<connect nodeField='emissiveColorprotoField='color'/>
</IS>
</Material>
</Appearance>
</Shape>
</Transform>
<!-- Right arc -->
<Transform rotation='0 -1 0 1.57'>
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape USE='SemiCircle3'/>
</Transform>
</Transform>
<!-- Left arc -->
<Transform rotation='0 1 0 1.57'>
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape USE='SemiCircle3'/>
</Transform>
</Transform>
<!-- Symbol Modifier -->
<Transform rotation='1 0 0 -1.57translation='0 0 -1.1'>
<Shape>
<Appearance>
<Material>
<IS>
<connect nodeField='diffuseColorprotoField='labelColor'/>
</IS>
</Material>
</Appearance>
<Text>
<IS>
<connect nodeField='stringprotoField='symbolModifier'/>
</IS>
<FontStyle justify='"MIDDLE" "MIDDLE"size='2'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='AirUnknownappinfo='NTDS Symbology for air vessel, classification unknown'>
<ProtoInterface>
<field name='colortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='1 1 0'/>
<fieldValue name='labelColorvalue='1 1 0'/>
</ProtoInstance>
<Billboard>
<!-- Symbol Geometry Top arc -->
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape DEF='SemiCircle4'>
<Arc2D endAngle='3.1415926536'/>
<Appearance>
<Material>
<IS>
<connect nodeField='emissiveColorprotoField='color'/>
</IS>
</Material>
</Appearance>
</Shape>
</Transform>
<!-- Right arc -->
<Transform rotation='0 -1 0 1.57'>
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape USE='SemiCircle4'/>
</Transform>
</Transform>
<!-- Left arc -->
<Transform rotation='0 1 0 1.57'>
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape USE='SemiCircle4'/>
</Transform>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='AirFriendappinfo='NTDS Symbology for air vessel, classification friendly'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='0 0 1'/>
<fieldValue name='labelColorvalue='0 0 1'/>
</ProtoInstance>
<Billboard>
<Transform rotation='0 1 0 3.14'>
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0coordIndex='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'>
<Coordinate point='1 0 0 0.98 0 0.195 0.923 0 0.382 0.831 0 0.555 0.707 0 0.707 0.555 0 0.831 0.382 0 0.923 0.195 0 0.98 0 0 1 -0.195 0 0.98 -0.382 0 0.923 -0.555 0 0.831 -0.707 0 0.707 -0.831 0 0.555 -0.923 0 0.382 -0.98 0 0.195 -1 0 0'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='AirNeutralappinfo='NTDS Symbology for air vessel, classification neutral'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='0 1 0'/>
<fieldValue name='labelColorvalue='0 1 0'/>
</ProtoInstance>
<Billboard>
<Transform>
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0coordIndex='0 1 2 3'>
<Coordinate point='-1.0 0 0 -1.0 0 -1.0 1.0 0 -1.0 1.0 0 0'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='AirHostileappinfo='NTDS Symbology for air vessel, classification hostile'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='1 0 0'/>
<fieldValue name='labelColorvalue='1 0 0'/>
</ProtoInstance>
<Billboard>
<Transform rotation='0 1 0 2.295'>
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0coordIndex='0 1 2'>
<Coordinate point='-1.0 0 1.0 1.0 0 1.0 1.0 0 -1.0'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='AirAssumedFriendappinfo='NTDS Symbology for air vessel, classification assumed friendly'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>

<field name='labelColortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Color for labels'/>

<field name='symbolModifiertype='MFStringaccessType='inputOutput'
 appinfo='Symbol Modifier'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='0 0 1'/>
<fieldValue name='labelColorvalue='0 0 1'/>
</ProtoInstance>
<Billboard>
<Transform rotation='0 1 0 1.57'>
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0 0 0 0 0 0 0 0coordIndex='0 1 -1 2 3 -1 4 5 -1 6 7 -1 8 9 -1 10 11'>
<Coordinate point='0 0 -1 0.195 0 -0.981 0.555 0 -0.832 0.707 0 -0.708 0.923 0 -0.383 0.98 0 -0.196 0.98 0 0.195 0.923 0 0.382 0.707 0 0.707 0.555 0 0.831 0.195 0 0.98 0 0 1'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
<!-- Symbol Modifier -->
<Transform rotation='1 0 0 -1.57translation='1 0 -1.2'>
<Shape>
<Appearance>
<Material>
<IS>
<connect nodeField='diffuseColorprotoField='labelColor'/>
</IS>
</Material>
</Appearance>
<Text>
<IS>
<connect nodeField='stringprotoField='symbolModifier'/>
</IS>
<FontStyle justify='"BEGIN" "BEGIN"size='0.5'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='AirSuspectappinfo='NTDS Symbology for air vessel, classification suspect'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>

<field name='labelColortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Color for labels'/>

<field name='symbolModifiertype='MFStringaccessType='inputOutput'
 appinfo='Symbol Modifier'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='1 0 0'/>
<fieldValue name='labelColorvalue='1 0 0'/>
</ProtoInstance>
<Billboard>
<Transform rotation='0 1 0 2.295'>
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0coordIndex='0 1 2 3 0'>
<Coordinate point='-1.0 0 1.0 1.0 0 1.0 1.0 0 -1.0 -1.0 0 -1.0'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
<!-- Symbol Modifier -->
<Transform rotation='1 0 0 -1.57translation='1 0 -1.2'>
<Shape>
<Appearance>
<Material>
<IS>
<connect nodeField='diffuseColorprotoField='labelColor'/>
</IS>
</Material>
</Appearance>
<Text>
<IS>
<connect nodeField='stringprotoField='symbolModifier'/>
</IS>
<FontStyle justify='"BEGIN" "BEGIN"size='0.5'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<!-- Sub-Surface Units -->
<ProtoDeclare name='SubSurfacePendingappinfo='NTDS Symbology for subsurface vessel, classification pending'>
<ProtoInterface>
<field name='colortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>

<field name='labelColortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Color for labels'/>

<field name='symbolModifiertype='MFStringaccessType='inputOutput'
 appinfo='Symbol Modifier'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='1 1 0'/>
<fieldValue name='labelColorvalue='1 1 0'/>
</ProtoInstance>
<Billboard>
<!-- Symbol Geometry Right arc -->
<Transform rotation='0 -1 0 1.57'>
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape DEF='SemiCircle5'>
<Arc2D endAngle='3.1415926536'/>
<Appearance>
<Material>
<IS>
<connect nodeField='emissiveColorprotoField='color'/>
</IS>
</Material>
</Appearance>
</Shape>
</Transform>
</Transform>
<!-- Left arc -->
<Transform rotation='0 1 0 1.57'>
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape USE='SemiCircle5'/>
</Transform>
</Transform>
<!-- Bottom arc -->
<Transform rotation='1 0 0 1.57translation='0 0 1'>
<Shape USE='SemiCircle5'/>
</Transform>
<!-- Symbol Modifier -->
<Transform rotation='1 0 0 -1.57translation='0 0 -1.1'>
<Shape>
<Appearance>
<Material>
<IS>
<connect nodeField='diffuseColorprotoField='labelColor'/>
</IS>
</Material>
</Appearance>
<Text>
<IS>
<connect nodeField='stringprotoField='symbolModifier'/>
</IS>
<FontStyle justify='"MIDDLE" "MIDDLE"size='2'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SubSurfaceUnknownappinfo='NTDS Symbology for subsurface vessel, classification unknown'>
<ProtoInterface>
<field name='colortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='1 1 0'/>
<fieldValue name='labelColorvalue='1 1 0'/>
</ProtoInstance>
<Billboard>
<!-- Symbol Geometry Right arc -->
<Transform rotation='0 -1 0 1.57'>
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape DEF='SemiCircle6'>
<Arc2D endAngle='3.1415926536'/>
<Appearance>
<Material>
<IS>
<connect nodeField='emissiveColorprotoField='color'/>
</IS>
</Material>
</Appearance>
</Shape>
</Transform>
</Transform>
<!-- Left arc -->
<Transform rotation='0 1 0 1.57'>
<Transform rotation='-1 0 0 1.57translation='0 0 -1'>
<Shape USE='SemiCircle6'/>
</Transform>
</Transform>
<!-- Bottom arc -->
<Transform rotation='1 0 0 1.57translation='0 0 1'>
<Shape USE='SemiCircle6'/>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SubSurfaceFriendappinfo='NTDS Symbology for subsurface vessel, classification friendly'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='0 0 1'/>
<fieldValue name='labelColorvalue='0 0 1'/>
</ProtoInstance>
<Billboard>
<Transform>
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0coordIndex='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'>
<Coordinate point='1 0 0 0.98 0 0.195 0.923 0 0.382 0.831 0 0.555 0.707 0 0.707 0.555 0 0.831 0.382 0 0.923 0.195 0 0.98 0 0 1 -0.195 0 0.98 -0.382 0 0.923 -0.555 0 0.831 -0.707 0 0.707 -0.831 0 0.555 -0.923 0 0.382 -0.98 0 0.195 -1 0 0'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SubSurfaceNeutralappinfo='NTDS Symbology for subsurface vessel, classification neutral'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='0 1 0'/>
<fieldValue name='labelColorvalue='0 1 0'/>
</ProtoInstance>
<Billboard>
<Transform rotation='0 1 0 3.14'>
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0coordIndex='0 1 2 3'>
<Coordinate point='-1.0 0 0 -1.0 0 -1.0 1.0 0 -1.0 1.0 0 0'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SubSurfaceHostileappinfo='NTDS Symbology for subsurface vessel, classification hostile'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='1 0 0'/>
<fieldValue name='labelColorvalue='1 0 0'/>
</ProtoInstance>
<Billboard>
<Transform rotation='0 1 0 -.785'>
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0coordIndex='0 1 2'>
<Coordinate point='-1.0 0 1.0 1.0 0 1.0 1.0 0 -1.0'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SubSurfaceAssumedFriendappinfo='NTDS Symbology for subsurface vessel, classification assumed friendly'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>

<field name='labelColortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Color for labels'/>

<field name='symbolModifiertype='MFStringaccessType='inputOutput'
 appinfo='Symbol Modifier'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='0 0 1'/>
<fieldValue name='labelColorvalue='0 0 1'/>
</ProtoInstance>
<Billboard>
<Transform rotation='0 1 0 -1.57'>
<!-- Symbol Geometry -->
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0 0 0 0 0 0 0 0coordIndex='0 1 -1 2 3 -1 4 5 -1 6 7 -1 8 9 -1 10 11'>
<Coordinate point='0 0 -1 0.195 0 -0.981 0.555 0 -0.832 0.707 0 -0.708 0.923 0 -0.383 0.98 0 -0.196 0.98 0 0.195 0.923 0 0.382 0.707 0 0.707 0.555 0 0.831 0.195 0 0.98 0 0 1'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
<!-- Symbol Modifier -->
<Transform rotation='1 0 0 -1.57translation='1 0 -1.2'>
<Shape>
<Appearance>
<Material>
<IS>
<connect nodeField='diffuseColorprotoField='labelColor'/>
</IS>
</Material>
</Appearance>
<Text>
<IS>
<connect nodeField='stringprotoField='symbolModifier'/>
</IS>
<FontStyle justify='"BEGIN" "BEGIN"size='0.5'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='SubSurfaceSuspectappinfo='NTDS Symbology for subsurface vessel, classification suspect'>
<ProtoInterface>
<field name='colortype='MFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Single color value for symbol'/>

<field name='labelColortype='SFColorvalue='0.8 0.8 0.8accessType='inputOutput'
 appinfo='Color for labels'/>

<field name='symbolModifiertype='MFStringaccessType='inputOutput'
 appinfo='Symbol Modifier'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<ProtoInstance name='SymbolVector'>
<fieldValue name='colorvalue='1 0 0'/>
<fieldValue name='labelColorvalue='1 0 0'/>
</ProtoInstance>
<Billboard>
<Transform rotation='0 1 0 -.785'>
<Shape>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0coordIndex='0 1 2 3 0'>
<Coordinate point='-1.0 0 1.0 1.0 0 1.0 1.0 0 -1.0 -1.0 0 -1.0'/>
<Color>
<IS>
<connect nodeField='colorprotoField='color'/>
</IS>
</Color>
</IndexedLineSet>
</Shape>
</Transform>
<!-- Symbol Modifier -->
<Transform rotation='1 0 0 -1.57translation='1 0 -1.2'>
<Shape>
<Appearance>
<Material>
<IS>
<connect nodeField='diffuseColorprotoField='labelColor'/>
</IS>
</Material>
</Appearance>
<Text>
<IS>
<connect nodeField='stringprotoField='symbolModifier'/>
</IS>
<FontStyle justify='"BEGIN" "BEGIN"size='0.5'/>
</Text>
</Shape>
</Transform>
</Billboard>
</Transform>
</ProtoBody>
</ProtoDeclare>
<!-- Ground Equipment (exactly the same as Sea Surface symbols) -->
<ProtoDeclare name='GroundEquipmentPendingappinfo='NTDS Symbology for Ground Equipment, classification pending'>
<ProtoBody>
<Transform>
<ProtoInstance name='SurfacePending'>
<fieldValue name='colorvalue='1 1 0'/>
<fieldValue name='labelColorvalue='1 1 0'/>
<fieldValue name='symbolModifiervalue='"?"'/>
</ProtoInstance>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='GroundEquipmentUnknownappinfo='NTDS Symbology for Ground Equipment, classification unknown'>
<ProtoBody>
<Transform>
<ProtoInstance name='SurfaceUnknown'>
<fieldValue name='colorvalue='1 1 0'/>
</ProtoInstance>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='GroundEquipmentFriendappinfo='NTDS Symbology for Ground Equipment, classification friendly'>
<ProtoBody>
<Transform>
<ProtoInstance name='SurfaceFriend'>
<fieldValue name='colorvalue='0 0 1'/>
</ProtoInstance>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='GroundEquipmentNeutralappinfo='NTDS Symbology for Ground Equipment, classification neutral'>
<ProtoBody>
<Transform>
<ProtoInstance name='SurfaceNeutral'>
<fieldValue name='colorvalue='0 1 0'/>
</ProtoInstance>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='GroundEquipmentHostileappinfo='NTDS Symbology for Ground Equipment, classification hostile'>
<ProtoBody>
<Transform>
<ProtoInstance name='SurfaceHostile'>
<fieldValue name='colorvalue='1 0 0'/>
</ProtoInstance>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='GroundEquipmentAssumedFriendappinfo='NTDS Symbology for Ground Equipment, classification assumed friendly'>
<ProtoBody>
<Transform>
<ProtoInstance name='SurfaceAssumedFriend'>
<fieldValue name='colorvalue='0 0 1'/>
<fieldValue name='labelColorvalue='0 0 1'/>
<fieldValue name='symbolModifiervalue='"?"'/>
</ProtoInstance>
</Transform>
</ProtoBody>
</ProtoDeclare>
<ProtoDeclare name='GroundEquipmentSuspectappinfo='NTDS Symbology for Ground Equipment, classification suspect'>
<ProtoBody>
<Transform>
<ProtoInstance name='SurfaceSuspect'>
<fieldValue name='colorvalue='1 0 0'/>
<fieldValue name='labelColorvalue='1 0 0'/>
<fieldValue name='symbolModifiervalue='"?"'/>
</ProtoInstance>
</Transform>
</ProtoBody>
</ProtoDeclare>
<!-- Viewable geometry for this scene is anchored text that links to an example showing ExternProtoDeclare usage of BeamCylinder -->
<Viewpoint description='NTDS Symbology Prototypesposition='0 0 12'/>
<Anchor description='NTDS Symbology Examples'
  url=' "NTDSExternProtoExamples.x3d" "../../CommunicationsAndSensors/Beam/NTDSExternProtoExamples.x3d" "https://savage.nps.edu/Savage/CommunicationsAndSensors/Beam/NTDSExternProtoExamples.x3d" "NTDSExternProtoExamples.wrl" "../../CommunicationsAndSensors/Beam/NTDSExternProtoExamples.wrl" "https://savage.nps.edu/Savage/CommunicationsAndSensors/Beam/NTDSExternProtoExamples.wrl" '>
<Shape>
<Appearance>
<Material diffuseColor='0 1 1emissiveColor='0 1 1'/>
</Appearance>
<Text string='"BeamHemispherePrototype" "is a Prototype definition file." "" "Select this text to view" "NTDSExternProtoExamples"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
</Shape>
<!-- Transparent box to simplify user selection (i.e. "clickability") -->
<Shape>
<Box size='12 6 0.1'/>
<Appearance>
<Material transparency='0.8'/>
</Appearance>
</Shape>
</Anchor>
<!-- ***THE FOLLOWING NOT YET IMPLEMENTED*** -->
<!-- Space Units -->
<!-- Ground Installations -->
<!-- Special Ops Units -->
</Scene>
</X3D>
<!--

Index for ProtoDeclare definitions : AirAssumedFriend, AirFriend, AirHostile, AirNeutral, AirPending, AirSuspect, AirUnknown, GroundEquipmentAssumedFriend, GroundEquipmentFriend, GroundEquipmentHostile, GroundEquipmentNeutral, GroundEquipmentPending, GroundEquipmentSuspect, GroundEquipmentUnknown, SubSurfaceAssumedFriend, SubSurfaceFriend, SubSurfaceHostile, SubSurfaceNeutral, SubSurfacePending, SubSurfaceSuspect, SubSurfaceUnknown, SurfaceAssumedFriend, SurfaceFriend, SurfaceHostile, SurfaceNeutral, SurfacePending, SurfaceSuspect, SurfaceUnknown, SymbolLabel, SymbolVector

Index for DEF nodes : SemiCircle, SemiCircle2, SemiCircle3, SemiCircle4, SemiCircle5, SemiCircle6

Index for Viewpoint image : Viewpoint_1
-->

<!-- Color key: <X3dNode DEF='idName' field='value'/> matches <XmlElement DEF='idName' attribute='value'/>
(Light blue background: behavior node) (Grey background: inserted documentation) (Magenta background: X3D Extensibility)
    <Prototype name='ProtoName'> <field name='fieldName'/> </Prototype> -->

<!-- Additional help information about X3D scenes: X3D Resources, X3D Scene Authoring Hints and X3D Tooltips -->