<ExternProtoDeclare name='HullNumber'
url='
"../../../Savage/ModelDetailing/HullNumbers/HullNumberPrototype.x3d#HullNumber"
"https://savage.nps.edu/Savage/ModelDetailing/HullNumbers/HullNumberPrototype.x3d#HullNumber" '>
<field name='FirstNumber' type='SFInt32' accessType='inputOutput'
appinfo='[0-9] (-1 will prevent rendering)'/>
<field name='SecondNumber' type='SFInt32' accessType='inputOutput'
appinfo='[0-9] (-1 will prevent rendering)'/>
</ExternProtoDeclare>
<ProtoDeclare name='DDG51' appinfo='Prototype of a DDG51 Class Destroyer'>
<ProtoInterface>
<field name='ISIC' type='MFString' value='"none"' accessType='inputOutput'
appinfo='URL for the ISIC seal that is found on the side of most navy ships (e.g. "../../ShipCrests/COMDESRON31/DESRON31.x3d")'/>
<field name='HullNumber1' type='SFInt32' value='-1' accessType='inputOutput'
appinfo="The first (or only) digit of the ship's hull number [0-9]. Note -1 for no number"/>
<field name='HullNumber2' type='SFInt32' value='-1' accessType='inputOutput'
appinfo="The second digit of the ship's hull number [0-9]. Note: -1 for no number"/>
<field name='ForwardBowWeapon' type='MFString' value='"none"' accessType='inputOutput'
appinfo='URL for the model that represents the weapon at this location. [example "http://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")'/>
<field name='StarboardBowWeapon' type='MFString' value='"none"' accessType='inputOutput'
appinfo='URL for the model that represents the weapon at this location. [example "http://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")'/>
<field name='PortBowWeapon' type='MFString' value='"none"' accessType='inputOutput'
appinfo='URL for the model that represents the weapon at this location. [example "http://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")'/>
<field name='StarboardBridgeWeapon' type='MFString' value='"none"' accessType='inputOutput'
appinfo='URL for the model that represents the weapon at this location. [example "http://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")'/>
<field name='PortBridgeWeapon' type='MFString' value='"none"' accessType='inputOutput'
appinfo='URL for the model that represents the weapon at this location. [example "http://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")'/>
<field name='StarboardMidshipWeapon' type='MFString' value='"none"' accessType='inputOutput'
appinfo='URL for the model that represents the weapon at this location. [example "http://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")'/>
<field name='PortMidshipWeapon' type='MFString' value='"none"' accessType='inputOutput'
appinfo='URL for the model that represents the weapon at this location. [example "http://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")'/>
<field name='StarboardFlightDeckWeapon' type='MFString' value='"none"' accessType='inputOutput'
appinfo='URL for the model that represents the weapon at this location. [example "http://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")'/>
<field name='PortFlightDeckWeapon' type='MFString' value='"none"' accessType='inputOutput'
appinfo='URL for the model that represents the weapon at this location. [example "http://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")'/>
<field name='SternFlightDeckWeapon' type='MFString' value='"none"' accessType='inputOutput'
appinfo='URL for the model that represents the weapon at this location. [example "http://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")'/>
</ProtoInterface>
<ProtoBody>
<Transform>
<!-- Ship Model -->
<Transform DEF='DDG51ShipModel'>
</Transform>
<!-- Hull Numbers -->
<Transform DEF='StarboardBowHullNumber' rotation='0.85 0.499 -0.163 .729' translation='70.513 5.099 2.082'>
<ProtoInstance name='HullNumber' DEF='ShipNumber'>
<IS>
<connect nodeField='FirstNumber' protoField='HullNumber1'/>
<connect nodeField='SecondNumber' protoField='HullNumber2'/>
</IS>
</ProtoInstance>
</Transform>
<Transform DEF='PortBowHullNumber' rotation='.047 .967 -.249 2.776' translation='71.44 5.429 -3.826'>
<ProtoInstance name='HullNumber'>
<IS>
<connect nodeField='FirstNumber' protoField='HullNumber1'/>
<connect nodeField='SecondNumber' protoField='HullNumber2'/>
</IS>
</ProtoInstance>
</Transform>
<!-- ISIC Seals -->
<Transform DEF='StarboardSeal' rotation='1 0 0 -.249' translation='16.615 16.528 1.856'>
<Transform>
<Inline DEF='ISICSeal'>
<IS>
<connect nodeField='url' protoField='ISIC'/>
</IS>
</Inline>
</Transform>
</Transform>
<Transform DEF='PortSeal' rotation='1 0 0 .251' translation='16.615 16.528 -3.808'>
<Transform rotation='0 1 0 -3.14'>
</Transform>
</Transform>
<!-- Weapon Placements -->
<Transform DEF='ForwardBowWeapon' rotation='0 1 0 3.14' translation='75.405 10.171 2.394'>
</Transform>
<Transform DEF='StarboardBowWeapon' rotation='0 1 0 3.14' translation='43.981 7.816 8.47'>
</Transform>
<Transform DEF='PortBowWeapon' translation='43.981 7.816 -10.049'>
</Transform>
<Transform DEF='StarboardBridgeWeapon' rotation='0 1 0 -1.57' translation='29.833 16.4 7.702'>
</Transform>
<Transform DEF='PortBridgeWeapon' rotation='0 1 0 1.57' translation='30.399 16.4 -9.104'>
</Transform>
<Transform DEF='StarboardMidshipWeapon' rotation='0 1 0 -1.57' translation='10.066 6.2 8.632'>
</Transform>
<Transform DEF='PortMidshipWeapon' rotation='0 1 0 1.57' translation='10.066 6.2 -9.793'>
</Transform>
<Transform DEF='StarboardFlightDeckWeapon' rotation='0 1 0 3.14' translation='-51.47 3.922 8.129'>
</Transform>
<Transform DEF='PortFlightDeckWeapon' translation='-51.686 3.922 -9.088'>
</Transform>
<Transform DEF='SternFlightDeckWeapon' rotation='0 1 0 1.57' translation='-71.592 3.922 6.292'>
</Transform>
</Transform>
</ProtoBody>
</ProtoDeclare>