<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='CG' appinfo='Prototype of a US Cruiser'>
<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='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='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='CGShipModel'>
</Transform>
<!-- Hull Numbers -->
<Transform DEF='StarboardBowHullNumber' rotation='.721 .678 -.141 .523' translation='74.514 5.007 2.192'>
<ProtoInstance name='HullNumber' DEF='ShipNumber'>
<IS>
<connect nodeField='FirstNumber' protoField='HullNumber1'/>
<connect nodeField='SecondNumber' protoField='HullNumber2'/>
</IS>
</ProtoInstance>
</Transform>
<Transform DEF='PortBowHullNumber' rotation='.025 .99 -.139 2.794' translation='74.514 5.007 -2.197'>
<ProtoInstance name='HullNumber'>
<IS>
<connect nodeField='FirstNumber' protoField='HullNumber1'/>
<connect nodeField='SecondNumber' protoField='HullNumber2'/>
</IS>
</ProtoInstance>
</Transform>
<!-- ISIC Seals -->
<Transform DEF='StarboardSeal' translation='19.032 9.298 5.717'>
<Transform>
<Inline DEF='ISICSeal'>
<IS>
<connect nodeField='url' protoField='ISIC'/>
</IS>
</Inline>
</Transform>
</Transform>
<Transform DEF='PortSeal' rotation='0 1 0 3.14' translation='19.032 9.298 -5.546'>
</Transform>
<!-- Weapon Placements -->
<Transform DEF='StarboardBowWeapon' rotation='0 1 0 3.14' translation='32.363 6.138 7.115'>
</Transform>
<Transform DEF='PortBowWeapon' translation='32.363 6.138 -6.694'>
</Transform>
<Transform DEF='StarboardFlightDeckWeapon' rotation='0 1 0 3.14' translation='-66.615 3.709 5.961'>
</Transform>
<Transform DEF='PortFlightDeckWeapon' translation='-66.615 3.709 -5.631'>
</Transform>
<Transform DEF='SternFlightDeckWeapon' rotation='0 1 0 1.57' translation='-86.633 4.148 4.785'>
</Transform>
</Transform>
</ProtoBody>
</ProtoDeclare>