<?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='RapierLauncherSystem.x3d' name='title'/>
    <meta content='Oliver Tan' name='creator'/>
    <meta content='28 January 2004' name='created'/>
    <meta content='28 November 2019' name='modified'/>
    <meta content='Rapier Launcher System.' name='description'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/RapierLauncherSystem.x3d' name='identifier'/>
    <meta content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit' name='generator'/>
    <meta content='http://www.army-technology.com/projects/jernas/jernas1.html' name='reference'/>
    <meta content='Rapier, Rapier missile, missile, missile launcher, launcher' name='subject'/>
    <meta content='../../license.html' name='license'/>
  </head>
  <Scene>
    <!-- This NavigationInfo node is added to many scenes, making examination of objects easier. -->
    <WorldInfo title='RapierLauncherSystem.x3d'/>
    <Viewpoint description='Rapier Launcher' orientation='-0.343 0.935 0.095 0.6232' position='1.3 0.7 2.7'/>
    <Background groundAngle='0.1 1.309 1.570796' groundColor='0 0 0 0 0.1 0.3 0 0.2 0.5 0 0.3 0.8' skyAngle='0.1 0.15 1.309 1.571' skyColor='0.4 0.4 0.1 0.4 0.4 0.1 0 0.1 0.3 0 0.2 0.6 0.8 0.8 0.8'/>
    <ExternProtoDeclare name='RapierMissileSystem' url='"RapierMissileSystemPrototype.wrl#RapierMissileSystem" "RapierMissileSystemPrototype.x3d#RapierMissileSystem"'>
      <field accessType='initializeOnly' name='material' type='SFNode'/>
      <field accessType='initializeOnly' name='imageTexture' type='SFNode'/>
    </ExternProtoDeclare>
    <Transform DEF='Launcher'>
      <!-- This is only a representational model. It is not created to scale. -->
      <Shape DEF='LauncherBody'>
        <Cylinder radius='0.6'/>
        <Appearance DEF='LauncherSkin'>
          <Material diffuseColor='.3 .6 .9'/>
          <ImageTexture DEF='LauncherTexture' url='"cammie1.jpg" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/AV8bHarrierUnitedStates/cammie1.jpg"'/>
        </Appearance>
      </Shape>
      <CylinderSensor DEF='LauncherRotation' description='Rotates the entire missile launcher system.' maxAngle='1.3' minAngle='-1.3'/>
      <Transform DEF='LauncherTop' scale='1 0.2 1' translation='0 1 0'>
        <Shape>
          <Sphere radius='0.6'/>
          <Appearance USE='LauncherSkin'/>
        </Shape>
      </Transform>
      <Transform DEF='LauncherCap' translation='0 1 0'>
        <Shape>
          <Cylinder height='0.35' radius='0.2'/>
          <Appearance USE='LauncherSkin'/>
        </Shape>
      </Transform>
      <Transform DEF='LauncherArms' translation='0 0.1 0'>
        <Transform translation='0.55 0 0'>
          <Transform DEF='SmallArm'>
            <Shape>
              <Box size='0.2 0.3 0.9'/>
              <Appearance USE='LauncherSkin'/>
            </Shape>
            <Transform rotation='1 0 0 1.571' translation='0.1 0.1 0'>
              <Shape>
                <Cylinder height='1.2' radius='0.02'/>
                <Appearance USE='LauncherSkin'/>
              </Shape>
            </Transform>
          </Transform>
        </Transform>
        <Transform rotation='0 1 0 3.142' translation='-0.55 0 0'>
          <Transform>
            <Transform USE='SmallArm'/>
          </Transform>
        </Transform>
        <Transform translation='0 0.05 0.65'>
          <Shape DEF='BigArm'>
            <Box size='1.3 0.4 0.4'/>
            <Appearance USE='LauncherSkin'/>
          </Shape>
          <Transform>
            <Transform rotation='0 0 1 1.571' translation='0 0.1 0.4'>
              <Transform>
                <CylinderSensor DEF='RadarRotation' description='Rotates the radar dish.' maxAngle='0.9'/>
                <Transform DEF='Radar' center='0 0 -0.1'>
                  <Transform rotation='1 0 0 1.571' scale='0.5 0.5 0.5'>
                    <Transform translation='0 1 0'>
                      <Group>
                        <Shape>
                          <Cylinder height='0.15' radius='0.2'/>
                          <Appearance USE='LauncherSkin'/>
                        </Shape>
                        <Transform translation='0 -0.1 0'>
                          <Shape>
                            <Cylinder height='0.2' radius='0.1'/>
                            <Appearance USE='LauncherSkin'/>
                          </Shape>
                        </Transform>
                      </Group>
                      <Transform DEF='RadarSpokePair'>
                        <Transform center='0 0.707 0' rotation='1 0 0 -0.7' translation='0 -0.6 0.1'>
                          <Shape DEF='RadarSpoke'>
                            <Cylinder height='1.25' radius='0.05'/>
                            <Appearance USE='LauncherSkin'/>
                          </Shape>
                        </Transform>
                        <Transform center='0 0.707 0' rotation='1 0 0 0.7' translation='0 -0.6 -0.1'>
                          <Shape USE='RadarSpoke'/>
                        </Transform>
                      </Transform>
                      <Transform rotation='0 1 0 1.571'>
                        <Transform USE='RadarSpokePair'/>
                      </Transform>
                    </Transform>
                    <Transform>
                      <Shape DEF='RadarDish'>
                        <Appearance USE='LauncherSkin'/>
                        <Extrusion creaseAngle='0.785' crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00' scale='1.0 1.0 0.001 0.001' spine='0 0.1 0 0 0 0'/>
                      </Shape>
                    </Transform>
                  </Transform>
                  <Transform translation='0 0.2 -0.1'>
                    <Transform rotation='1 0 0 1.571' translation='0 0 0.05'>
                      <Shape>
                        <Cylinder height='0.125' radius='0.025'/>
                        <Appearance USE='LauncherSkin'/>
                      </Shape>
                    </Transform>
                  </Transform>
                  <Transform translation='0 -0.2 -0.1'>
                    <Transform rotation='1 0 0 1.571' translation='0 0 0.05'>
                      <Shape>
                        <Cylinder height='0.125' radius='0.025'/>
                        <Appearance USE='LauncherSkin'/>
                      </Shape>
                    </Transform>
                  </Transform>
                </Transform>
              </Transform>
            </Transform>
          </Transform>
          <Transform translation='0 0.1 0'>
            <Transform translation='-0.35 0 0.15'>
              <Transform DEF='RadarArm1' center='0 -0.15 0' rotation='1 0 0 0.785'>
                <Shape>
                  <Box size='0.1 0.3 0.1'/>
                  <Appearance USE='LauncherSkin'/>
                </Shape>
              </Transform>
            </Transform>
            <Transform translation='0.35 0 0.15'>
              <Transform USE='RadarArm1'/>
            </Transform>
            <Transform rotation='0 0 1 1.571' translation='0 0 0.3'>
              <Shape>
                <Cylinder height='0.8' radius='0.03'/>
                <Appearance USE='LauncherSkin'/>
              </Shape>
            </Transform>
          </Transform>
          <ROUTE fromField='rotation_changed' fromNode='RadarRotation' toField='rotation' toNode='Radar'/>
        </Transform>
        <Transform translation='0 0.05 -0.65'>
          <Shape USE='BigArm'/>
          <Transform translation='0.45 0.2 0'>
            <Shape>
              <Cylinder height='0.1' radius='0.15'/>
              <Appearance USE='LauncherSkin'/>
            </Shape>
          </Transform>
        </Transform>
      </Transform>
      <Transform translation='0 0.6 0'>
        <Shape>
          <Cylinder height='0.04' radius='0.64'/>
          <Appearance USE='LauncherSkin'/>
        </Shape>
        <Transform scale='0.2 1 1'>
          <Shape>
            <Appearance USE='LauncherSkin'/>
            <Cylinder height='0.039' radius='0.66'/>
          </Shape>
        </Transform>
        <Transform rotation='0 1 0 0.7855' scale='0.2 1 1'>
          <Shape>
            <Appearance USE='LauncherSkin'/>
            <Cylinder height='0.039' radius='0.66'/>
          </Shape>
        </Transform>
        <Transform rotation='0 1 0 1.571' scale='0.2 1 1'>
          <Shape>
            <Appearance USE='LauncherSkin'/>
            <Cylinder height='0.039' radius='0.66'/>
          </Shape>
        </Transform>
      </Transform>
      <ROUTE fromField='rotation_changed' fromNode='LauncherRotation' toField='rotation' toNode='Launcher'/>
      <Transform>
        <Transform translation='0.8 0.1 0'>
          <Transform scale='1.3 1.3 1.8'>
            <ProtoInstance name='RapierMissileSystem'>
              <fieldValue name='material'>
                <Material diffuseColor='.3 .6 .9'/>
              </fieldValue>
              <fieldValue name='imageTexture'>
                <ImageTexture USE='LauncherTexture'/>
              </fieldValue>
            </ProtoInstance>
          </Transform>
        </Transform>
      </Transform>
      <Transform>
        <Transform translation='-0.8 0.1 0'>
          <Transform scale='1.3 1.3 1.8'>
            <ProtoInstance name='RapierMissileSystem'>
              <fieldValue name='material'>
                <Material diffuseColor='.3 .6 .9'/>
              </fieldValue>
              <fieldValue name='imageTexture'>
                <ImageTexture USE='LauncherTexture'/>
              </fieldValue>
            </ProtoInstance>
          </Transform>
        </Transform>
      </Transform>
      <Transform translation='0 0.1 0'>
        <Transform rotation='0 0 1 1.571'>
          <Shape>
            <Appearance USE='LauncherSkin'/>
            <Cylinder height='1.7' radius='0.05'/>
          </Shape>
        </Transform>
      </Transform>
    </Transform>
  </Scene>
</X3D>