<!-- There was no size given for this weapon, it is built to similar dimensions as its precedessor, the M198 Howitzer. It is 5m total length. -->
<WorldInfo title='CannonProject.x3d'/>
<ExternProtoDeclare name='ArbitraryAxisCylinderSensor' appinfo='Modified CylinderSensor with children nodes oriented about an arbitrary axis. Warning: ArbitraryAxisCylinderSensor affects children, not peers.'
url='
"../../Savage/Tools/Animation/ArbitraryAxisCylinderSensorPrototype.x3d#ArbitraryAxisCylinderSensor"
"https://savage.nps.edu/Savage/Tools/Animation/ArbitraryAxisCylinderSensorPrototype.x3d#ArbitraryAxisCylinderSensor" "../../Savage/Tools/Animation/ArbitraryAxisCylinderSensorPrototype.wrl#ArbitraryAxisCylinderSensor"
"https://savage.nps.edu/Savage/Tools/Animation/ArbitraryAxisCylinderSensorPrototype.wrl#ArbitraryAxisCylinderSensor" '
>
<field name='shiftRotationAxis' type='SFRotation' accessType='initializeOnly'
appinfo='shifted axis of rotation from local vertical, default 1 0 0 0'
/>
<field name='center' type='SFVec3f' accessType='initializeOnly'
appinfo='local center for axis of rotation, default 0 0 0'
/>
<field name='showCylinderSensorShape' type='SFBool' accessType='initializeOnly'
appinfo='whether to show visualization shape to show orientation and cylindrical mapping of mouse movements by sensor, default true'
/>
<field name='scaleCylinderSensorShape' type='SFVec3f' accessType='inputOutput'
appinfo='scale for visualization shape, default 1 1 1'
/>
<field name='colorCylinderSensorShape' type='SFColor' accessType='inputOutput'
appinfo='color for visualization shape, default 0.9 0.9 0.4'
/>
<field name='transparencyCylinderSensorShape' type='SFFloat' accessType='inputOutput'
appinfo='transparency for visualization shape'
/>
<field name='children' type='MFNode' accessType='inputOutput'
appinfo='children nodes affected by ArbitraryAxisCylinderSensor'
/>
<field name='autoOffset' type='SFBool' accessType='inputOutput'
appinfo='determines whether previous offset values are remembered/accumulated, default true'
/>
<field name='description' type='SFString' accessType='inputOutput'
appinfo='Text tooltip displayed for user interaction'
/>
<field name='diskAngle' type='SFFloat' accessType='inputOutput'
appinfo='diskAngle 0 forces disk-like behavior, diskAngle 1.57 (90 degrees) forces cylinder-like behavior, default 0.262, range [0,pi/2]'
/>
<field name='enabled' type='SFBool' accessType='inputOutput'
appinfo='enables/disables node operation, default true'
/>
<field name='minAngle' type='SFFloat' accessType='inputOutput'
appinfo='clamps rotation_changed events, default 0, range [-2pi,2pi]'
/>
<field name='maxAngle' type='SFFloat' accessType='inputOutput'
appinfo='clamps rotation_changed events, default -1, range [-2pi,2pi]'
/>
<field name='offset' type='SFFloat' accessType='initializeOnly'
appinfo='sends event and remembers last value sensed, default 0, range (-infinity,infinity)'
/>
<field name='isActive' type='SFBool' accessType='outputOnly'
appinfo='output event isActive=true when primary mouse button is pressed, output event isActive=false when released.'
/>
<field name='rotation_changed' type='SFRotation' accessType='outputOnly'
appinfo='rotation_changed events equal sum of relative bearing changes plus offset value about Y-axis in local coordinate system'
/>
<field name='trackPoint_changed' type='SFVec3f' accessType='outputOnly'
appinfo="trackPoint_changed events give intersection point of bearing with sensor's virtual geometry"
/>
</ExternProtoDeclare>
<Viewpoint description='Lightweight 155mm Howitzer' orientation='0 1 0 -1.57' position='-5 0.7 0'/>
<Viewpoint description='FarView' position='200 75 300'/>
<Viewpoint description='AboveView' orientation='0 1 0 -1.57' position='-75.0 40.0 0.0'/>
<Background skyColor='0.4 0.1 0.2'/>
<!-- Default gun orientation points along X axis (typically North) -->
<TimeSensor DEF='TheClock' cycleInterval='10'/>
<Transform rotation='1 0 0 -1.57'>
<ProtoInstance name='ArbitraryAxisCylinderSensor' DEF='BarrelHeading'>
<fieldValue name='shiftRotationAxis' value='1 0 0 1.57'/>
<fieldValue name='maxAngle' value='0.6'/>
<fieldValue name='minAngle' value='-0.6'/>
<fieldValue name='showCylinderSensorShape' value='false'/>
<fieldValue name='children'>
<Group DEF='Saddle'>
<Transform rotation='0.58 0.58 -0.58 2.09' scale='0.75 0.75 0.75' translation='0.667 0 0'>
<Transform DEF='SaddleBase' rotation='0 1 0 1.57' scale='0.7 0.7 0.7' translation='0.1 -0.6 0'>
<Transform rotation='-1 0 0 1.57'>
</Transform>
</Transform>
<Transform DEF='ElevationGear' translation='-0.25 -0.4 0.45'>
<Transform rotation='0 0 1 1.57'>
<Shape>
<Box size='0.25 0.325 0.125'/>
<Appearance>
<Material diffuseColor='0.25 0.66 0.8'/>
</Appearance>
</Shape>
<Transform translation='-0.2 0 0.06'>
<Shape>
<Appearance>
<Material diffuseColor='1 0.25 1'/>
</Appearance>
<Box size='0.1625 0.165 0.1'/>
</Shape>
<Transform translation='0.075 -0.05 -0.01'>
<Shape>
<Appearance>
<Material diffuseColor='0.15 0.25 0.1'/>
</Appearance>
<Cylinder height='0.325' radius='0.075'/>
</Shape>
</Transform>
</Transform>
<Transform rotation='1 0 0 1.57' translation='0 0 -0.1'>
<Shape>
<Appearance>
<Material diffuseColor='0 1 0.66'/>
</Appearance>
<Cylinder height='0.25' radius='0.08'/>
</Shape>
</Transform>
</Transform>
<Transform scale='0.33 0.33 0.33' translation='-0.08 -0.15 0.175'>
</Transform>
</Transform>
<Transform rotation='1 0 0 3.14'>
<Transform translation='0 0.8 0'>
</Transform>
</Transform>
<Transform rotation='0 0 1 1.57' translation='-0.25 -1.1 -0.15'>
<Transform translation='0.15 -0.1 0'>
<Shape>
<Appearance>
<Material diffuseColor='0.25 0.2 0.4'/>
</Appearance>
<Box size='0.425 0.17 0.125'/>
</Shape>
</Transform>
<Transform translation='0 0.1 0'>
<Shape>
<Appearance>
<Material diffuseColor='0.25 0.2 0.4'/>
</Appearance>
<Cylinder height='0.35' radius='0.0625'/>
</Shape>
</Transform>
<Transform rotation='-1 0 0 1.57' scale='0.33 0.33 0.33' translation='0 0.33 0'>
</Transform>
</Transform>
<Transform rotation='-0.58 -0.58 0.58 2.09' translation='-0.25 -0.4 0'>
<ProtoInstance name='ArbitraryAxisCylinderSensor' DEF='BarrelElevation'>
<fieldValue name='minAngle' value='-1.125'/>
<fieldValue name='maxAngle' value='0'/>
<fieldValue name='offset' value='-0.52'/>
<fieldValue name='showCylinderSensorShape' value='false'/>
<fieldValue name='children'>
<Transform rotation='1 0 0 1.57' translation='0.5 0 -0.1'>
<Group DEF='CannonAssembly'>
<Transform rotation='0 0 -1 0.79'>
<Transform DEF='Cannon' rotation='0 0 -1 0.79' scale='0.033 2 0.033' translation='1.2 1.2 0'>
</Transform>
<Transform DEF='MuzzleBrake' translation='2.75 2.63 0'>
<Transform DEF='BottomPlate' rotation='0 0 1 0.79'>
<Shape>
<Box size='0.5 0.07 0.34'/>
<Appearance>
<Material diffuseColor='0.15 0.2 0.15'/>
</Appearance>
</Shape>
<Transform DEF='TopPlate' translation='0 0.175 0'>
<Shape>
<Box size='0.3 0.07 0.24'/>
<Appearance>
<Material diffuseColor='0.15 0.2 0.15'/>
</Appearance>
</Shape>
</Transform>
<Transform DEF='SuppressionRingOne' rotation='0 0 1 1.57' scale='0.0375 0.0375 0.06' translation='0.12 0.0875 0'>
</Transform>
<Transform DEF='SuppressionRingTwo' rotation='0 0 1 1.57' scale='0.0375 0.0375 0.06' translation='-0.12 0.0875 0'>
</Transform>
<Transform DEF='SuppressionRingThree' rotation='0 0 1 1.57' scale='0.0375 0.0375 0.06' translation='0 0.0875 0'>
</Transform>
<Group DEF='TowRing'>
<Transform rotation='1 0 0 1.57' scale='1.1 1.1 1.1' translation='0.31 0 0'>
<Shape>
</Shape>
<Transform rotation='0 -1 0 1.57' scale='0.5 1 1' translation='-0.027 0 0'>
<Shape>
<Appearance>
<Material diffuseColor='0.5 0.5 0.5' specularColor='1 1 1'/>
</Appearance>
<Extrusion beginCap='false' convex='false' creaseAngle='1.57' crossSection='0 0 0.007 0 0.018 0.025 0.032 0.035 0.04 0.036 0.04 0.04 0 0.04 0 0' endCap='false' spine='0.001 0 0 0.00092 -0.00038 0 0.00071 -0.00071 0 0.00038 -0.00092 0 0 -0.001 0 -0.00038 -0.00092 0 -0.00071 -0.00071 0 -0.00092 -0.00038 0 -0.001 0 0 -0.00092 0.00038 0 -0.00071 0.00071 0 -0.00038 0.00092 0 0 0.001 0 0.00038 0.00092 0 0.00071 0.00071 0 0.00092 0.00038 0 0.001 0 0'/>
</Shape>
</Transform>
</Transform>
</Group>
<Transform DEF='MuzzleBase' rotation='0 0 1 1.57' scale='0.035 0.166 0.035' translation='-0.25 0.0875 0'>
</Transform>
</Transform>
</Transform>
</Transform>
</Group>
<Group DEF='RecoilCradle'>
<Transform DEF='Cradle' rotation='0 0 -1 1.57'>
<Transform DEF='RightSidewall' rotation='0 1 0 1.57' translation='-0.08 0 0.25'>
<Shape>
<Box size='0.0625 1.125 0.25'/>
<Appearance>
<Material/>
</Appearance>
</Shape>
<Transform translation='-0.06 0 0'>
<Shape>
<Box size='0.06 0.75 0.15'/>
<Appearance>
<Material diffuseColor='0.1 0.2 0.1'/>
</Appearance>
</Shape>
</Transform>
<Transform DEF='ForwardRightWall' translation='0 0.975 0'>
<Shape>
<Box size='0.0625 0.775 0.25'/>
<Appearance>
<Material diffuseColor='0.2 0.8 0.2'/>
</Appearance>
</Shape>
<Transform translation='-0.06 0 0'>
<Shape>
<Box size='0.06 0.5 0.15'/>
<Appearance>
<Material diffuseColor='0.1 0.2 0.1'/>
</Appearance>
</Shape>
</Transform>
<Transform DEF='FrontCradleBar'>
<Transform DEF='ForwardCoil' scale='0.4 0.4 0.4' translation='0.25 0.15 0.05'>
</Transform>
</Transform>
</Transform>
</Transform>
<Transform DEF='LeftSideWall' rotation='0 1 0 1.57' translation='-0.08 0 -0.25'>
<Shape>
<Box size='0.0625 1.125 0.25'/>
<Appearance>
<Material/>
</Appearance>
</Shape>
<Transform translation='0.06 0 0'>
<Shape>
<Box size='0.06 0.75 0.15'/>
<Appearance>
<Material diffuseColor='0.1 0.2 0.1'/>
</Appearance>
</Shape>
</Transform>
<Transform DEF='ForwardLeftWall' translation='0 0.975 0'>
<Shape>
<Box size='0.0625 0.775 0.25'/>
<Appearance>
<Material diffuseColor='0.2 0.8 0.2'/>
</Appearance>
</Shape>
<Transform translation='0.06 0 0'>
<Shape>
<Box size='0.06 0.5 0.15'/>
<Appearance>
<Material diffuseColor='0.1 0.2 0.1'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
<Transform DEF='Accumulator' translation='-0.325 0.2 0'>
<Shape>
<Cylinder height='0.75' radius='0.08'/>
<Appearance>
<Material diffuseColor='0 0.25 1'/>
</Appearance>
</Shape>
</Transform>
<Transform DEF='RecoilCylinders' translation='-0.25 0.4 0.25'>
<Shape>
<Cylinder height='0.36' radius='0.04'/>
<Appearance>
<Material diffuseColor='1 1 0'/>
</Appearance>
</Shape>
<Transform translation='0 -0.3 0'>
<Shape>
<Cylinder height='0.3' radius='0.025'/>
<Appearance>
</Appearance>
</Shape>
<Transform translation='0 -0.15 0'>
<Shape>
<Box size='0.1 0.2 0.1'/>
<Appearance>
</Appearance>
</Shape>
</Transform>
</Transform>
<Transform rotation='1 0 0 1.57' translation='0 0.25 0'>
<Shape>
<Cylinder height='0.05' radius='0.075'/>
<Appearance>
<Material diffuseColor='1 1 0'/>
</Appearance>
</Shape>
<Transform>
<Shape>
<Box size='0.05 0.1 0.05'/>
<Appearance>
<Material diffuseColor='1 0 1'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
<Transform DEF='Coils'>
<Transform DEF='Coil' rotation='1 0 0 1.57' translation='-0.1 -0.25 0'>
<Shape>
<Cylinder height='0.5' radius='0.075'/>
<Appearance>
</Appearance>
</Shape>
</Transform>
<Transform translation='0 0.1667 0'>
</Transform>
<Transform translation='-0.1 0.66 0'>
</Transform>
</Transform>
<Transform DEF='LeftRecoilCylinders' translation='-0.25 0.4 -0.25'>
<Shape>
<Cylinder height='0.36' radius='0.04'/>
<Appearance>
<Material diffuseColor='1 1 0'/>
</Appearance>
</Shape>
<Transform translation='0 -0.3 0'>
<Shape>
<Cylinder height='0.3' radius='0.025'/>
<Appearance>
</Appearance>
</Shape>
<Transform translation='0 -0.15 0'>
<Shape>
<Box size='0.1 0.2 0.1'/>
<Appearance>
</Appearance>
</Shape>
</Transform>
</Transform>
<Transform rotation='1 0 0 1.57' translation='0 0.25 0'>
<Shape>
<Cylinder height='0.05' radius='0.075'/>
<Appearance>
<Material diffuseColor='1 1 0'/>
</Appearance>
</Shape>
<Transform>
<Shape>
<Box size='0.05 0.1 0.05'/>
<Appearance>
<Material diffuseColor='1 0 1'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
<Transform DEF='Transfer' scale='0.75 1 0.75' translation='0.1 0 0'>
<Shape>
<Appearance>
<Material/>
</Appearance>
<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='0.1 0.35 0.1 0.125 0.0625 0.0625 0.0625 0.0625 0.0425 0.0425 0.0425 0.0425 0.06 0.06 0.06 0.06 0.025 0.025 0.025 0.025 0.0125 0.0125 0.0125 0.0125 0.0125 0.0125 0.0125 0.0125' spine='0 -0.25 0 0 0.1 0 0 0.2 0 0 0.25 0 0 0.45 0 0 0.5 0 0 0.52 0 0 0.575 0 0 0.6 0 0 0.65 0 0 0.675 0 0 0.675 0 0 0.75 0 0 0.825 0'/>
<!-- original scale had 3-tuples instead of 2-tuples 0.1 0.35 0.1, 0.1 0.125 0.1, 0.0625 0.0625 0.0625, 0.0625 0.0625 0.0625, 0.0425 0.0425 0.0425, 0.0425 0.0425 0.0425, 0.06 0.06 0.06, 0.06 0.06 0.06, 0.025 0.025 0.025, 0.025 0.025 0.025, 0.0125 0.0125 0.0125, 0.0125 0.0125 0.0125 -->
</Shape>
</Transform>
</Transform>
<Transform DEF='Breach' translation='0.75 0 0'>
<Shape>
<Box size='0.25 0.25 0.25'/>
<Appearance>
<Material diffuseColor='0 0 1'/>
</Appearance>
</Shape>
</Transform>
</Group>
</Transform>
</fieldValue>
</ProtoInstance>
</Transform>
</Transform>
</Group>
</fieldValue>
</ProtoInstance>
<Group DEF='TrailerBody'>
<Transform DEF='TrailerBodyMain' rotation='0 0 1 1.57' scale='0.375 0.375 0.375' translation='-0.11 0 -0.2'>
<Transform rotation='1 0 0 1.57'>
</Transform>
<Transform DEF='RightSpadeHub' rotation='0 0 -1 0.66' translation='-2 2.6 0.1'>
<Shape>
<Cylinder height='0.1667' radius='0.1667'/>
<Appearance>
<Material diffuseColor='0 1 0.66'/>
</Appearance>
</Shape>
<Group DEF='RightSpade'>
<Transform rotation='0 0 -1 1.57' scale='0.5 0.5 0.5' translation='-0.1667 0.25 -0.25'>
<Transform rotation='1 0 0 1.57'>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 1 0 0 0 0 1 0 0 1 1 0 0 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'>
<Coordinate point='0 1 0 0 0.9 0.2 0 0 0 0 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'>
<Coordinate point='1 1 0 1 0.9 0.2 1 0 0 1 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 1 0 0 0.9 0.2 1 0.9 0.2 1 1 0 0 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'>
<Coordinate point='0 1 0 -0.3 0.3 0.2 0 0 0 0 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'>
<Coordinate point='1 1 0 1.3 0.3 0.2 1 0 0 1 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'>
<Coordinate point='1 1 0 1 0.9 0.2 1.3 0.3 0.2 1 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'>
<Coordinate point='0 1 0 0 0.9 0.2 -0.3 0.3 0.2 0 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
</Group>
</Transform>
<Transform DEF='LeftSpadeHub' rotation='0 0 1 0.66' translation='2 2.6 0.1'>
<Shape>
<Cylinder height='0.1667' radius='0.1667'/>
<Appearance>
<Material diffuseColor='0 1 0.66'/>
</Appearance>
</Shape>
<Group DEF='LeftSpade'>
<Transform rotation='0 0 1 1.57' scale='0.5 0.5 0.5' translation='0.1667 -0.25 -0.25'>
<Transform rotation='1 0 0 1.57'>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 1 0 0 0 0 1 0 0 1 1 0 0 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'>
<Coordinate point='0 1 0 0 0.9 0.2 0 0 0 0 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'>
<Coordinate point='1 1 0 1 0.9 0.2 1 0 0 1 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 4 -1'>
<Coordinate point='0 1 0 0 0.9 0.2 1 0.9 0.2 1 1 0 0 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'>
<Coordinate point='0 1 0 -0.3 0.3 0.2 0 0 0 0 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'>
<Coordinate point='1 1 0 1.3 0.3 0.2 1 0 0 1 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'>
<Coordinate point='1 1 0 1 0.9 0.2 1.3 0.3 0.2 1 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
<Transform>
<Shape>
<IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'>
<Coordinate point='0 1 0 0 0.9 0.2 -0.3 0.3 0.2 0 1 0'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='0 1 1'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
</Group>
</Transform>
</Transform>
<Transform DEF='LeftFrontStabilizer' rotation='0 1 0 0.25' translation='0.25 0.66 -0.175'>
<Transform rotation='0 0 1 0.79'>
<Shape>
<Appearance>
<Material diffuseColor='0 0.15 0.8'/>
</Appearance>
<Box size='0.5 0.125 0.1'/>
</Shape>
<Transform DEF='LeftWheel' rotation='0 0 -1 0.79'>
<Transform scale='0.05 0.05 0.05' translation='0.2 -0.1 0.15'>
<Shape>
</Shape>
<Transform>
<Shape>
<Cylinder height='1' radius='1.5'/>
<Appearance>
</Appearance>
</Shape>
</Transform>
<Transform DEF='WheelHub' translation='0 0.66 0'>
<Shape>
<Cylinder height='3' radius='0.5'/>
<Appearance>
<Material diffuseColor='0.1 0.1 0.1'/>
</Appearance>
</Shape>
<Transform DEF='LeftStrut' rotation='0 1 0 0.79'>
<Transform translation='0 0.9 -1.75'>
<Shape>
<Box size='1 1 5'/>
<Appearance>
<Material diffuseColor='0.2 0.2 0.2'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
<Transform DEF='RightFrontStabilizer' rotation='0 1 0 0.25' translation='0.25 -0.66 -0.175'>
<Transform rotation='0 0 -1 0.79'>
<Shape>
<Appearance>
<Material diffuseColor='0 0.15 0.8'/>
</Appearance>
<Box size='0.5 0.125 0.1'/>
</Shape>
<Transform DEF='RightWheel' rotation='0 0 1 0.79'>
<Transform scale='0.05 0.05 0.05' translation='0.2 0.1 0.15'>
<Shape>
<Extrusion USE='
Tire'/>
<Appearance>
<Material diffuseColor='0.1 0.1 0.1'/>
</Appearance>
</Shape>
<Transform>
<Shape>
<Cylinder height='1' radius='1.5'/>
<Appearance>
</Appearance>
</Shape>
</Transform>
<Transform DEF='RightWheelHub' translation='0 -0.33 0'>
<Shape>
<Cylinder height='3' radius='0.5'/>
<Appearance>
<Material diffuseColor='0.1 0.1 0.1'/>
</Appearance>
</Shape>
<Transform DEF='RightStrut' rotation='0 -1 0 2.09'>
<Transform translation='0 -1.25 1.75'>
<Shape>
<Box size='1 1 5'/>
<Appearance>
<Material diffuseColor='0.2 0.2 0.2'/>
</Appearance>
</Shape>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
</Transform>
</Group>
</Transform>
<Group DEF='ProjectileScene'>
<Transform translation='200 -0.35 0.0'>
<Shape DEF='Ground'>
<Box size='410.0 0.2 150.0'/>
<Appearance>
</Appearance>
</Shape>
</Transform>
<Transform translation='200 100 -75'>
<Shape DEF='BackDrop'>
<Box size='410.0 200.0 .2'/>
<Appearance>
</Appearance>
</Shape>
</Transform>
<Transform translation='200 -0.25 0.0'>
<Shape DEF='CenterLine'>
<Box size='410.0 0.1 2'/>
<Appearance>
<Material diffuseColor='0.6 0.4 1' emissiveColor='0.6 0.4 1'/>
</Appearance>
</Shape>
</Transform>
<Transform DEF='projectile2' rotation='0 0 1 -1.57' scale='1.5 3 1.5'>
<Shape>
<Cylinder radius='.5'/>
<Appearance>
<Material diffuseColor='0.887 0.027 0.910' specularColor='0.887 0.027 0.910'/>
</Appearance>
</Shape>
<Transform translation='0 1.5 0'>
<Shape>
<Cone bottomRadius='0.5' height='1'/>
<Appearance>
<Material diffuseColor='0.35 0.35 0.35' specularColor='0.35 0.35 0.35'/>
</Appearance>
</Shape>
</Transform>
</Transform>
<Viewpoint description='Projectile Rear' orientation='0 1 0 -1.57' position='-25 0 0'/>
<Viewpoint description='Projectile Side' position='0 0 50'/>
<Viewpoint description='Projectile Front' orientation='0 1 0 1.57' position='25 0 0'/>
</EspduTransform>
</Transform>
</Group>
<
ROUTE
fromNode='
projectileTransform' fromField='translation' toNode='
projectileViewTransform' toField='set_translation'/>