<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
<X3D profile='Immersive' version='3.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  <head>
    <meta content='CG47Prototype.x3d' name='title'/>
    <meta content='Prototype for a Ticonderoga Class cruiser' name='description'/>
    <meta content='Patrick Sullivan' name='creator'/>
    <meta content='30 July 2006' name='created'/>
    <meta content='20 October 2019' name='modified'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/CruiserUnitedStates/CG47Prototype.x3d' name='identifier'/>
    <meta content='Prototypes, FFG7, Oliver Perry Frigate' name='subject'/>
    <meta content='../../license.html' name='license'/>
  </head>
  <Scene>
    <WorldInfo title='CG47Prototype.x3d'/>
    <ExternProtoDeclare name='HullNumber' url='"../../../Savage/ModelDetailing/HullNumbers/HullNumberPrototype.x3d#HullNumber" "https://www.web3d.org/x3d/content/examples/Savage/ModelDetailing/HullNumbers/HullNumberPrototype.x3d#HullNumber"'>
      <field accessType='inputOutput' appinfo='[0-9] (-1 will prevent rendering)' name='FirstNumber' type='SFInt32'/>
      <field accessType='inputOutput' appinfo='[0-9] (-1 will prevent rendering)' name='SecondNumber' type='SFInt32'/>
    </ExternProtoDeclare>
    <ProtoDeclare appinfo='Prototype of a US Cruiser' name='CG'>
      <ProtoInterface>
        <field accessType='inputOutput' appinfo='URL for the ISIC seal that is found on the side of most navy ships (e.g. "../../ShipCrests/COMDESRON31/DESRON31.x3d")' name='ISIC' type='MFString' value='"none"'/>
        <field accessType='inputOutput' appinfo='The first (or only) digit of the ship&apos;s hull number [0-9]. Note -1 for no number' name='HullNumber1' type='SFInt32' value='-1'/>
        <field accessType='inputOutput' appinfo='The second digit of the ship&apos;s hull number [0-9]. Note: -1 for no number' name='HullNumber2' type='SFInt32' value='-1'/>
        <field accessType='inputOutput' appinfo='URL for the model that represents the weapon at this location. [example "https://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")' name='StarboardBowWeapon' type='MFString' value='"none"'/>
        <field accessType='inputOutput' appinfo='URL for the model that represents the weapon at this location. [example "https://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")' name='PortBowWeapon' type='MFString' value='"none"'/>
        <field accessType='inputOutput' appinfo='URL for the model that represents the weapon at this location. [example "https://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")' name='StarboardFlightDeckWeapon' type='MFString' value='"none"'/>
        <field accessType='inputOutput' appinfo='URL for the model that represents the weapon at this location. [example "https://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")' name='PortFlightDeckWeapon' type='MFString' value='"none"'/>
        <field accessType='inputOutput' appinfo='URL for the model that represents the weapon at this location. [example "https://www.web3d.org/content/examples/Savage/Weapons/50Cal.x3d")' name='SternFlightDeckWeapon' type='MFString' value='"none"'/>
      </ProtoInterface>
      <ProtoBody>
        <Transform>
          <!-- Ship Model -->
          <Transform DEF='CGShipModel'>
            <Inline url='"../../../Savage/ShipsMilitary/CruiserUnitedStates/CG47.x3d" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/CruiserUnitedStates/CG47.x3d"'/>
          </Transform>
          <!-- Hull Numbers -->
          <Transform DEF='StarboardBowHullNumber' rotation='.721 .678 -.141 .523' translation='74.514 5.007 2.192'>
            <ProtoInstance DEF='ShipNumber' name='HullNumber'>
              <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>
              <Inline USE='ISICSeal'/>
            </Transform>
          </Transform>
          <!-- Weapon Placements -->
          <Transform DEF='StarboardBowWeapon' rotation='0 1 0 3.14' translation='32.363 6.138 7.115'>
            <Inline>
              <IS>
                <connect nodeField='url' protoField='StarboardBowWeapon'/>
              </IS>
            </Inline>
          </Transform>
          <Transform DEF='PortBowWeapon' translation='32.363 6.138 -6.694'>
            <Inline>
              <IS>
                <connect nodeField='url' protoField='PortBowWeapon'/>
              </IS>
            </Inline>
          </Transform>
          <Transform DEF='StarboardFlightDeckWeapon' rotation='0 1 0 3.14' translation='-66.615 3.709 5.961'>
            <Inline>
              <IS>
                <connect nodeField='url' protoField='StarboardFlightDeckWeapon'/>
              </IS>
            </Inline>
          </Transform>
          <Transform DEF='PortFlightDeckWeapon' translation='-66.615 3.709 -5.631'>
            <Inline>
              <IS>
                <connect nodeField='url' protoField='PortFlightDeckWeapon'/>
              </IS>
            </Inline>
          </Transform>
          <Transform DEF='SternFlightDeckWeapon' rotation='0 1 0 1.57' translation='-86.633 4.148 4.785'>
            <Inline>
              <IS>
                <connect nodeField='url' protoField='SternFlightDeckWeapon'/>
              </IS>
            </Inline>
          </Transform>
        </Transform>
      </ProtoBody>
    </ProtoDeclare>
  </Scene>
</X3D>