package Savage.ShipsCivilian.CargoShips;

import org.web3d.x3d.jsail.Core.*;
import org.web3d.x3d.jsail.EnvironmentalEffects.*;
import org.web3d.x3d.jsail.fields.*;
import org.web3d.x3d.jsail.Geometry3D.*;
import org.web3d.x3d.jsail.Grouping.*;
import org.web3d.x3d.jsail.Navigation.*;
import org.web3d.x3d.jsail.Rendering.*;
import org.web3d.x3d.jsail.Shape.*;
import org.web3d.x3d.jsail.Texturing.*;

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * <p> Basic Container Ship. </p>
 <p> Related links: Catalog page <a href="../../../../ShipsCivilian/CargoShips/ContainerShipIndex.html" target="_blank">ContainerShip</a>,  source <a href="../../../../ShipsCivilian/CargoShips/ContainerShip.java">ContainerShip.java</a>, <a href="https://www.web3d.org/x3d/content/examples/X3dResources.html" target="_blank">X3D Resources</a>, <a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html" target="_blank">X3D Scene Authoring Hints</a>, and <a href="https://www.web3d.org/x3d/content/X3dTooltips.html" target="_blank">X3D Tooltips</a>. </p>
	<table style="color:black; border:0px solid; border-spacing:10px 0px;">
        <caption>Scene Meta Information</caption>
		<tr style="background-color:silver; border-color:silver;">
			<td style="text-align:center; padding:10px 0px;"><i>meta tags</i></td>
			<td style="text-align:left;   padding:10px 0px;">&nbsp; Document Metadata </td>
		</tr>

		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> title </i> </td>
			<td> <a href="../../../../ShipsCivilian/CargoShips/ContainerShip.x3d">ContainerShip.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> Basic Container Ship </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> creator </i> </td>
			<td> Donated to the MOVES Institute (Delta 3D Group) by Naval Education and Training Command. Translated from the Delta3D open asset library. </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> translator </i> </td>
			<td> LT Patrick Sullivan </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> created </i> </td>
			<td> 23 March 2005 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> translated </i> </td>
			<td> 30 January 2006 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> modified </i> </td>
			<td> 1 December 2019 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> Image </i> </td>
			<td> <a href="../../../../ShipsCivilian/CargoShips/ContainerShipFromAbove.png">ContainerShipFromAbove.png</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> identifier </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/Savage/ShipsCivilian/CargoShips/ContainerShip.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/Savage/ShipsCivilian/CargoShips/ContainerShip.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> X3D-Edit 3.2, <a href="https://www.web3d.org/x3d/tools/X3D-Edit" target="_blank">https://www.web3d.org/x3d/tools/X3D-Edit</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> VizX3D, <a href="http://www.vivaty.com/downloads/studio" target="_blank">http://www.vivaty.com/downloads/studio</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> license </i> </td>
			<td> <a href="../../../../ShipsCivilian/CargoShips/../../license.html">../../license.html</a> </td>
		</tr>
		<tr style="background-color:silver; border-color:silver;">
			<td style="text-align:center;" colspan="2">  &nbsp; </td>
		</tr>
	</table>

	<p>
		This program uses the
		<a href="https://www.web3d.org/specifications/java/X3DJSAIL.html" target="_blank">X3D Java Scene Access Interface Library (X3DJSAIL)</a>.
		It has been produced using the 
		<a href="https://www.web3d.org/x3d/stylesheets/X3dToJava.xslt" target="_blank">X3dToJava.xslt</a>
		stylesheet
	       (<a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/X3dToJava.xslt" target="_blank">version control</a>)
                which is used to create Java source code from an original <code>.x3d</code> model.
	</p>

	* @author Donated to the MOVES Institute (Delta 3D Group) by Naval Education and Training Command. Translated from the Delta3D open asset library.
 */

public class ContainerShip
{
	/** Default constructor to create this object. */
	public ContainerShip ()
	{
	  initialize();
	}

	/** Create and initialize the X3D model for this object. */
	public final void initialize()
	{
            try { // catch-all
  x3dModel = new X3D().setProfile(X3D.PROFILE_INTERCHANGE).setVersion(X3D.VERSION_3_0)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("ContainerShip.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("Basic Container Ship"))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Donated to the MOVES Institute (Delta 3D Group) by Naval Education and Training Command. Translated from the Delta3D open asset library."))
    .addMeta(new meta().setName(meta.NAME_TRANSLATOR ).setContent("LT Patrick Sullivan"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("23 March 2005"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATED ).setContent("30 January 2006"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("1 December 2019"))
    .addMeta(new meta().setName(meta.NAME_IMAGE      ).setContent("ContainerShipFromAbove.png"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/Savage/ShipsCivilian/CargoShips/ContainerShip.x3d"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("VizX3D, http://www.vivaty.com/downloads/studio"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../../license.html")))
  .setScene(new Scene()
    .addChild(new Background().setSkyColor(new MFColor(new double[] {0.0,0.717647,0.741176})))
    .addChild(new WorldInfo().setInfo(new String[] {"www.vizx3d.com","http://www.ship-technology.com/projects/contship/specs.html"}).setTitle("Container Ship")
      .setMetadata(new MetadataSet().setName("SMAL").setReference("https://www.web3d.org/x3d/content/examples/Savage/Tools/SMAL/SMAL.html")
        .setMetadata(new MetadataString().setName("version").setValue(new String[] {"1.0"})
          .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"This is the version of SMAL employed, not of the model."})))
        .setMetadata(new MetadataSet().setName("EntityDefinition")
          .addComments(" Identifying metadata for the current simulation of interest ")
          .setMetadata(new MetadataSet().setName("Classification")
            .setMetadata(new MetadataString().setName("level").setValue(new String[] {"UNCLASSIFIED"})
              .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"UNCLASSIFIED","FOUO","CONFIDENTIAL","SECRET"})))
            .setMetadata(new MetadataString().setName("reference").setValue(new String[] {"http://www.ship-technology.com/projects/contship/specs.html"})
              .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The published source of classified information, if any, contained in the Metadata."})))
            .setMetadata(new MetadataString().setName("rationale")
              .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The specific element which contains the information classifying this document."}))))
          .setMetadata(new MetadataSet().setName("IdentificationParameters")
            .setMetadata(new MetadataString().setName("name").setValue(new String[] {"Contship Aurora Container Ship"})
              .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The plain language name of the vehicle this model represents, i.e. the base class (DDG-51), or vehicle designation (M1A2)."}))))
          .setMetadata(new MetadataSet().setName("X3DArchiveModel")
            .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"This is a placeholder element which ensures the proper validation of autogenerated SMAL code."})))
          .setMetadata(new MetadataSet().setName("PhysicalParameters")
            .setMetadata(new MetadataSet().setName("PhysicalConstraints")
              .setMetadata(new MetadataFloat().setName("height").setValue(new double[] {43.5})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The maximum structural height of the object in meters. This may be used for clearance checking or other calculations."})))
              .setMetadata(new MetadataFloat().setName("width").setValue(new double[] {38.2})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The maximum width, beam, or wingspan of the vehicle in meters. This may be used for clearance checking or other calculations."})))
              .setMetadata(new MetadataFloat().setName("length").setValue(new double[] {249.5})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The maximum structural length of the object in meters. This may be used for clearance checking or other calculations."})))
              .setMetadata(new MetadataFloat().setName("draft").setValue(new double[] {12.0})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The vertical distance in meters from the deepest point (keel or other structure) to the waterline of a vehicle at its stated displacement or gross weight."})))
              .setMetadata(new MetadataFloat().setName("grossWeight").setValue(new double[] {45686731.0})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The standard operational weight of the vehicle in kilograms, usable in physics calculations."}))))
            .setMetadata(new MetadataSet().setName("DynamicResponseConstraints")
              .setMetadata(new MetadataFloat().setName("maximumSpeed").setValue(new double[] {33.2})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The maximum rated speed for this vehicle in kph."})))
              .setMetadata(new MetadataFloat().setName("cruiseSpeed").setValue(new double[] {25.93})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The published cruise speed for this vehicle in kph."}))))
            .setMetadata(new MetadataSet().setName("TacticalConstraints")
              .addComments(" none defined ")))
          .setMetadata(new MetadataSet().setName("NetworkedCommunicationParameterSet")
            .setMetadata(new MetadataSet().setName("DisConfiguration")
              .setMetadata(new MetadataInteger().setName("entityKind").setValue(new int[] {1})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The DIS enumeration for the overall type of this object (for vehicles this value should be 1)."})))
              .setMetadata(new MetadataInteger().setName("entityDomain").setValue(new int[] {3})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The DIS enumeration for the domain of operations of this object (air, surface, sub-surface, etc.)."})))
              .setMetadata(new MetadataInteger().setName("entityCountry").setValue(new int[] {225})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The DIS enumeration for the country of origin of this object (the value for United States is 225)."})))
              .setMetadata(new MetadataInteger().setName("entityCategory").setValue(new int[] {61})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The DIS enumeration for the type of this vehicle (cruiser or destroyer, tank or truck, bomber or fighter, etc.)."})))
              .setMetadata(new MetadataInteger().setName("entitySubCategory").setValue(new int[] {1})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The DIS enumeration for the class designation of this vehicle (CG-47 Ticonderoga, DDG-51 Arleigh Burke, M1A2, M880, B-52, F-22, etc."}))))))))
    .addChild(new NavigationInfo("NavInfo3").setAvatarSize(new double[] {.25,1.6,.75}))
    .addChild(new Transform("dad_GROUND").setScale(.305,.305,.305)
      .addChild(new Group("GROUND")
        .addChild(new Transform("dad_Import_Base").setRotation(1.0,0.0,0.0,1.571)
          .addChild(new Group("Import_Base")
            .addChild(new Transform("dad_Group3")
              .addChild(new Group("Group3")
                .addChild(new Transform("dad_Box01")
                  .addChild(new Shape("Box01")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture("C_SIDE_TEX").setUrl(new String[] {"textures/C_SIDE.jpg","https://www.web3d.org/x3d/content/examples/Savage/ShipsCivilian/CargoShips/textures/C_SIDE.jpg"}))
                      .setMaterial(new Material("material0_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,6,7,4,-1,2,1,7,-1,7,6,2,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,6,7,4,-1,8,9,10,-1,10,11,8,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-388.9407,-43.17078,-21.44951,-388.9407,-43.17078,-59.93058,-285.70419,-43.17078,-59.93058,-285.70419,-43.17078,-21.44951,-388.9407,45.56719,-21.44951,-285.70419,45.56719,-21.44951,-285.70419,45.56719,-59.93058,-388.9407,45.56719,-59.93058})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {3.048,.001,3.048,1.0,.002,1.0,.002,.001,.002,.001,3.048,.001,3.048,1.0,.002,1.0,.002,.001,3.048,.001,3.048,1.0,.002,1.0}))))))
                .addChild(new Transform("dad_Box02")
                  .addChild(new Shape("Box02")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture("CNTSHIP1_TEX").setUrl(new String[] {"textures/CNTSHIP1.jpg","https://www.web3d.org/x3d/content/examples/Savage/ShipsCivilian/CargoShips/textures/CNTSHIP1.jpg"}))
                      .setMaterial(new Material("material1_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,3,2,-1,2,5,4,-1,6,7,8,-1,8,9,6,-1,10,11,7,-1,10,7,6,-1,10,6,12,-1,13,7,11,-1,11,14,13,-1,15,3,4,-1,4,16,15,-1,17,18,19,-1,19,20,17,-1,21,12,22,-1,22,23,21,-1,24,16,25,-1,26,27,28,-1,25,16,4,-1,4,17,25,-1,11,19,27,-1,27,14,11,-1,12,20,19,-1,19,10,12,-1,29,30,31,-1,32,33,5,-1,5,2,32,-1,34,22,12,-1,12,6,34,-1,18,17,4,-1,4,5,18,-1,35,18,5,-1,5,33,35,-1,11,10,19,-1,36,37,38,-1,38,39,15,-1,36,38,15,-1,12,21,20,-1,26,40,41,-1,13,26,41,-1,42,13,41,-1,43,30,29,-1,43,29,44,-1,45,46,47,-1,38,48,49,-1,39,38,49,-1,50,39,49,-1,51,34,52,-1,51,52,53,-1,51,53,54,-1,53,52,42,-1,53,42,55,-1,56,53,55,-1,57,58,50,-1,50,49,57,-1,42,41,59,-1,59,55,42,-1,60,61,47,-1,60,47,46,-1,62,32,50,-1,62,50,58,-1,63,62,58,-1,64,65,66,-1,66,67,64,-1,68,69,70,-1,70,71,68,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,3,3,2,-1,2,2,3,-1,4,5,6,-1,6,7,4,-1,8,5,5,-1,8,5,4,-1,8,4,9,-1,10,5,5,-1,5,10,10,-1,11,3,3,-1,3,12,11,-1,13,14,14,-1,14,13,13,-1,15,9,16,-1,16,17,15,-1,18,12,19,-1,20,20,21,-1,19,12,3,-1,3,13,19,-1,5,14,20,-1,20,10,5,-1,9,13,14,-1,14,8,9,-1,22,23,24,-1,25,26,2,-1,2,2,25,-1,16,16,9,-1,9,4,16,-1,14,13,3,-1,3,2,14,-1,20,14,2,-1,2,26,20,-1,5,8,14,-1,27,28,29,-1,29,30,11,-1,27,29,11,-1,9,15,13,-1,20,31,32,-1,10,20,32,-1,6,10,32,-1,33,23,22,-1,33,22,34,-1,35,36,37,-1,29,38,39,-1,30,29,39,-1,1,30,39,-1,40,16,7,-1,40,7,41,-1,40,41,42,-1,41,7,6,-1,41,6,43,-1,44,41,43,-1,45,32,1,-1,1,39,45,-1,6,32,45,-1,45,43,6,-1,33,46,37,-1,33,37,36,-1,47,25,1,-1,47,1,32,-1,31,47,32,-1,48,49,45,-1,45,33,48,-1,50,48,51,-1,51,45,50,-1})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_74_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.013,.781,.04,.781,.04,.866,.013,.866,.013,.866,.04,.866,.04,.781,.013,.781,.013,.866,.013,.865,.04,.861,.013,.861,.013,.861,.001,.927,.093,.927,.007,.861,.013,.861,.007,.861,.007,.861,.007,.861,.093,.861,.093,.858,.008,.462,.007,.364,.007,.462,.04,.861,.04,.861,.007,.861,.007,.477,.009,.477,.013,.781,.093,.566,.068,.566,.055,.366,.055,.462,.007,.462,.007,.364,.008,.462,.055,.477,.055,.494,.007,.861,.009,.477,.007,.477,.055,.494,.055,.477,.055,.566,.055,.462,.093,.861,.184,.366,.184,.566,.184,.566,.055,.366}))))))
                .addChild(new Transform("dad_Box03")
                  .addChild(new Shape("Box03")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("C_SIDE_TEX"))
                      .setMaterial(new Material("material2_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,6,7,4,-1,2,1,7,-1,7,6,2,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,6,7,4,-1,8,9,10,-1,10,11,8,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-189.90424,-43.17075,-21.18403,-189.90424,-43.17075,-59.6651,265.95013,-43.17076,-59.6651,265.95017,-43.17076,-21.18403,-189.90424,45.56779,-21.18403,265.95013,45.56779,-21.18403,265.95013,45.56779,-59.6651,-189.90424,45.56779,-59.6651})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {13.953,.001,13.953,1.0,.007,.999,.007,.001,.007,.001,13.953,.001,13.953,.999,.007,1.0,.007,.001,13.953,.001,13.953,1.0,.007,1.0}))))))
                .addChild(new Transform("dad_Box04")
                  .addChild(new Shape("Box04")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material3_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,6,7,4,-1,3,2,6,-1,6,5,3,-1,2,1,7,-1,7,6,2,-1,1,0,4,-1,4,7,1,-1}).setTexCoordIndex(new int[] {0,1,1,-1,1,2,0,-1,3,3,4,-1,4,4,3,-1,2,1,4,-1,4,3,2,-1,1,1,4,-1,4,4,1,-1,1,0,3,-1,3,4,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-210.05501,3.62608,-87.72208,-209.27867,1.52698,-93.18823,-209.27867,-1.23773,-93.18823,-210.05501,-3.33684,-87.72208,-206.66255,3.62608,-87.72208,-206.66255,-3.33684,-87.72208,-207.43889,-1.23773,-93.18823,-207.43889,1.52698,-93.18823})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.962,.739,1.11,.712,.962,.739,.962,.621,1.11,.648}))))))
                .addChild(new Transform("dad_Box33")
                  .addChild(new Shape("Box33")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material4_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,3,2,1,-1,4,5,6,-1,7,6,5,-1,8,9,10,-1,11,10,9,-1,10,11,4,-1,5,4,11,-1,12,8,13,-1,10,13,8,-1,13,10,6,-1,4,6,10,-1,14,15,16,-1,17,16,15,-1,18,13,7,-1,6,7,13,-1,9,19,11,-1,18,11,19,-1,11,18,5,-1,7,5,18,-1,19,9,1,-1,1,0,19,-1,12,19,0,-1,0,2,12,-1,8,12,2,-1,2,3,8,-1,9,8,3,-1,3,1,9,-1,12,13,17,-1,17,15,12,-1,19,12,15,-1,15,14,19,-1,18,19,14,-1,14,16,18,-1,13,18,16,-1,16,17,13,-1}).setTexCoordIndex(new int[] {0,1,0,-1,1,0,1,-1,2,2,3,-1,4,3,2,-1,5,5,6,-1,6,6,5,-1,6,6,2,-1,2,2,6,-1,7,5,8,-1,6,8,5,-1,8,6,3,-1,2,3,6,-1,9,9,10,-1,10,10,9,-1,11,8,4,-1,3,4,8,-1,5,12,6,-1,11,6,12,-1,6,11,2,-1,4,2,11,-1,12,5,1,-1,1,0,12,-1,7,12,0,-1,0,0,7,-1,5,7,0,-1,0,1,5,-1,5,5,1,-1,1,1,5,-1,7,8,10,-1,10,9,7,-1,12,7,9,-1,9,9,12,-1,11,12,9,-1,9,10,11,-1,8,11,10,-1,10,10,8,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-228.2204,-63.15356,-29.97303,-231.16299,-63.15181,-27.26141,-228.2204,-63.24352,-29.97303,-231.16299,-63.24177,-27.26141,-253.55063,-65.672,-27.26141,-253.55063,-60.75892,-27.26141,-254.50246,-66.54545,-29.97303,-254.50246,-59.88679,-29.97303,-237.57921,-64.88631,-27.26141,-237.57921,-61.52482,-27.26141,-245.70786,-65.68843,-27.26141,-245.70787,-60.554,-27.26141,-234.55167,-66.11591,-29.97303,-246.38506,-66.54859,-29.97303,-237.61462,-61.46545,-31.42196,-237.61462,-65.03426,-31.42196,-245.70787,-61.46546,-31.42196,-245.70787,-65.03426,-31.42196,-246.38507,-59.86162,-29.97303,-234.55167,-60.24218,-29.97303})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.83,.9,.802,.827,.592,.827,.583,.9,.583,.9,.742,.827,.666,.827,.77,.9,.659,.9,.741,.939,.666,.939,.659,.9,.77,.9}))))))
                .addChild(new Transform("dad_Box38")
                  .addChild(new Shape("Box38")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material5_mat").setAmbientIntensity(0.906).setDiffuseColor(.90588,.90588,.90588).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,1,4,5,-1,5,2,1,-1,4,6,7,-1,7,5,4,-1,8,9,10,-1,10,11,8,-1,11,10,12,-1,12,13,11,-1,13,12,14,-1,14,15,13,-1,3,2,10,-1,10,9,3,-1,2,5,12,-1,12,10,2,-1,5,7,14,-1,14,12,5,-1,7,6,15,-1,15,14,7,-1,6,4,13,-1,13,15,6,-1,4,1,11,-1,11,13,4,-1,1,0,8,-1,8,11,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-237.53085,-50.15392,-21.8713,-237.53085,-46.36806,-24.76845,-237.53085,-49.71567,-25.51418,-237.53085,-55.17418,-21.8713,-237.53085,-47.50399,-31.77056,-237.53085,-49.71567,-30.75939,-237.53085,-62.31614,-37.18593,-237.53085,-63.16059,-36.02861,-236.43327,-50.15392,-21.8713,-236.43327,-55.17418,-21.8713,-236.43327,-49.71567,-25.51418,-236.43327,-46.36806,-24.76845,-236.43327,-49.71567,-30.75939,-236.43327,-47.50399,-31.77056,-236.43327,-63.16059,-36.02861,-236.43327,-62.31614,-37.18593}))))))
                .addChild(new Transform("dad_Box39")
                  .addChild(new Shape("Box39")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material6_mat").setAmbientIntensity(0.906).setDiffuseColor(.90588,.90588,.90588).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,1,4,5,-1,5,2,1,-1,4,6,7,-1,7,5,4,-1,8,9,10,-1,10,11,8,-1,11,10,12,-1,12,13,11,-1,13,12,14,-1,14,15,13,-1,3,2,10,-1,10,9,3,-1,2,5,12,-1,12,10,2,-1,5,7,14,-1,14,12,5,-1,7,6,15,-1,15,14,7,-1,6,4,13,-1,13,15,6,-1,4,1,11,-1,11,13,4,-1,1,0,8,-1,8,11,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-248.98169,-50.15391,-21.87131,-248.98169,-46.36806,-24.76845,-248.98169,-49.71567,-25.51419,-248.98169,-55.17418,-21.87131,-248.98169,-47.50398,-31.77056,-248.98169,-49.71567,-30.75939,-248.98167,-62.31614,-37.18593,-248.98167,-63.16058,-36.02861,-247.88411,-50.15391,-21.87131,-247.88411,-55.17417,-21.87131,-247.88411,-49.71567,-25.51419,-247.88411,-46.36806,-24.76845,-247.88411,-49.71567,-30.75939,-247.88411,-47.50398,-31.77056,-247.88409,-63.16058,-36.02861,-247.88409,-62.31613,-37.18593}))))))
                .addChild(new Transform("dad_Box40")
                  .addChild(new Shape("Box40")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material7_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,3,4,5,-1,1,0,6,-1,7,8,9,-1,10,11,12,-1,13,5,4,-1,14,12,11,-1,8,7,15,-1,2,1,4,-1,16,11,8,-1,17,12,18,-1,19,7,20,-1,21,5,0,-1,22,9,8,-1,17,23,24,-1,4,25,26,-1,27,12,18,-1,28,29,30,-1,17,31,23,-1,32,26,25,-1,17,33,34,-1,17,18,33,-1,11,10,35,-1,6,19,20,-1,22,36,9,-1,13,27,18,-1,10,37,4,-1,14,15,7,-1,11,16,38,-1,3,2,4,-1,0,39,21,-1,22,1,36,-1,40,28,30,-1,35,10,4,-1,33,41,34,-1,8,17,24,-1,42,29,43,-1,28,12,29,-1,33,4,41,-1,7,12,14,-1,29,44,30,-1,42,0,30,-1,18,5,13,-1,6,0,19,-1,24,23,32,-1,28,40,18,-1,18,12,28,-1,15,16,8,-1,38,16,15,-1,37,10,27,-1,12,27,10,-1,9,20,7,-1,6,20,9,-1,11,38,14,-1,15,14,38,-1,6,36,1,-1,9,36,6,-1,25,4,1,-1,32,25,45,-1,26,41,4,-1,0,40,30,-1,12,43,29,-1,5,21,3,-1,2,3,21,-1,21,39,2,-1,2,39,0,-1,4,37,13,-1,27,13,37,-1,24,32,45,-1,17,34,31,-1,42,44,29,-1,42,30,44,-1}).setTexCoordIndex(new int[] {0,1,2,-1,3,4,5,-1,1,0,6,-1,0,7,8,-1,9,10,5,-1,11,5,4,-1,12,5,10,-1,7,0,13,-1,2,1,4,-1,14,10,7,-1,15,5,16,-1,17,0,6,-1,12,5,0,-1,18,8,7,-1,15,19,20,-1,4,20,19,-1,11,5,16,-1,21,22,22,-1,15,23,19,-1,24,19,20,-1,15,25,26,-1,15,16,25,-1,10,9,25,-1,6,17,6,-1,18,8,8,-1,11,11,16,-1,9,9,4,-1,12,13,0,-1,10,14,27,-1,3,2,4,-1,0,28,12,-1,18,1,8,-1,5,21,22,-1,25,9,4,-1,25,23,26,-1,7,15,20,-1,17,22,0,-1,21,5,22,-1,25,4,23,-1,0,5,12,-1,22,29,22,-1,17,0,22,-1,16,5,11,-1,6,0,17,-1,20,19,24,-1,21,5,16,-1,16,5,21,-1,13,14,7,-1,27,14,13,-1,9,9,11,-1,5,11,9,-1,8,6,0,-1,6,6,8,-1,10,27,12,-1,13,12,27,-1,6,8,1,-1,8,8,6,-1,20,4,1,-1,24,20,18,-1,19,23,4,-1,0,5,22,-1,5,0,22,-1,5,12,3,-1,2,3,12,-1,12,28,2,-1,2,28,0,-1,4,9,11,-1,11,11,9,-1,20,24,18,-1,15,26,23,-1,17,29,22,-1,17,22,29,-1})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_118_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.697,.68,.699,.662,.699,.674,.687,.674,.69,.662,.69,.68,.792,.68,.699,.662,.783,.674,.603,.674,.69,.662,.594,.68,.687,.68,.699,.68,.699,.674,.69,.662,.686,.68,.7,.68,.7,.662,.697,.484,.697,.662,.686,.686,.697,.686,.69,.484,.7,.484,.686,.662,.686,.484,.687,.674,.699,.68,.7,.686}))))))
                .addChild(new Transform("dad_ChamferCyl")
                  .addChild(new Shape("ChamferCyl")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material8_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,0,2,3,-1,3,2,4,-1,3,4,5,-1,5,4,6,-1,5,6,7,-1,7,6,8,-1,7,8,9,-1,9,8,10,-1,9,10,11,-1,11,10,12,-1,11,12,13,-1,13,12,14,-1,13,14,15,-1,15,14,16,-1,15,16,17,-1,17,16,18,-1,17,18,19,-1,19,18,20,-1,19,20,21,-1,21,20,22,-1,21,22,23,-1,23,22,1,-1,23,1,0,-1,1,24,25,-1,1,25,2,-1,2,25,26,-1,2,26,4,-1,4,26,27,-1,4,27,6,-1,6,27,28,-1,6,28,8,-1,8,28,29,-1,8,29,10,-1,10,29,30,-1,10,30,12,-1,12,30,31,-1,12,31,14,-1,14,31,32,-1,14,32,16,-1,16,32,33,-1,16,33,18,-1,18,33,34,-1,18,34,20,-1,20,34,35,-1,20,35,22,-1,22,35,24,-1,22,24,1,-1}).setTexCoordIndex(new int[] {0,1,2,-1,0,2,3,-1,3,2,4,-1,3,4,5,-1,5,4,6,-1,5,6,7,-1,7,6,4,-1,7,4,5,-1,5,4,8,-1,5,8,9,-1,9,8,10,-1,9,10,11,-1,11,10,12,-1,11,12,13,-1,13,12,14,-1,13,14,15,-1,15,14,16,-1,15,16,17,-1,17,16,14,-1,17,14,15,-1,15,14,18,-1,15,18,19,-1,19,18,1,-1,19,1,0,-1,1,20,21,-1,1,21,2,-1,2,21,22,-1,2,22,4,-1,4,22,23,-1,4,23,6,-1,6,23,24,-1,6,24,4,-1,4,24,25,-1,4,25,8,-1,8,25,26,-1,8,26,10,-1,10,26,27,-1,10,27,12,-1,12,27,28,-1,12,28,14,-1,14,28,29,-1,14,29,16,-1,16,29,30,-1,16,30,14,-1,14,30,31,-1,14,31,18,-1,18,31,20,-1,18,20,1,-1})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_126_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.527,.942,.527,.902,.51,.902,.515,.942,.498,.902,.506,.942,.494,.902,.503,.942,.51,.902,.515,.942,.527,.902,.527,.942,.543,.902,.539,.942,.555,.902,.547,.942,.56,.902,.551,.942,.543,.902,.539,.942,.506,.344,.479,.344,.459,.344,.452,.344,.459,.344,.479,.344,.506,.344,.533,.344,.553,.344,.56,.344,.553,.344,.533,.344}))))))
                .addChild(new Transform("dad_Cylinder01")
                  .addChild(new Shape("Cylinder01")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material9_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,0,3,1,-1,0,4,3,-1,0,5,4,-1,0,6,5,-1,0,7,6,-1,0,8,7,-1,0,9,8,-1,0,10,9,-1,0,2,10,-1,2,11,12,-1,2,1,11,-1,1,13,11,-1,1,3,13,-1,3,14,13,-1,3,4,14,-1,4,15,14,-1,4,5,15,-1,5,16,15,-1,5,6,16,-1,6,17,16,-1,6,7,17,-1,7,18,17,-1,7,8,18,-1,8,19,18,-1,8,9,19,-1,9,20,19,-1,9,10,20,-1,10,12,20,-1,10,2,12,-1,21,12,11,-1,21,11,13,-1,21,13,14,-1,21,14,15,-1,21,15,16,-1,21,16,17,-1,21,17,18,-1,21,18,19,-1,21,19,20,-1,21,20,12,-1}).setTexCoordIndex(new int[] {0,1,0,-1,0,2,1,-1,0,2,2,-1,0,1,2,-1,0,0,1,-1,0,3,0,-1,0,4,3,-1,0,4,4,-1,0,3,4,-1,0,0,3,-1,0,5,6,-1,0,1,5,-1,1,7,5,-1,1,2,7,-1,2,7,7,-1,2,2,7,-1,2,5,7,-1,2,1,5,-1,1,6,5,-1,1,0,6,-1,0,8,6,-1,0,3,8,-1,3,9,8,-1,3,4,9,-1,4,9,9,-1,4,4,9,-1,4,8,9,-1,4,3,8,-1,3,6,8,-1,3,0,6,-1,6,6,5,-1,6,5,7,-1,6,7,7,-1,6,7,5,-1,6,5,6,-1,6,6,8,-1,6,8,9,-1,6,9,9,-1,6,9,8,-1,6,8,6,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {399.90125,.13819,-36.56351,399.33087,-.64688,-36.56351,399.90125,-.83221,-36.56351,398.97833,-.16168,-36.56351,398.97833,.43806,-36.56351,399.33087,.92327,-36.56351,399.90125,1.1086,-36.56351,400.47162,.92327,-36.56351,400.82416,.43806,-36.56351,400.82416,-.16168,-36.56351,400.47162,-.64688,-36.56351,399.33087,-.64689,-74.48149,399.90125,-.83222,-74.48149,398.97833,-.16168,-74.48149,398.97833,.43806,-74.48149,399.33087,.92326,-74.48149,399.90125,1.1086,-74.4815,400.47162,.92326,-74.4815,400.82416,.43806,-74.4815,400.82416,-.16168,-74.4815,400.47162,-.64689,-74.4815,399.90125,.13819,-74.4815})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.748,.5,.748,.524,.748,.539,.748,.476,.748,.461,.817,.524,.817,.5,.817,.539,.817,.476,.817,.461}))))))
                .addChild(new Transform("dad_Cylinder02")
                  .addChild(new Shape("Cylinder02")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material10_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,0,3,1,-1,0,4,3,-1,0,5,4,-1,0,6,5,-1,0,7,6,-1,0,8,7,-1,0,9,8,-1,0,10,9,-1,0,2,10,-1,2,11,12,-1,2,1,11,-1,1,13,11,-1,1,3,13,-1,3,14,13,-1,3,4,14,-1,4,15,14,-1,4,5,15,-1,5,16,15,-1,5,6,16,-1,6,17,16,-1,6,7,17,-1,7,18,17,-1,7,8,18,-1,8,19,18,-1,8,9,19,-1,9,20,19,-1,9,10,20,-1,10,12,20,-1,10,2,12,-1}).setTexCoordIndex(new int[] {0,1,2,-1,0,3,1,-1,0,4,3,-1,0,5,4,-1,0,6,5,-1,0,7,6,-1,0,8,7,-1,0,9,8,-1,0,10,9,-1,0,2,10,-1,2,1,2,-1,2,1,1,-1,1,3,1,-1,1,3,3,-1,3,4,3,-1,3,4,4,-1,4,5,4,-1,4,5,5,-1,5,6,5,-1,5,6,6,-1,6,7,6,-1,6,7,7,-1,7,8,7,-1,7,8,8,-1,8,9,8,-1,8,9,9,-1,9,10,9,-1,9,10,10,-1,10,2,10,-1,10,2,2,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {399.90121,.1382,-51.21793,397.43536,-3.25572,-51.21793,399.90121,-4.05692,-51.21793,395.91147,-1.15817,-51.21793,395.91147,1.43456,-51.21793,397.43536,3.53212,-51.21793,399.90121,4.33331,-51.21793,402.3671,3.53212,-51.21793,403.89099,1.43456,-51.21793,403.89099,-1.15817,-51.21793,402.3671,-3.25572,-51.21793,397.43536,-3.25573,-53.36052,399.90121,-4.05692,-53.36052,395.91147,-1.15817,-53.36052,395.91147,1.43456,-53.36052,397.43536,3.53212,-53.36052,399.90121,4.33331,-53.36052,402.3671,3.53212,-53.36052,403.89099,1.43456,-53.36052,403.89099,-1.15817,-53.36052,402.3671,-3.25573,-53.36052})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.5,.5,.904,.809,1.0,.5,.654,1.0,.346,1.0,.096,.809,.001,.5,.096,.191,.346,.001,.654,.001,.904,.191}))))))
                .addChild(new Transform("dad_Cylinder04")
                  .addChild(new Shape("Cylinder04")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material11_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,0,3,1,-1,0,4,3,-1,0,5,4,-1,0,6,5,-1,0,7,6,-1,0,8,7,-1,0,9,8,-1,0,10,9,-1,0,2,10,-1,2,11,12,-1,2,1,11,-1,1,13,11,-1,1,3,13,-1,3,14,13,-1,3,4,14,-1,4,15,14,-1,4,5,15,-1,5,16,15,-1,5,6,16,-1,6,17,16,-1,6,7,17,-1,7,18,17,-1,7,8,18,-1,8,19,18,-1,8,9,19,-1,9,20,19,-1,9,10,20,-1,10,12,20,-1,10,2,12,-1,21,12,11,-1,21,11,13,-1,21,13,14,-1,21,14,15,-1,21,15,16,-1,21,16,17,-1,21,17,18,-1,21,18,19,-1,21,19,20,-1,21,20,12,-1}).setTexCoordIndex(new int[] {0,1,0,-1,0,2,1,-1,0,2,2,-1,0,1,2,-1,0,0,1,-1,0,3,0,-1,0,4,3,-1,0,4,4,-1,0,3,4,-1,0,0,3,-1,0,5,6,-1,0,1,5,-1,1,7,5,-1,1,2,7,-1,2,7,7,-1,2,2,7,-1,2,5,7,-1,2,1,5,-1,1,6,5,-1,1,0,6,-1,0,8,6,-1,0,3,8,-1,3,9,8,-1,3,4,9,-1,4,9,9,-1,4,4,9,-1,4,8,9,-1,4,3,8,-1,3,6,8,-1,3,0,6,-1,6,6,5,-1,6,5,7,-1,6,7,7,-1,6,7,5,-1,6,5,6,-1,6,6,8,-1,6,8,9,-1,6,9,9,-1,6,9,8,-1,6,8,6,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-208.31857,5.41335,-118.13174,-208.22511,5.28471,-118.13174,-208.31857,5.25435,-118.13174,-208.16736,5.36421,-118.13174,-208.16736,5.46248,-118.13174,-208.22511,5.54198,-118.13174,-208.31857,5.57234,-118.13174,-208.41203,5.54198,-118.13174,-208.46979,5.46248,-118.13174,-208.46979,5.36421,-118.13174,-208.41203,5.28471,-118.13174,-208.22511,5.28471,-114.54931,-208.31857,5.25435,-114.54931,-208.16736,5.36421,-114.54931,-208.16736,5.46248,-114.54931,-208.22511,5.54198,-114.54931,-208.31857,5.57234,-114.54931,-208.41203,5.54198,-114.54931,-208.46979,5.46248,-114.54931,-208.46979,5.36421,-114.54931,-208.41203,5.28471,-114.54931,-208.31857,5.41335,-114.54931})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.784,.679,.784,.676,.784,.674,.784,.682,.784,.684,.687,.676,.687,.679,.687,.674,.687,.682,.687,.684}))))))
                .addChild(new Transform("dad_Line10")
                  .addChild(new Shape("Line10")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material12_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(getIndexedFaceSet_11_158_coordIndex()).setTexCoordIndex(getIndexedFaceSet_11_158_texCoordIndex())
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_158_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(getTextureCoordinate_12_159_point())))))
                .addChild(new Transform("dad_Name_pt")
                  .addChild(new Shape("Name_pt")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material18_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804).setTransparency(1)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,3,2,1,-1}).setTexCoordIndex(new int[] {0,1,2,-1,3,2,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {393.13031,-39.19087,-36.34584,387.52704,-21.69499,-22.43673,360.21585,-53.38569,-33.98268,360.30566,-36.79501,-21.99023})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {0.0,1.0,0.0,0.0,1.0,1.0,1.0,0.0}))))))
                .addChild(new Transform("dad_Name_sb")
                  .addChild(new Shape("Name_sb")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material19_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804).setTransparency(1)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,3,2,1,-1}).setTexCoordIndex(new int[] {0,1,2,-1,3,2,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {360.21594,53.52636,-33.98264,360.30573,36.9357,-21.99017,393.13037,39.33155,-36.34577,387.5271,21.8357,-22.43666})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {0.0,1.0,0.0,0.0,1.0,1.0,1.0,0.0}))))))
                .addChild(new Transform("dad_Name_sn")
                  .addChild(new Shape("Name_sn")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material20_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804).setTransparency(1)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,1,3,-1,4,0,2,-1,2,5,6,-1,3,5,2,-1,2,6,7,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,1,3,-1,4,0,2,-1,2,5,6,-1,3,5,2,-1,2,6,7,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-394.78586,-43.43495,-9.71837,-394.55917,-24.22525,-2.22004,-394.80875,.07022,-21.91711,-394.4075,.07022,-1.20362,-394.78018,-47.51174,-21.91711,-394.55917,24.36568,-2.22006,-394.78586,43.57539,-9.71839,-394.78018,47.65218,-21.91713})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.043,.411,.245,.05,.5,1.0,.5,.001,.001,1.0,.755,.05,.957,.411,1.0,1.0}))))))
                .addChild(new Transform("dad_Object01")
                  .addChild(new Shape("Object01")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture("C_END_TEX").setUrl(new String[] {"textures/C_END.jpg","https://www.web3d.org/x3d/content/examples/Savage/ShipsCivilian/CargoShips/textures/C_END.jpg"}))
                      .setMaterial(new Material("material21_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,6,7,4,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,6,7,4,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {265.95017,-43.17076,-21.18403,265.95013,-43.17076,-59.6651,265.95013,45.56779,-59.6651,265.95013,45.56779,-21.18403,-189.90424,-43.17076,-59.6651,-189.90424,-43.17076,-21.18403,-189.90424,45.56779,-21.18403,-189.90424,45.56779,-59.6651})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.008,.056,.008,1.27,.832,1.27,.832,.056,.008,1.27,.008,.056,.832,.056,.832,1.27}))))))
                .addChild(new Transform("dad_Object02")
                  .addChild(new Shape("Object02")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("C_END_TEX"))
                      .setMaterial(new Material("material22_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,6,7,4,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,1,0,4,-1,4,5,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-285.70419,-43.17078,-21.44951,-285.70419,-43.17078,-59.93059,-285.70419,45.56719,-59.93059,-285.70419,45.56719,-21.44951,-388.9407,-43.17078,-59.93058,-388.9407,-43.17078,-21.44951,-388.9407,45.56719,-21.44951,-388.9407,45.56719,-59.93058})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {1.812,.795,1.812,2.009,.988,2.009,.988,.795,.988,.795,.988,2.009}))))))
                .addChild(new Transform("dad_Object03")
                  .addChild(new Shape("Object03")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material23_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,4,6,7,-1,7,8,9,-1,4,7,9,-1,10,11,12,-1,12,13,10,-1,14,15,16,-1,16,17,14,-1,18,19,6,-1,18,6,5,-1,18,5,20,-1,18,20,21,-1,22,23,24,-1,25,22,24,-1,26,27,28,-1,29,26,28,-1,24,29,28,-1,24,28,30,-1,25,24,30,-1,31,32,33,-1,34,35,36,-1,36,37,38,-1,34,36,38,-1,34,38,39,-1,33,34,39,-1,31,33,39,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,4,6,7,-1,7,8,9,-1,4,7,9,-1,10,11,12,-1,12,13,10,-1,14,15,16,-1,16,17,14,-1,18,14,6,-1,18,6,5,-1,18,5,0,-1,18,0,19,-1,20,21,22,-1,19,20,22,-1,23,13,24,-1,25,23,24,-1,22,25,24,-1,22,24,26,-1,19,22,26,-1,12,27,28,-1,29,30,31,-1,31,32,33,-1,29,31,33,-1,29,33,34,-1,28,29,34,-1,12,28,34,-1})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_206_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.235,.867,.204,.872,.204,.787,.235,.787,.243,.867,.243,.867,.372,.867,.372,.867,.372,.933,.243,.933,.235,.369,.38,.369,.38,.467,.235,.467,.38,.867,.38,.787,.41,.787,.41,.872,.38,.482,.235,.482,.235,.498,.235,.571,.212,.571,.235,.37,.213,.467,.212,.37,.213,.482,.38,.37,.402,.37,.402,.571,.38,.571,.38,.498,.38,.482,.402,.482,.402,.467}))))))
                .addChild(new Transform("dad_Object04")
                  .addChild(new Shape("Object04")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material24_mat").setAmbientIntensity(0).setDiffuseColor(0.0,0.0,0.0).setShininess(0.1).setSpecularColor(0.89804,0.89804,0.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,0,2,3,-1,0,3,4,-1,0,4,5,-1,0,5,6,-1,0,6,7,-1,0,7,8,-1,0,8,9,-1,0,9,10,-1,0,10,11,-1,0,11,12,-1,0,12,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-249.61313,.23909,-91.07054,-249.61313,-4.69696,-91.07055,-253.46944,-4.03566,-91.07055,-256.29242,-2.22894,-91.07054,-257.32571,.23909,-91.07054,-256.29242,2.70712,-91.07055,-253.46944,4.51384,-91.07054,-249.61313,5.17515,-91.07054,-245.75684,4.51384,-91.07054,-242.93384,2.70712,-91.07055,-241.90053,.23909,-91.07055,-242.93382,-2.22894,-91.07055,-245.75684,-4.03566,-91.07055}))))))
                .addChild(new Transform("dad_Object05")
                  .addChild(new Shape("Object05")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material25_mat").setAmbientIntensity(0.906).setDiffuseColor(.90588,.90588,.90588).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,6,7,4,-1,8,9,10,-1,10,11,8,-1,8,12,13,-1,13,9,8,-1,10,14,15,-1,15,11,10,-1,10,9,16,-1,16,17,10,-1,8,11,18,-1,18,19,8,-1,20,16,9,-1,21,20,9,-1,21,9,13,-1,22,18,11,-1,23,22,11,-1,23,11,15,-1,12,8,19,-1,12,19,24,-1,12,24,25,-1,14,10,17,-1,14,17,26,-1,14,26,27,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-210.51686,48.07248,-70.93246,-210.51686,33.88201,-70.93246,-197.59163,33.88198,-70.93247,-197.59163,48.07245,-70.93247,-197.59161,-33.62777,-70.93247,-210.51685,-33.62775,-70.93246,-210.51683,-47.8745,-70.93246,-197.59161,-47.87453,-70.93247,-192.58164,44.27398,-35.1833,-192.58164,44.27398,-33.46069,-192.5816,-43.98341,-33.46069,-192.5816,-43.98341,-35.1833,-217.72275,44.27398,-35.1833,-217.72275,44.27398,-33.46069,-217.72272,-43.98339,-33.46069,-217.72272,-43.98339,-35.1833,-195.00221,33.88198,-33.46069,-195.0022,-33.62777,-33.46069,-195.00223,-33.62777,-35.1833,-195.00224,33.88198,-35.1833,-195.61183,33.88198,-33.46069,-217.72275,33.882,-33.46069,-195.70282,-33.62777,-35.1833,-217.72273,-33.62775,-35.1833,-195.70285,33.88198,-35.1833,-217.72275,33.882,-35.1833,-195.61182,-33.62777,-33.46069,-217.72273,-33.62775,-33.46069}))))))
                .addChild(new Transform("dad_Object06")
                  .addChild(new Shape("Object06")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material26_mat").setAmbientIntensity(0.387).setDiffuseColor(.48628,.36863,.27451).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,6,7,4,-1,8,9,10,-1,10,11,8,-1,12,13,14,-1,14,15,12,-1,16,17,18,-1,19,16,18,-1,19,18,20,-1,21,19,20,-1,21,20,22,-1,23,21,22,-1,24,23,22,-1,24,22,25,-1,25,26,27,-1,24,25,27,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-197.59161,30.20271,-80.26041,-197.59161,33.88198,-80.26041,-195.00232,33.88198,-80.26041,-195.0045,30.20273,-80.26041,-235.83899,30.2027,-80.26041,-235.83899,33.882,-80.26041,-210.51685,33.882,-80.26041,-210.51685,30.20271,-80.26041,-235.83897,-33.62775,-80.26041,-235.83897,-29.94848,-80.26041,-210.51682,-29.95201,-80.26407,-210.51682,-33.62775,-80.26041,-195.0045,-29.94847,-80.26041,-195.00232,-33.62778,-80.26041,-197.59161,-33.62777,-80.26041,-197.59161,-29.95379,-80.26595,-223.57423,-33.62778,-45.66154,-217.72272,-33.62775,-45.66154,-217.72267,-44.29026,-45.66154,-235.83888,-33.62775,-45.66154,-278.46924,-44.29028,-45.66153,-235.83894,-32.12282,-45.66154,-278.46933,44.58704,-45.66154,-235.83899,-7.51901,-45.66154,-235.83899,33.882,-45.66154,-217.72275,44.58703,-45.66154,-217.72272,33.882,-45.66154,-223.57425,33.88197,-45.66154}))))))
                .addChild(new Transform("dad_Object07")
                  .addChild(new Shape("Object07")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material27_mat").setAmbientIntensity(0.906).setDiffuseColor(.90588,.90588,.90588).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,1,0,-1,0,5,4,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-235.83899,30.2027,-80.26041,-235.83899,-29.94848,-80.26041,-235.83899,-29.94848,-79.95629,-235.83899,30.2027,-79.95629,-235.83893,-29.94848,-88.00661,-235.83899,30.2027,-88.00661}))))))
                .addChild(new Transform("dad_Object08")
                  .addChild(new Shape("Object08")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material28_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,6,7,4,-1,8,9,10,-1,10,11,8,-1,4,12,13,-1,4,13,14,-1,5,4,14,-1,15,16,7,-1,7,6,15,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,6,7,4,-1,8,9,10,-1,10,11,8,-1,4,12,0,-1,4,0,13,-1,5,4,13,-1,14,15,7,-1,7,6,14,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-210.51685,-33.62775,-80.26041,-210.51683,-47.8745,-80.81647,-210.51683,-47.8745,-70.93247,-210.51683,-33.62775,-70.93247,-235.83897,-29.94848,-79.95629,-235.83897,-32.12282,-45.66154,-235.83897,-7.51901,-45.66154,-235.83897,30.2027,-79.95629,-210.51685,33.882,-80.26041,-210.51685,33.882,-70.93247,-210.51685,48.07248,-70.93247,-210.51685,48.07248,-80.81647,-235.83897,-29.94848,-80.26041,-235.83897,-33.62775,-80.26041,-235.83897,-33.62775,-45.66154,-235.83897,33.882,-45.66154,-235.83897,33.882,-80.26041})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.851,.87,1.0,.877,1.0,.747,.851,.747,.813,.866,.835,.417,.579,.417,.187,.866,.148,.87,.148,.747,.001,.747,.001,.877,.813,.87,.851,.417,.148,.417,.148,.87}))))))
                .addChild(new Transform("dad_Object09")
                  .addChild(new Shape("Object09")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material29_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-278.4693,44.58704,-22.07921,-278.4693,44.58704,-45.66157,-278.4693,-44.29028,-45.66157,-278.4693,-44.29028,-22.07921})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.296,.121,.296,.379,.99,.379,.99,.121}))))))
                .addChild(new Transform("dad_Object10")
                  .addChild(new Shape("Object10")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material30_mat").setAmbientIntensity(0.387).setDiffuseColor(.48628,.36863,.27451).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,0,2,3,-1,0,3,4,-1,0,4,5,-1,0,5,6,-1,0,6,7,-1,0,7,8,-1,4,9,10,-1,4,10,11,-1,12,11,13,-1,13,11,14,-1,14,11,15,-1,15,11,16,-1,16,11,10,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-394.78018,47.65218,-21.91713,-336.99658,54.04449,-21.91879,-197.22984,67.34255,-21.9247,271.20459,65.02866,-21.99016,271.20459,-64.88797,-21.99023,-197.22984,-67.20206,-21.9247,-336.99658,-53.90402,-21.91877,-394.78015,-47.51173,-21.91711,-394.80872,.07022,-21.91711,271.20462,65.02866,-21.99016,284.22333,65.02863,-28.35876,284.22333,-64.88797,-28.35883,360.21588,-53.38567,-33.98269,393.13034,-39.19086,-36.34584,423.84943,.07035,-38.40598,393.13034,39.33155,-36.34577,360.21588,53.52635,-33.98262}))))))
                .addChild(new Transform("dad_Pyramid01")
                  .addChild(new Shape("Pyramid01")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture("NAVTWR_TEX").setUrl(new String[] {"textures/NAVTWR.jpg","https://www.web3d.org/x3d/content/examples/Savage/ShipsCivilian/CargoShips/textures/NAVTWR.jpg"}))
                      .setMaterial(new Material("material31_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(getIndexedFaceSet_11_260_coordIndex()).setTexCoordIndex(getIndexedFaceSet_11_260_texCoordIndex())
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_260_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.001,.001,1.0,.001,.588,.669,.412,.669,.412,.669,0.0,.001,.499,.495,.648,.495,.604,.6,.499,.644,.394,.6,.351,.495,.394,.39,.499,.347,.604,.39,.69,.966,.6,.991,.495,.991,.495,.966,.501,.966,.501,.991,.396,.991,.306,.966,.695,.966,.606,.991,.505,.966,.505,.991,.4,.991,.31,.966,.699,.966,.61,.991,.499,.966,.499,.991,.394,.991,.305,.966,.694,.966,.604,.991,.39,.991,.301,.966,.749,.929,.495,.929,.501,.929,.247,.929,.754,.929,.505,.929,.251,.929,.758,.929,.499,.929,.246,.929,.753,.929,.242,.929,.77,.886,.495,.886,.501,.886,.226,.886,.775,.886,.505,.886,.23,.886,.779,.886,.499,.886,.225,.886,.774,.886,.221,.886,.77,.669,.495,.669,.501,.669,.226,.669,.775,.669,.505,.669,.23,.669,.779,.669,.499,.669,.225,.669,.774,.669,.221,.669,.588,.588,.775,.77,.501,.884,.412,.588,.226,.77,.112,.495,.412,.412,.226,.221,.501,.107,.588,.412,.775,.221,.889,.495}))))))
                .addChild(new Transform("dad_Sphere01")
                  .addChild(new Shape("Sphere01")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIP1_TEX"))
                      .setMaterial(new Material("material32_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,0,2,3,-1,0,3,4,-1,0,4,5,-1,0,5,6,-1,0,6,7,-1,0,7,8,-1,0,8,9,-1,0,9,10,-1,0,10,1,-1,1,11,12,-1,1,12,2,-1,2,12,13,-1,2,13,3,-1,3,13,14,-1,3,14,4,-1,4,14,15,-1,4,15,5,-1,5,15,16,-1,5,16,6,-1,6,16,17,-1,6,17,7,-1,7,17,18,-1,7,18,8,-1,8,18,19,-1,8,19,9,-1,9,19,20,-1,9,20,10,-1,10,20,11,-1,10,11,1,-1,11,21,22,-1,11,22,12,-1,12,22,23,-1,12,23,13,-1,13,23,24,-1,13,24,14,-1,14,24,25,-1,14,25,15,-1,15,25,26,-1,15,26,16,-1,16,26,27,-1,16,27,17,-1,17,27,28,-1,17,28,18,-1,18,28,29,-1,18,29,19,-1,19,29,30,-1,19,30,20,-1,20,30,21,-1,20,21,11,-1,21,31,32,-1,21,32,22,-1,22,32,33,-1,22,33,23,-1,23,33,34,-1,23,34,24,-1,24,34,35,-1,24,35,25,-1,25,35,36,-1,25,36,26,-1,26,36,37,-1,26,37,27,-1,27,37,38,-1,27,38,28,-1,28,38,39,-1,28,39,29,-1,29,39,40,-1,29,40,30,-1,30,40,31,-1,30,31,21,-1,41,32,31,-1,41,33,32,-1,41,34,33,-1,41,35,34,-1,41,36,35,-1,41,37,36,-1,41,38,37,-1,41,39,38,-1,41,40,39,-1,41,31,40,-1}).setTexCoordIndex(new int[] {0,1,2,-1,0,2,3,-1,0,3,4,-1,0,4,5,-1,0,5,6,-1,0,6,5,-1,0,5,4,-1,0,4,7,-1,0,7,8,-1,0,8,1,-1,1,9,10,-1,1,10,2,-1,2,10,11,-1,2,11,3,-1,3,11,12,-1,3,12,4,-1,4,12,13,-1,4,13,5,-1,5,13,14,-1,5,14,6,-1,6,14,15,-1,6,15,5,-1,5,15,12,-1,5,12,4,-1,4,12,16,-1,4,16,7,-1,7,16,17,-1,7,17,8,-1,8,17,9,-1,8,9,1,-1,9,18,19,-1,9,19,10,-1,10,19,20,-1,10,20,11,-1,11,20,21,-1,11,21,12,-1,12,21,22,-1,12,22,13,-1,13,22,23,-1,13,23,14,-1,14,23,24,-1,14,24,15,-1,15,24,21,-1,15,21,12,-1,12,21,25,-1,12,25,16,-1,16,25,26,-1,16,26,17,-1,17,26,18,-1,17,18,9,-1,18,27,28,-1,18,28,19,-1,19,28,29,-1,19,29,20,-1,20,29,30,-1,20,30,21,-1,21,30,31,-1,21,31,22,-1,22,31,32,-1,22,32,23,-1,23,32,31,-1,23,31,24,-1,24,31,30,-1,24,30,21,-1,21,30,33,-1,21,33,25,-1,25,33,34,-1,25,34,26,-1,26,34,27,-1,26,27,18,-1,35,28,27,-1,35,29,28,-1,35,30,29,-1,35,31,30,-1,35,32,31,-1,35,31,32,-1,35,30,31,-1,35,33,30,-1,35,34,33,-1,35,27,34,-1})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_268_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.687,.526,.695,.493,.695,.5,.695,.516,.695,.537,.695,.553,.695,.559,.695,.516,.695,.5,.717,.473,.717,.483,.717,.51,.717,.543,.717,.57,.717,.58,.717,.57,.717,.51,.717,.483,.743,.473,.743,.483,.743,.51,.743,.543,.743,.57,.743,.58,.743,.57,.743,.51,.743,.483,.765,.493,.765,.5,.765,.516,.765,.537,.765,.553,.765,.559,.765,.516,.765,.5,.773,.526}))))))))))))
    .addChild(new Viewpoint("VP1").setDescription("Container Ship Starboard").setPosition(0.0,5.0,255.0))
    .addChild(new Viewpoint("VP2").setDescription("Container Ship Front").setOrientation(0.0,1.0,0.0,1.571).setPosition(255.0,5.0,0.0))
    .addChild(new Viewpoint("VP3").setDescription("Container Ship Port").setOrientation(0.0,1.0,0.0,3.142).setPosition(0.0,5.0,-255.0))
    .addChild(new Viewpoint("VP4").setDescription("Container Ship Back").setOrientation(0.0,1.0,0.0,-1.571).setPosition(-255.0,5.0,0.0))
    .addChild(new Viewpoint("VP5").setDescription("Container Ship Top").setOrientation(1.0,0.0,0.0,-1.571).setPosition(0.0,255.0,0.0))
    .addChild(new Viewpoint("VP6").setDescription("Container Ship Bottom").setOrientation(1.0,0.0,0.0,1.571).setPosition(0.0,-255.0,0.0))
    .addChild(new Viewpoint("VP7").setDescription("Container Ship Three-Quarter").setFieldOfView(0.60243).setOrientation(0.124491,-0.945607,-0.300549,-2.39496).setPosition(255.0,255.0,-255.0)));
            }
            catch (Exception ex)
            {       
                System.err.println ("*** Further hints on X3DJSAIL errors and exceptions at");
                System.err.println ("*** https://www.web3d.org/specifications/java/X3DJSAIL.html");
                throw (ex);
            }
	}
	// end of initialize() method




		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_11_158_coordIndex_1()
		{
			int[] value = {0,1,2,-1,3,4,5,-1,6,7,8,-1,8,7,9,-1,10,6,8,-1,11,12,13,-1,13,14,11,-1,15,16,17,-1,18,19,20,-1,21,20,19,-1,20,21,22,-1,23,22,21,-1,24,18,25,-1,20,25,18,-1,25,20,26,-1,22,26,20,-1,27,25,28,-1,26,28,25,-1,13,24,27,-1,25,27,24,-1,29,27,30,-1,28,30,27,-1,14,13,29,-1,27,29,13,-1,31,29,32,-1,30,32,29,-1,15,17,31,-1,29,31,17,-1,14,29,33,-1,17,33,29,-1,34,35,0,-1,1,0,35,-1,4,0,5,-1,2,5,0,-1,36,34,4,-1,0,4,34,-1,37,36,3,-1,4,3,36,-1,36,37,38,-1,39,38,37,-1,34,36,40,-1,38,40,36,-1,35,34,41,-1,40,41,34,-1,42,43,41,-1,35,41,43,-1,44,42,45,-1,41,45,42,-1,45,41,46,-1,40,46,41,-1,22,44,26,-1,45,26,44,-1,26,45,28,-1,46,28,45,-1,47,24,12,-1,13,12,24,-1,48,18,47,-1,24,47,18,-1,6,48,7,-1,47,7,48,-1,7,47,9,-1,12,9,47,-1,49,50,30,-1,32,30,50,-1,46,49,28,-1,30,28,49,-1,51,44,23,-1,22,23,44,-1,52,51,53,-1,23,53,51,-1,54,11,33,-1,14,33,11,-1,16,54,17,-1,33,17,54,-1,39,50,38,-1,49,38,50,-1,55,43,56,-1,42,56,43,-1,57,55,58,-1,56,58,55,-1,38,49,40,-1,46,40,49,-1,56,42,51,-1,44,51,42,-1,58,56,52,-1,51,52,56,-1,59,19,48,-1,18,48,19,-1,10,59,6,-1,48,6,59,-1,2,1,60,-1,5,61,3,-1,8,62,63,-1,9,62,8,-1,8,63,64,-1,65,12,11,-1,11,66,65,-1,67,16,15,-1,68,69,70,-1,69,68,71,-1,72,71,68,-1,71,72,73,-1,74,70,75,-1,70,74,68,-1,76,68,74,-1,68,76,72,-1,77,74,78,-1,74,77,76,-1,78,75,65,-1,75,78,74,-1,79,78,80,-1,78,79,77,-1,80,65,66,-1,65,80,78,-1,32,80,31,-1,80,32,79,-1,31,67,15,-1,67,31,80,-1,81,80,66,-1,80,81,67,-1,60,35,82,-1,35,60,1,-1,5,60,61,-1,60,5,2,-1,61,82,83,-1,82,61,60,-1,3,83,37,-1,83,3,61,-1,84,37,83,-1,37,84,39,-1,85,83,82,-1,83,85,84,-1,86,82,35,-1,82,86,85,-1,86,43,87,-1,43,86,35,-1,88,87,89,-1,87,88,86,-1,90,86,88,-1,86,90,85,-1,76,89,72,-1,89,76,88,-1,77,88,76,-1,88,77,90,-1,12,75,91,-1,75,12,65,-1,91,70,92,-1,70,91,75,-1,62,92,63,-1,92,62,91,-1,9,91,62,-1,91,9,12,-1,79,50,93,-1,50,79,32,-1,77,93,90,-1,93,77,79,-1,73,89,94,-1,89,73,72,-1,95,94,96,-1,94,95,73,-1,81,11,54,-1,11,81,66,-1,67,54,16,-1,54,67,81,-1,84,50,39,-1,50,84,93,-1,97,43,55,-1,43,97,87,-1,98,55,57,-1,55,98,97,-1,85,93,84,-1,93,85,90,-1,94,87,97,-1,87,94,89,-1,96,97,98,-1,97,96,94,-1,92,69,99,-1,69,92,70,-1,63,99,64,-1,99,63,92,-1};
			return value;
		}


		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_11_158_texCoordIndex_1()
		{
			int[] value = {0,1,2,-1,3,4,5,-1,6,7,8,-1,8,7,9,-1,10,6,8,-1,11,12,13,-1,13,14,11,-1,15,16,17,-1,18,19,20,-1,21,20,19,-1,20,21,22,-1,23,22,21,-1,24,18,25,-1,20,25,18,-1,25,20,26,-1,22,26,20,-1,27,25,28,-1,26,28,25,-1,13,24,27,-1,25,27,24,-1,29,27,30,-1,28,30,27,-1,14,13,29,-1,27,29,13,-1,31,29,32,-1,30,32,29,-1,15,17,31,-1,29,31,17,-1,14,29,33,-1,17,33,29,-1,34,35,0,-1,1,0,35,-1,4,0,5,-1,2,5,0,-1,36,34,4,-1,0,4,34,-1,37,36,3,-1,4,3,36,-1,36,37,38,-1,39,38,37,-1,34,36,40,-1,38,40,36,-1,35,34,41,-1,40,41,34,-1,42,43,41,-1,35,41,43,-1,44,42,45,-1,41,45,42,-1,45,41,46,-1,40,46,41,-1,22,44,26,-1,45,26,44,-1,26,45,28,-1,46,28,45,-1,47,24,12,-1,13,12,24,-1,48,18,47,-1,24,47,18,-1,6,48,7,-1,47,7,48,-1,7,47,9,-1,12,9,47,-1,49,50,30,-1,32,30,50,-1,46,49,28,-1,30,28,49,-1,51,44,23,-1,22,23,44,-1,52,51,53,-1,23,53,51,-1,54,11,33,-1,14,33,11,-1,16,54,17,-1,33,17,54,-1,39,50,38,-1,49,38,50,-1,55,43,56,-1,42,56,43,-1,57,55,58,-1,56,58,55,-1,38,49,40,-1,46,40,49,-1,56,42,51,-1,44,51,42,-1,58,56,52,-1,51,52,56,-1,59,19,48,-1,18,48,19,-1,10,59,6,-1,48,6,59,-1,2,1,60,-1,5,61,3,-1,8,62,63,-1,9,62,8,-1,8,63,64,-1,13,12,11,-1,11,65,13,-1,66,16,15,-1,67,19,18,-1,19,67,21,-1,68,21,67,-1,21,68,69,-1,70,18,71,-1,18,70,67,-1,72,67,70,-1,67,72,68,-1,73,70,74,-1,70,73,72,-1,74,71,13,-1,71,74,70,-1,75,74,29,-1,74,75,73,-1,29,13,65,-1,13,29,74,-1,32,29,31,-1,29,32,75,-1,31,66,15,-1,66,31,29,-1,76,29,65,-1,29,76,66,-1,60,35,77,-1,35,60,1,-1,5,60,61,-1,60,5,2,-1,61,77,78,-1,77,61,60,-1,3,78,37,-1,78,3,61,-1,79,37,78,-1,37,79,39,-1,80,78,77,-1,78,80,79,-1,81,77,35,-1,77,81,80,-1,81,43,82,-1,43,81,35,-1,83,82,84,-1,82,83,81,-1,85,81,83,-1,81,85,80,-1,72,84,68,-1,84,72,83,-1,73,83,72,-1,83,73,85,-1,12,71,47,-1,71,12,13,-1,47,18,86,-1,18,47,71,-1,62,86,63,-1,86,62,47,-1,9,47,62,-1,47,9,12,-1,75,50,87,-1,50,75,32,-1,73,87,85,-1,87,73,75,-1,69,84,88,-1,84,69,68,-1,89,88,90,-1,88,89,69,-1,76,11,54,-1,11,76,65,-1,66,54,16,-1,54,66,76,-1,79,50,39,-1,50,79,87,-1,91,43,55,-1,43,91,82,-1,92,55,57,-1,55,92,91,-1,80,87,79,-1,87,80,85,-1,88,82,91,-1,82,88,84,-1,90,91,92,-1,91,90,88,-1,86,19,59,-1,19,86,18,-1,63,59,64,-1,59,63,86,-1};
			return value;
		}





		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_11_260_coordIndex_1()
		{
			int[] value = {0,1,2,-1,2,3,0,-1,2,1,4,-1,4,5,2,-1,5,4,6,-1,6,7,5,-1,3,7,6,-1,6,0,3,-1,8,9,10,-1,8,10,11,-1,8,11,12,-1,8,12,13,-1,8,13,14,-1,8,14,15,-1,8,15,16,-1,8,16,9,-1,17,10,9,-1,9,18,17,-1,19,11,10,-1,10,17,19,-1,20,12,11,-1,11,19,20,-1,21,13,12,-1,12,20,21,-1,22,14,13,-1,13,21,22,-1,23,15,14,-1,14,22,23,-1,24,16,15,-1,15,23,24,-1,18,9,16,-1,16,24,18,-1,25,17,18,-1,18,26,25,-1,27,19,17,-1,17,25,27,-1,28,20,19,-1,19,27,28,-1,29,21,20,-1,20,28,29,-1,30,22,21,-1,21,29,30,-1,31,23,22,-1,22,30,31,-1,32,24,23,-1,23,31,32,-1,26,18,24,-1,24,32,26,-1,33,25,26,-1,26,34,33,-1,35,27,25,-1,25,33,35,-1,36,28,27,-1,27,35,36,-1,37,29,28,-1,28,36,37,-1,38,30,29,-1,29,37,38,-1,39,31,30,-1,30,38,39,-1,40,32,31,-1,31,39,40,-1,34,26,32,-1,32,40,34,-1,41,33,34,-1,34,42,41,-1,43,35,33,-1,33,41,43,-1,44,36,35,-1,35,43,44,-1,45,37,36,-1,36,44,45,-1,46,38,37,-1,37,45,46,-1,47,39,38,-1,38,46,47,-1,48,40,39,-1,39,47,48,-1,42,34,40,-1,40,48,42,-1,7,44,43,-1,5,7,43,-1,5,43,41,-1,5,41,42,-1,2,5,42,-1,2,42,48,-1,2,48,47,-1,3,2,47,-1,3,47,46,-1,3,46,45,-1,45,44,7,-1,3,45,7,-1};
			return value;
		}


		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_11_260_texCoordIndex_1()
		{
			int[] value = {0,1,2,-1,2,3,0,-1,4,5,1,-1,1,2,4,-1,4,0,1,-1,1,2,4,-1,2,4,5,-1,5,1,2,-1,6,7,8,-1,6,8,9,-1,6,9,10,-1,6,10,11,-1,6,11,12,-1,6,12,13,-1,6,13,14,-1,6,14,7,-1,15,16,17,-1,17,18,15,-1,19,20,21,-1,21,22,19,-1,23,24,20,-1,20,19,23,-1,25,26,27,-1,27,28,25,-1,29,30,26,-1,26,25,29,-1,31,32,33,-1,33,34,31,-1,35,36,32,-1,32,31,35,-1,18,17,37,-1,37,38,18,-1,39,15,18,-1,18,40,39,-1,41,19,22,-1,22,42,41,-1,43,23,19,-1,19,41,43,-1,44,25,28,-1,28,45,44,-1,46,29,25,-1,25,44,46,-1,47,31,34,-1,34,48,47,-1,49,35,31,-1,31,47,49,-1,40,18,38,-1,38,50,40,-1,51,39,40,-1,40,52,51,-1,53,41,42,-1,42,54,53,-1,55,43,41,-1,41,53,55,-1,56,44,45,-1,45,57,56,-1,58,46,44,-1,44,56,58,-1,59,47,48,-1,48,60,59,-1,61,49,47,-1,47,59,61,-1,52,40,50,-1,50,62,52,-1,63,51,52,-1,52,64,63,-1,65,53,54,-1,54,66,65,-1,67,55,53,-1,53,65,67,-1,68,56,57,-1,57,69,68,-1,70,58,56,-1,56,68,70,-1,71,59,60,-1,60,72,71,-1,73,61,59,-1,59,71,73,-1,64,52,62,-1,62,74,64,-1,75,76,77,-1,78,75,77,-1,78,77,79,-1,78,79,80,-1,81,78,80,-1,81,80,82,-1,81,82,83,-1,84,81,83,-1,84,83,85,-1,84,85,86,-1,86,76,75,-1,84,86,75,-1};
			return value;
		}



		/** Large attribute array: Coordinate point field, scene-graph level=12, element #74, 216 total numbers made up of 72 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getCoordinate_12_74_point()
		{
			MFVec3f Coordinate_12_74_point = new MFVec3f(new double[] {-197.59161,-47.87453,-70.93248,-210.51685,-47.8745,-70.93247,-210.51685,-47.8745,-80.81647,-197.59161,-47.87453,-80.81648,-197.59161,-29.94848,-80.81648,-210.51685,-29.94849,-80.81647,-197.59163,48.07245,-80.81647,-210.51685,48.07248,-80.81647,-210.51685,48.07248,-70.93247,-197.59161,48.07245,-70.93247,-197.8759,30.20271,-80.81647,-210.51685,30.20271,-80.81647,-197.59161,30.20271,-80.78955,-210.51685,33.88201,-80.26042,-210.51685,30.20271,-80.26042,-197.59161,-33.62777,-80.26042,-197.59161,-29.95379,-80.26595,-192.14374,-29.94847,-88.00662,-235.83897,-29.94848,-88.00662,-235.83897,30.2027,-88.00662,-192.14377,30.20271,-88.00662,-195.00232,30.20273,-80.27222,-197.59161,30.20271,-80.26041,-195.0045,30.20273,-80.26041,-195.0045,-29.94847,-80.26042,-195.00232,-29.94847,-80.27222,-235.839,33.882,-80.26042,-235.839,30.2027,-80.26042,-235.839,30.2027,-79.95629,-195.61182,33.88198,-33.46069,-195.00232,33.88198,-21.92472,-195.0022,33.88198,-33.46069,-210.51683,-33.62775,-80.26042,-210.51685,-29.95201,-80.26408,-197.59161,33.88198,-80.26041,-235.83897,-29.94848,-80.26042,-195.00232,-33.62777,-80.26042,-195.00223,-33.62777,-35.1833,-195.70282,-33.62777,-35.1833,-197.59161,-33.62777,-70.93248,-235.839,33.882,-45.66157,-223.57427,33.88197,-45.66154,-210.51685,33.88201,-70.93247,-217.72273,33.882,-22.07921,-217.72275,33.882,-33.46072,-195.0022,-33.62777,-33.46069,-195.00232,-33.62777,-21.92472,-195.61182,-33.62777,-33.46069,-217.72273,-33.62775,-35.18333,-217.72273,-33.62775,-37.11956,-210.51685,-33.62775,-70.93247,-195.00232,33.88198,-80.26041,-197.59161,33.88198,-70.93247,-195.70283,33.88198,-35.1833,-195.00223,33.88198,-35.1833,-217.72275,33.882,-37.11955,-217.72275,33.882,-35.18333,-217.72273,-33.62775,-45.66154,-223.57423,-33.62778,-45.66154,-217.72275,33.882,-45.66155,-217.72273,-33.62775,-22.07921,-217.72273,-33.62775,-33.46072,-235.83897,-33.62775,-80.26042,-235.83896,-33.62775,-45.66157,-278.4693,-44.29028,-22.07917,-278.46924,-44.29028,-45.66157,-217.72273,-44.29027,-45.66154,-217.72273,-44.29027,-22.07921,-278.46924,44.58704,-45.66157,-278.46924,44.58704,-22.07917,-217.72275,44.58703,-22.07921,-217.72275,44.58703,-45.66155});
			return Coordinate_12_74_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #118, 138 total numbers made up of 46 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getCoordinate_12_118_point()
		{
			MFVec3f Coordinate_12_118_point = new MFVec3f(new double[] {-207.96376,-.48978,-114.66158,-207.68883,-.53067,-112.64179,-207.72406,-9.18533,-113.93057,-208.93015,-9.18533,-113.93057,-208.67648,-.48978,-112.60073,-208.67648,-.48978,-114.66158,-198.05507,-.53476,-114.66158,-207.96376,.7447,-114.66158,-207.67819,.77746,-112.64395,-198.98836,.73164,-113.93057,-217.65389,.73164,-113.93057,-208.67648,.7447,-112.63805,-208.67648,.7447,-114.66158,-218.58717,-.53476,-114.66158,-208.99045,10.41349,-114.66158,-207.66376,10.41349,-114.66158,-207.72406,9.48021,-113.93057,-208.67648,.7447,-112.60076,-209.03285,.12746,-114.66158,-207.60739,.12746,-114.66158,-198.05507,.79194,-114.66158,-208.99045,-10.1186,-114.66158,-207.60739,.12746,-112.65385,-207.96376,.7447,-93.03709,-207.96376,.7447,-112.60106,-207.96376,-.48978,-112.60106,-207.96376,-.48978,-93.03709,-218.58717,.79194,-114.66158,-209.03285,.12746,-115.26801,-207.96376,.7447,-115.26801,-207.96376,-.48978,-115.26801,-208.67648,.7447,-93.03709,-207.60739,.12746,-93.03709,-209.03285,.12746,-112.65354,-209.03285,.12746,-93.03709,-209.03285,.12746,-112.65354,-198.98836,-.47445,-113.93057,-217.65389,-.47445,-113.93057,-208.93015,9.48021,-113.93057,-207.66376,-10.1186,-114.66158,-208.67648,-.48978,-114.66158,-208.67648,-.48978,-93.03709,-207.60739,.12746,-114.66158,-207.96376,.7447,-114.66158,-207.60739,.12746,-115.26801,-207.60739,.12746,-112.65385});
			return Coordinate_12_118_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #126, 108 total numbers made up of 36 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getCoordinate_12_126_point()
		{
			MFVec3f Coordinate_12_126_point = new MFVec3f(new double[] {-249.61313,-4.69696,-91.07055,-249.61313,-6.57941,-88.08121,-254.94009,-5.6659,-88.0812,-253.46944,-4.03566,-91.07055,-258.83969,-3.17016,-88.08121,-256.29245,-2.22894,-91.07054,-260.26706,.23909,-88.08121,-257.32571,.23909,-91.07054,-258.83969,3.64834,-88.08121,-256.29245,2.70712,-91.07055,-254.94009,6.14409,-88.0812,-253.46944,4.51384,-91.07054,-249.61313,7.0576,-88.08121,-249.61313,5.17515,-91.07054,-244.28619,6.14409,-88.08121,-245.75684,4.51384,-91.07054,-240.38657,3.64834,-88.08121,-242.93384,2.70712,-91.07055,-238.95923,.23909,-88.08121,-241.90054,.23909,-91.07055,-240.38657,-3.17016,-88.08121,-242.93384,-2.22894,-91.07055,-244.28618,-5.6659,-88.08121,-245.75684,-4.03566,-91.07055,-256.33099,-10.94325,-45.89005,-265.0672,-9.4451,-45.89005,-271.46256,-5.35208,-45.89005,-273.80341,.23909,-45.89005,-271.46252,5.83027,-45.89005,-265.0672,9.92329,-45.89005,-256.33099,11.42144,-45.89005,-247.59477,9.92329,-45.89006,-241.19942,5.83027,-45.89006,-238.85855,.23909,-45.89006,-241.19943,-5.35208,-45.89005,-247.59477,-9.4451,-45.89005});
			return Coordinate_12_126_point;
		}
		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=11, element #158, 720 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFInt32 getIndexedFaceSet_11_158_coordIndex()
		{
			MFInt32 IndexedFaceSet_11_158_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_11_158_coordIndex_1()));
			return IndexedFaceSet_11_158_coordIndex;
		}
		/** Large attribute array: IndexedFaceSet texCoordIndex field, scene-graph level=11, element #158, 720 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFInt32 getIndexedFaceSet_11_158_texCoordIndex()
		{
			MFInt32 IndexedFaceSet_11_158_texCoordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_11_158_texCoordIndex_1()));
			return IndexedFaceSet_11_158_texCoordIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #158, 300 total numbers made up of 100 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getCoordinate_12_158_point()
		{
			MFVec3f Coordinate_12_158_point = new MFVec3f(new double[] {420.25659,-11.51708,16.13,420.17761,.02657,9.52468,427.06171,.07036,16.77416,420.17468,.07036,28.56576,420.26837,-8.85352,25.55576,423.91046,.07036,25.35926,-394.78589,-43.43495,-9.71837,-394.55914,-24.22525,-2.22004,-394.80872,.07022,-21.91711,-394.40753,.07022,-1.20362,-394.78015,-47.51174,-21.91711,-345.31696,.07022,16.75634,-370.03912,.07022,7.15052,-336.65308,-26.33221,15.87182,-336.81409,-2.74339,20.59724,-336.81409,.07023,29.9267,-346.51422,.07023,30.15292,-336.81409,-2.60826,29.57893,-336.83099,-49.85255,-9.25115,-336.99658,-53.90403,-21.91877,-197.17108,-63.508,-1.25739,-197.22984,-67.20207,-21.92471,271.19367,-52.51895,-1.38898,271.20462,-64.88797,-21.99023,-336.77466,-49.38441,-1.43851,-197.19012,-60.98214,6.01515,271.01001,-50.14233,2.50254,-197.20271,-49.47345,14.61162,271.01623,-29.17588,15.53718,-197.23257,-25.23363,26.17644,271.00873,-22.63023,25.93862,-197.2449,.07025,34.94269,271.01623,.49377,32.18977,-336.81409,-2.66706,26.19305,409.10242,-18.69168,15.65148,409.15399,.07036,5.28014,409.12421,-15.78771,25.8949,409.13153,.07036,31.3229,380.84656,-19.69029,25.89702,380.89185,.07035,31.50134,380.89154,-21.95236,15.76486,380.8941,-8.2508,3.6736,381.16412,-10.40533,-1.32663,406.60645,.07036,-1.3223,360.30566,-19.0207,-1.33014,360.30566,-14.33711,2.50319,360.30566,-21.87835,15.76117,-369.97388,-39.63326,-2.03442,-369.89441,-46.24856,-9.61418,360.30566,-22.15341,25.89505,360.30566,.07035,31.64286,360.30566,-36.795,-21.99023,360.21594,-53.38566,-33.98269,284.22333,-64.88796,-28.35883,-346.02924,.07022,26.2633,415.07623,.07036,-22.40939,387.52704,-21.69498,-22.43672,423.84949,.07036,-38.40599,393.13037,-39.19085,-36.34584,-369.93768,-50.27686,-21.91782,420.25659,11.6578,16.13008,420.26837,8.99424,25.55584,-394.55914,24.36568,-2.22006,-394.78589,43.57539,-9.71839,-394.78021,47.65218,-21.91713,-336.65308,26.47267,15.87181,-336.81409,2.88385,20.59723,-336.81409,2.74873,29.57892,-197.1711,63.64851,-1.25739,-336.99658,54.0445,-21.91879,-336.83105,49.99302,-9.25116,-197.22984,67.34256,-21.9247,271.19367,52.65963,-1.38892,271.20462,65.02866,-21.99017,-197.19014,61.12264,6.01515,-336.77472,49.52487,-1.43852,271.01001,50.28301,2.5026,271.01623,29.31655,15.53724,-197.20271,49.61395,14.61162,271.00873,22.77089,25.93868,-197.23257,25.37413,26.17645,-336.81409,2.80753,26.19304,409.10242,18.83239,15.65156,409.12421,15.92842,25.89498,380.84656,19.83099,25.89709,380.89154,22.09306,15.76493,380.8941,8.3915,3.67367,381.16412,10.54604,-1.32656,360.30566,14.47781,2.50326,360.30566,19.16139,-1.33007,360.30566,22.01905,15.76124,-369.97388,39.77371,-2.03443,-369.89441,46.389,-9.6142,360.30566,22.29411,25.89512,360.30566,36.93569,-21.99016,284.22333,65.02863,-28.35876,360.21594,53.52636,-33.98262,387.52704,21.83569,-22.43665,393.13037,39.33157,-36.34577,-369.93768,50.4173,-21.91783});
			return Coordinate_12_158_point;
		}
		/** Large attribute array: TextureCoordinate point field, scene-graph level=12, element #159, 186 total numbers made up of 93 2-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec2f getTextureCoordinate_12_159_point()
		{
			MFVec2f TextureCoordinate_12_159_point = new MFVec2f(new double[] {.986,1.084,.986,1.115,.995,1.081,.986,1.025,.986,1.039,.991,1.04,.005,1.207,.006,1.171,.005,1.265,.006,1.166,.005,1.265,.065,1.081,.035,1.127,.075,1.085,.075,1.063,.075,1.018,.064,1.017,.075,1.02,.075,1.205,.075,1.265,.243,1.167,.243,1.265,.807,1.167,.807,1.265,.075,1.168,.243,1.132,.807,1.149,.243,1.091,.807,1.087,.243,1.036,.807,1.037,.243,.994,.807,1.008,.075,1.036,.973,1.086,.973,1.136,.973,1.037,.973,1.012,.939,1.037,.939,1.011,.939,1.086,.939,1.143,.939,1.167,.97,1.167,.914,1.167,.914,1.149,.914,1.086,.035,1.17,.035,1.206,.914,1.037,.914,1.01,.914,1.265,.914,1.322,.823,1.296,.064,1.036,.98,1.267,.947,1.267,.991,1.343,.954,1.334,.035,1.265,.986,1.084,.986,1.039,.006,1.171,.005,1.207,.005,1.265,.075,1.063,.075,1.02,.243,1.167,.807,1.167,.807,1.265,.243,1.132,.075,1.168,.807,1.149,.807,1.087,.243,1.091,.807,1.037,.075,1.036,.973,1.086,.973,1.037,.939,1.037,.939,1.086,.939,1.143,.939,1.167,.914,1.149,.914,1.167,.914,1.086,.035,1.206,.914,1.037,.914,1.265,.823,1.296,.914,1.322,.947,1.267,.954,1.334});
			return TextureCoordinate_12_159_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #206, 120 total numbers made up of 40 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getCoordinate_12_206_point()
		{
			MFVec3f Coordinate_12_206_point = new MFVec3f(new double[] {-197.59161,33.88198,-80.26035,-197.59163,48.07245,-80.81641,-197.59161,48.07245,-70.93247,-197.59161,33.88198,-70.93247,-195.00232,30.20273,-80.27216,-195.0045,30.20273,-80.26035,-195.0045,-29.94847,-80.26036,-195.00232,-29.94847,-80.27216,-192.14374,-29.94847,-88.00656,-192.14375,30.20271,-88.00656,-195.00232,33.88198,-21.92472,-195.00232,-33.62777,-21.92472,-195.0022,-33.62777,-33.46069,-195.0022,33.88198,-33.46069,-197.59161,-33.62777,-80.26036,-197.59161,-33.62777,-70.93247,-197.59161,-47.87453,-70.93247,-197.59161,-47.87453,-80.81641,-195.00223,-33.62777,-35.1833,-195.00232,-33.62777,-80.26036,-195.00232,33.88198,-80.26035,-195.00223,33.88198,-35.1833,-217.72273,33.882,-37.11952,-217.72275,33.882,-45.66152,-217.72273,44.58703,-45.66152,-217.72273,33.882,-35.1833,-217.72273,33.882,-22.07918,-217.72273,33.882,-33.46069,-217.72273,44.27398,-33.46069,-217.72273,44.58703,-22.07918,-217.72273,44.27398,-35.1833,-217.72273,-33.62775,-33.46069,-217.72272,-33.62775,-22.07918,-217.72273,-44.29026,-22.07918,-217.72273,-44.29026,-45.66151,-217.72273,-33.62775,-45.66151,-217.72273,-33.62775,-37.11953,-217.72273,-33.62775,-35.1833,-217.72272,-43.98339,-35.1833,-217.72272,-43.98339,-33.46069});
			return Coordinate_12_206_point;
		}
		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=11, element #260, 368 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFInt32 getIndexedFaceSet_11_260_coordIndex()
		{
			MFInt32 IndexedFaceSet_11_260_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_11_260_coordIndex_1()));
			return IndexedFaceSet_11_260_coordIndex;
		}
		/** Large attribute array: IndexedFaceSet texCoordIndex field, scene-graph level=11, element #260, 368 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFInt32 getIndexedFaceSet_11_260_texCoordIndex()
		{
			MFInt32 IndexedFaceSet_11_260_texCoordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_11_260_texCoordIndex_1()));
			return IndexedFaceSet_11_260_texCoordIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #260, 147 total numbers made up of 49 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getCoordinate_12_260_point()
		{
			MFVec3f Coordinate_12_260_point = new MFVec3f(new double[] {-217.00813,23.56025,-88.03593,-217.00813,17.98547,-88.03593,-219.30431,20.28166,-100.74116,-219.30431,21.26406,-100.74116,-222.5829,17.98548,-88.03593,-220.28673,20.28166,-100.74116,-222.5829,23.56025,-88.03593,-220.28673,21.26406,-100.74116,-219.77025,20.77581,-107.0178,-219.77025,19.94703,-106.85294,-220.35629,20.18977,-106.85294,-220.59903,20.77581,-106.85294,-220.35629,21.36184,-106.85294,-219.77025,21.60459,-106.85294,-219.18422,21.36184,-106.85294,-218.94147,20.77581,-106.85294,-219.18422,20.18977,-106.85294,-220.8531,19.69295,-106.38347,-219.77025,19.24442,-106.38347,-221.30164,20.77581,-106.38347,-220.8531,21.85866,-106.38347,-219.77025,22.3072,-106.38347,-218.68739,21.85866,-106.38347,-218.23886,20.77581,-106.38348,-218.68739,19.69295,-106.38347,-221.18507,19.36099,-105.68085,-219.77025,18.77495,-105.68085,-221.7711,20.77581,-105.68085,-221.18507,22.19062,-105.68085,-219.77025,22.77666,-105.68086,-218.35544,22.19062,-105.68086,-217.76939,20.77581,-105.68086,-218.35544,19.36099,-105.68085,-221.30164,19.24442,-104.85208,-219.77025,18.6101,-104.85208,-221.93596,20.77581,-104.85208,-221.30164,22.3072,-104.85208,-219.77025,22.94152,-104.85208,-218.23886,22.3072,-104.85209,-217.60454,20.77581,-104.85209,-218.23886,19.24442,-104.85208,-221.30164,19.24442,-100.74116,-219.77025,18.6101,-100.74116,-221.93596,20.77581,-100.74116,-221.30164,22.3072,-100.74116,-219.77025,22.94151,-100.74116,-218.23886,22.30719,-100.74116,-217.60454,20.77581,-100.74116,-218.23886,19.24442,-100.74116});
			return Coordinate_12_260_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #268, 126 total numbers made up of 42 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getCoordinate_12_268_point()
		{
			MFVec3f Coordinate_12_268_point = new MFVec3f(new double[] {-203.95538,.16857,-115.20064,-203.01111,.16857,-115.50746,-203.19144,.72361,-115.50746,-203.66359,1.06664,-115.50746,-204.24718,1.06664,-115.50746,-204.71933,.72361,-115.50746,-204.89966,.16857,-115.50746,-204.71933,-.38646,-115.50746,-204.24718,-.72949,-115.50746,-203.66359,-.72949,-115.50746,-203.19144,-.38646,-115.50746,-202.42751,.16857,-116.31072,-202.7193,1.06664,-116.31072,-203.48325,1.62167,-116.31072,-204.42752,1.62167,-116.31072,-205.19147,1.06664,-116.31072,-205.48326,.16857,-116.31072,-205.19147,-.72949,-116.31072,-204.42752,-1.28453,-116.31072,-203.48325,-1.28453,-116.31072,-202.7193,-.72949,-116.31072,-202.42751,.16857,-117.3036,-202.7193,1.06664,-117.3036,-203.48325,1.62167,-117.3036,-204.42752,1.62167,-117.3036,-205.19147,1.06664,-117.3036,-205.48326,.16857,-117.3036,-205.19147,-.72949,-117.3036,-204.42752,-1.28453,-117.3036,-203.48325,-1.28453,-117.3036,-202.7193,-.72949,-117.3036,-203.01111,.16857,-118.10685,-203.19144,.72361,-118.10685,-203.66359,1.06664,-118.10685,-204.24718,1.06664,-118.10685,-204.71933,.72361,-118.10685,-204.89966,.16857,-118.10685,-204.71933,-.38646,-118.10685,-204.24718,-.72949,-118.10685,-203.66359,-.72949,-118.10685,-203.19144,-.38646,-118.10685,-203.95538,.16857,-118.41367});
			return Coordinate_12_268_point;
		}

	/** The initialized model object, created within initialize() method. */
	private X3D x3dModel;

	/** 
	 * Provide a 
	 * <a href="https://dzone.com/articles/java-copy-shallow-vs-deep-in-which-you-will-swim" target="_blank">shallow copy</a>
	 * of the X3D model.
	 * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html">X3D</a>
	 * @return ContainerShip model
	 */
	public X3D getX3dModel()
	{	  
		return x3dModel;
	}
	   
    /** 
     * Default main() method provided for test purposes, uses CommandLine to set global ConfigurationProperties for this object.
     * @param args array of input parameters, provided as arguments
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#handleArguments-java.lang.String:A-">X3D.handleArguments(args)</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#validationReport--">X3D.validationReport()</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html">CommandLine</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html#USAGE">CommandLine.USAGE</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/ConfigurationProperties.html">ConfigurationProperties</a>
     */
    public static void main(String args[])
    {
        System.out.println("Build this X3D model, showing validation diagnostics...");
        X3D thisExampleX3dModel = new ContainerShip().getX3dModel();
//      System.out.println("X3D model construction complete.");
	
        // next handle command line arguments
        boolean hasArguments = (args != null) && (args.length > 0);
        boolean validate = true; // default
        boolean argumentsLoadNewModel = false;
        String  fileName = new String();

        if (args != null)
        {
                for (String arg : args)
                {
                        if (arg.toLowerCase().startsWith("-v") || arg.toLowerCase().contains("validate"))
                        {
                                validate = true; // making sure
                        }
                        if (arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_X3D) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_CLASSICVRML) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_X3DB) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_VRML97) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_EXI) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_GZIP) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_ZIP) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_HTML) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_XHTML))
                        {
                                argumentsLoadNewModel = true;
                                fileName = arg;
                        }
                }
        }
        if      (argumentsLoadNewModel)
                System.out.println("WARNING: \"Savage.ShipsCivilian.CargoShips.ContainerShip\" model invocation is attempting to load file \"" + fileName + "\" instead of simply validating itself... file loading ignored.");
        else if (hasArguments) // if no arguments provided, this method produces usage warning
                thisExampleX3dModel.handleArguments(args);
	
        if (validate)
        {
            //  System.out.println("--- TODO fix duplicated outputs ---"); // omit when duplicated outputs problem is solved/refactored
		String validationResults = thisExampleX3dModel.validationReport();
            //  System.out.println("-----------------------------------"); // omit when duplicated outputs problem is solved/refactored
                System.out.print("Savage.ShipsCivilian.CargoShips.ContainerShip self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

                // experimental: test X3DJSAIL output files
                // ShipsCivilian/CargoShips/ContainerShip_JavaExport.* file validation is checked when building X3D Example Archives
                String filenameX3D  = "ShipsCivilian/CargoShips/ContainerShip_JavaExport.x3d"; 
                String filenameX3DV = "ShipsCivilian/CargoShips/ContainerShip_JavaExport.x3dv"; 
                String filenameJSON = "ShipsCivilian/CargoShips/ContainerShip_JavaExport.json";
                thisExampleX3dModel.toFileX3D        (filenameX3D);
                thisExampleX3dModel.toFileClassicVRML(filenameX3DV);
// TODO         thisExampleX3dModel.toFileJSON       (filenameJSON);
        }
    }
}
