package Savage.ShipsCivilian.CargoShips;

import org.web3d.x3d.jsail.Core.*;
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 Red Container Ship. </p>
 <p> Related links: Catalog page <a href="../../../../ShipsCivilian/CargoShips/ContainerShipRedIndex.html" target="_blank">ContainerShipRed</a>,  source <a href="../../../../ShipsCivilian/CargoShips/ContainerShipRed.java">ContainerShipRed.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/ContainerShipRed.x3d">ContainerShipRed.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> Basic Red 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> 20 October 2019 </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/ContainerShipRed.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/Savage/ShipsCivilian/CargoShips/ContainerShipRed.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 ContainerShipRed
{
	/** Default constructor to create this object. */
	public ContainerShipRed ()
	{
	  initialize();
	}

	/** Create and initialize the X3D model for this object. */
	public final void initialize()
	{
            try { // catch-all
  x3dModel = new X3D().setProfile(X3D.PROFILE_IMMERSIVE).setVersion(X3D.VERSION_3_0)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("ContainerShipRed.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("Basic Red 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("20 October 2019"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/Savage/ShipsCivilian/CargoShips/ContainerShipRed.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 WorldInfo().setInfo(new String[] {"This Web3D World was created with Vizx3D, a Web3D authoring tool","www.vizx3d.com"}).setTitle("Red 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[] {"Red 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[] {54.8})
                .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[] {48.6})
                .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[] {298.55})
                .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[] {11.2})
                .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[] {29.63})
                .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[] {22.24})
                .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("NavInfo7").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_Group7")
              .addChild(new Group("Group7")
                .addChild(new Transform("dad_A_1")
                  .addChild(new Shape("A_1")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture("CNTSHIPR_TEX").setUrl(new String[] {"textures/CNTSHIPR.jpg","https://www.web3d.org/x3d/content/examples/Savage/ShipsCivilian/CargoShips/textures/CNTSHIPR.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,7,8,9,-1,4,7,9,-1,4,9,10,-1,4,10,11,-1,2,4,11,-1,2,11,12,-1,2,12,13,-1,3,2,13,-1,3,13,14,-1,3,14,15,-1,15,8,7,-1,3,15,7,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,2,1,0,-1,0,3,2,-1,3,4,5,-1,2,3,5,-1,2,5,6,-1,2,6,7,-1,2,2,7,-1,2,7,6,-1,2,6,8,-1,3,2,8,-1,3,8,9,-1,3,9,10,-1,10,4,3,-1,3,10,3,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-279.42172,-21.49797,-109.49963,-279.44983,-28.14241,-109.49963,-282.1749,-25.39408,-124.64285,-282.16995,-24.22317,-124.64285,-283.34583,-25.38913,-124.64285,-286.09427,-28.11433,-109.49967,-286.06616,-21.46989,-109.49967,-283.34085,-24.21822,-124.64285,-284.54526,-22.96983,-124.64286,-285.30902,-24.79186,-124.64287,-284.5607,-26.62028,-124.64286,-282.73868,-27.38402,-124.64285,-280.91025,-26.63571,-124.64284,-280.14652,-24.81368,-124.64283,-280.89481,-22.98526,-124.64283,-282.71686,-22.22151,-124.64285})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.75,.995,.873,.995,.822,1.691,.801,1.691,.778,1.691,.811,1.691,.845,1.691,.859,1.691,.811,1.691,.778,1.691,.764,1.691}))))))
                .addChild(new Transform("dad_Box01")
                  .addChild(new Shape("Box01")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material1_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(1.0,1.0,1.0)))
                    .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[] {-91.11201,-50.68823,-76.00124,-214.15715,-50.16823,-76.00124,-213.71019,55.59645,-76.00124,-90.66505,55.07646,-76.00124})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.745,.499,.373,.499,.373,.993,.745,.993}))))))
                .addChild(new Transform("dad_Box02")
                  .addChild(new Shape("Box02")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material2_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(1.0,1.0,1.0)))
                    .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,4,7,8,-1,9,6,5,-1,5,10,9,-1,11,1,0,-1,0,12,11,-1,13,14,15,-1,15,16,13,-1,17,12,18,-1,19,20,21,-1,22,23,24,-1,25,26,3,-1,3,2,25,-1,27,28,8,-1,8,7,27,-1,29,30,31,-1,20,19,32,-1,32,33,20,-1,34,35,36,-1,36,25,34,-1,37,38,11,-1,11,39,37,-1,40,41,42,-1,43,40,42,-1,43,42,44,-1,45,43,44,-1,45,44,46,-1,47,45,46,-1,48,47,46,-1,48,46,49,-1,49,50,51,-1,48,49,51,-1,20,35,52,-1,52,53,20,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,4,6,7,-1,4,7,8,-1,9,6,5,-1,5,5,9,-1,10,1,0,-1,0,11,10,-1,12,13,14,-1,14,15,12,-1,16,11,17,-1,18,19,19,-1,20,21,22,-1,23,24,3,-1,3,2,23,-1,25,8,8,-1,8,7,25,-1,26,27,28,-1,29,30,9,-1,9,5,29,-1,31,32,24,-1,24,23,31,-1,33,34,10,-1,10,11,33,-1,35,36,37,-1,31,35,37,-1,31,37,38,-1,39,31,38,-1,39,38,40,-1,41,39,40,-1,42,41,40,-1,42,40,43,-1,43,44,45,-1,42,43,45,-1,29,32,32,-1,32,29,29,-1})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_80_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.574,.334,.606,.334,.606,.31,.574,.31,.465,.334,.465,.31,.433,.31,.433,.334,.465,.334,.459,.31,.581,.334,.574,.334,.574,.344,.574,.262,.465,.262,.465,.344,.574,.339,.574,.339,.459,.262,.465,.262,.459,.338,.459,.339,.459,.339,.581,.31,.574,.31,.459,.334,.581,.339,.581,.339,.581,.338,.465,.262,.459,.262,.581,.262,.574,.262,.574,.339,.581,.339,.581,.285,.581,.296,.6,.296,.6,.182,.578,.262,.44,.182,.534,.262,.459,.262,.44,.296,.459,.296,.459,.285}))))))
                .addChild(new Transform("dad_Box04")
                  .addChild(new Shape("Box04")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_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,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,18,19,16,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-271.23496,4.70675,-109.12556,-270.32022,2.20097,-115.64059,-270.33417,-1.09423,-115.64059,-271.27005,-3.59219,-109.12556,-267.19156,4.68967,-109.12556,-267.22662,-3.60928,-109.12556,-268.14136,-1.10349,-115.64059,-268.12744,2.1917,-115.64059})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {1.63,.957,1.551,1.151,1.449,1.151,1.371,.957,1.371,.957,1.63,.957,1.552,1.151,1.449,1.151,2.043,1.588,1.849,1.549,1.849,1.456,2.043,1.417,1.551,1.549,1.449,1.548,1.449,1.455,1.552,1.456,1.151,1.548,.957,1.587,.957,1.415,1.151,1.455}))))))
                .addChild(new Transform("dad_Box38")
                  .addChild(new Shape("Box38")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material4_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,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[] {-304.25363,-59.25395,-30.63888,-304.23456,-54.74168,-34.09195,-304.2514,-58.73162,-34.98078,-304.2789,-65.23748,-30.63888,-304.24027,-56.09556,-42.43767,-304.2514,-58.73162,-41.23247,-304.31488,-73.74982,-48.89218,-304.31915,-74.75629,-47.51278,-302.94543,-59.25948,-30.63888,-302.97073,-65.24301,-30.63888,-302.94324,-58.73714,-34.98078,-302.92636,-54.7472,-34.09195,-302.94324,-58.73714,-41.23247,-302.9321,-56.10109,-42.43767,-303.01095,-74.76183,-47.51278,-303.00671,-73.75535,-48.89218}))))))
                .addChild(new Transform("dad_Box39")
                  .addChild(new Shape("Box39")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material5_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,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[] {-317.90158,-59.19628,-30.63887,-317.88251,-54.684,-34.09195,-317.89938,-58.67394,-34.98077,-317.92688,-65.17981,-30.63887,-317.88824,-56.03789,-42.43767,-317.89938,-58.67394,-41.23246,-317.96283,-73.69215,-48.89218,-317.9671,-74.69862,-47.51278,-316.59338,-59.20181,-30.63887,-316.61868,-65.18534,-30.63887,-316.59119,-58.67947,-34.98077,-316.57434,-54.68953,-34.09195,-316.59119,-58.67947,-41.23246,-316.58005,-56.04342,-42.43767,-316.6589,-74.70415,-47.51278,-316.65466,-73.69767,-48.89218}))))))
                .addChild(new Transform("dad_Box40")
                  .addChild(new Shape("Box40")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material6_mat").setAmbientIntensity(0.329).setDiffuseColor(.79608,.79608,.79608).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})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_107_point())))))
                .addChild(new Transform("dad_Box41")
                  .addChild(new Shape("Box41")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material7_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,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[] {-303.75067,59.74629,-30.63887,-303.76974,55.23402,-34.09195,-303.7529,59.22396,-34.98077,-303.7254,65.72982,-30.63887,-303.76404,56.5879,-42.43767,-303.75287,59.22396,-41.23246,-303.68942,74.24216,-48.89218,-303.68515,75.24863,-47.51278,-302.4425,59.74077,-30.63887,-302.4172,65.7243,-30.63887,-302.4447,59.21843,-34.98077,-302.46158,55.22849,-34.09195,-302.4447,59.21843,-41.23246,-302.45584,56.58237,-42.43767,-302.37698,75.2431,-47.51278,-302.38123,74.23663,-48.89218}))))))
                .addChild(new Transform("dad_Box42")
                  .addChild(new Shape("Box42")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material8_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,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[] {-317.39865,59.80397,-30.63887,-317.41772,55.29169,-34.09195,-317.40088,59.28164,-34.98077,-317.37338,65.7875,-30.63887,-317.41202,56.64558,-42.43767,-317.40085,59.28164,-41.23246,-317.3374,74.29984,-48.89218,-317.33313,75.30631,-47.51278,-316.09048,59.79844,-30.63887,-316.06518,65.78198,-30.63887,-316.09268,59.27611,-34.98077,-316.10956,55.28617,-34.09195,-316.09268,59.27611,-41.23246,-316.10382,56.64005,-42.43767,-316.02496,75.30078,-47.51278,-316.02921,74.29431,-48.89218}))))))
                .addChild(new Transform("dad_Box43")
                  .addChild(new Shape("Box43")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material9_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(1.0,1.0,1.0)))
                    .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[] {57.50189,-50.68823,-76.00124,-65.54325,-50.16823,-76.00124,-65.09628,55.59645,-76.00124,57.94886,55.07646,-76.00124})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.745,.499,.373,.499,.373,.993,.745,.993}))))))
                .addChild(new Transform("dad_Box44")
                  .addChild(new Shape("Box44")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material10_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(1.0,1.0,1.0)))
                    .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[] {211.67414,-50.68823,-76.00124,88.629,-50.16823,-76.00124,89.07598,55.59645,-76.00124,212.12111,55.07646,-76.00124})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.745,.499,.373,.499,.373,.993,.745,.993}))))))
                .addChild(new Transform("dad_ChamferCyl")
                  .addChild(new Shape("ChamferCyl")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_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,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,1,-1,9,1,0,-1,0,1,10,-1,0,10,11,-1,11,10,12,-1,11,12,13,-1,13,12,14,-1,13,14,15,-1,15,14,12,-1,15,12,16,-1,16,12,10,-1,16,10,11,-1,11,10,1,-1,11,1,0,-1,1,17,18,-1,1,18,2,-1,2,18,19,-1,2,19,4,-1,4,19,20,-1,4,20,6,-1,6,20,19,-1,6,19,4,-1,4,19,21,-1,4,21,8,-1,8,21,22,-1,8,22,1,-1,1,22,23,-1,1,23,10,-1,10,23,24,-1,10,24,12,-1,12,24,25,-1,12,25,14,-1,14,25,24,-1,14,24,12,-1,12,24,23,-1,12,23,10,-1,10,23,17,-1,10,17,1,-1})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_142_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.39,.468,.39,.45,.38,.449,.382,.468,.372,.449,.377,.468,.369,.449,.375,.468,.38,.449,.382,.468,.4,.45,.397,.468,.407,.45,.403,.468,.41,.45,.405,.468,.403,.468,.377,.187,.361,.187,.348,.187,.344,.187,.361,.187,.377,.187,.394,.188,.406,.188,.411,.188}))))))
                .addChild(new Transform("dad_Cylinder01")
                  .addChild(new Shape("Cylinder01")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material12_mat").setAmbientIntensity(0.329).setDiffuseColor(.79608,.79608,.79608).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})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {455.74014,-2.52297,-48.15026,455.05637,-3.45581,-48.15026,455.73526,-3.67958,-48.15026,454.63864,-2.87574,-48.15026,454.64166,-2.16092,-48.15026,455.06427,-1.58439,-48.15026,455.74503,-1.36637,-48.15026,456.42392,-1.59014,-48.15026,456.84164,-2.17021,-48.15026,456.83862,-2.88503,-48.15026,456.41602,-3.46156,-48.15026,455.05637,-3.45581,-93.34421,455.73526,-3.67958,-93.34421,454.63864,-2.87573,-93.34421,454.64166,-2.16091,-93.34421,455.0643,-1.58439,-93.34422,455.74503,-1.36637,-93.34422,456.42392,-1.59014,-93.34422,456.84165,-2.17021,-93.34422,456.83862,-2.88503,-93.34422,456.41602,-3.46156,-93.34421,455.74014,-2.52297,-93.34422}))))))
                .addChild(new Transform("dad_Cylinder02")
                  .addChild(new Shape("Cylinder02")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material13_mat").setAmbientIntensity(0.329).setDiffuseColor(.79608,.79608,.79608).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})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {455.74008,-2.52298,-65.61668,452.784,-6.55569,-65.61668,455.71896,-7.52304,-65.61668,450.97824,-4.04798,-65.61668,450.9913,-.95778,-65.61668,452.81818,1.53457,-65.61668,455.76123,2.47708,-65.61668,458.69617,1.50973,-65.61668,460.50192,-.99797,-65.61668,460.48886,-4.08818,-65.61668,458.66199,-6.58053,-65.61668,452.784,-6.55569,-68.1704,455.71896,-7.52304,-68.1704,450.97824,-4.04798,-68.1704,450.9913,-.95778,-68.1704,452.81818,1.53457,-68.1704,455.76123,2.47708,-68.1704,458.69617,1.50973,-68.1704,460.50192,-.99797,-68.1704,460.48886,-4.08818,-68.1704,458.66199,-6.58053,-68.1704}))))))
                .addChild(new Transform("dad_Cylinder04")
                  .addChild(new Shape("Cylinder04")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material14_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,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,11,12,13,-1,11,14,12,-1,15,16,17,-1,15,18,16,-1,18,19,16,-1,18,20,19,-1,20,21,19,-1,20,22,21,-1,23,24,25,-1,23,26,24,-1,26,27,24,-1,26,28,27,-1,29,30,31,-1,29,32,30,-1,32,33,30,-1,32,34,33,-1,34,35,33,-1,34,36,35,-1,37,13,38,-1,37,11,13,-1,39,40,41,-1,39,41,42,-1,39,42,43,-1,39,43,44,-1,39,44,45,-1,39,45,46,-1,39,46,47,-1,39,47,48,-1,39,48,49,-1,39,49,40,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-269.15628,6.8282,-145.37047,-269.04553,6.67442,-145.37047,-269.15707,6.6387,-145.37047,-268.97629,6.76888,-145.37047,-268.9758,6.886,-145.37047,-269.04425,6.98105,-145.37047,-269.15549,7.01771,-145.37047,-269.26703,6.98199,-145.37047,-269.33627,6.88753,-145.37047,-269.33676,6.77041,-145.37047,-269.26831,6.67536,-145.37047,-269.04553,6.67442,-141.1006,-269.15707,6.6387,-141.1006,-268.97629,6.76888,-141.1006,-268.9758,6.886,-141.1006,-269.04425,6.98105,-141.1006,-269.15549,7.01771,-141.1006,-269.26703,6.98199,-141.1006,-269.33627,6.88753,-141.1006,-269.33676,6.77041,-141.1006,-269.26831,6.67536,-141.1006,-269.15628,6.8282,-141.1006})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {1.304,.499,1.309,.494,1.31,.499,1.306,.491,1.302,.491,1.299,.494,1.298,.499,1.299,.503,1.302,.506,1.306,.506,1.309,.503,.967,.499,1.094,.494,1.094,.499,.967,.494,1.309,1.033,1.306,.906,1.309,.906,1.306,1.033,1.302,.906,1.302,1.033,1.299,.906,1.299,1.033,2.033,.494,1.906,.499,1.906,.494,2.033,.499,1.906,.503,2.033,.503,1.701,1.033,1.698,.906,1.701,.906,1.698,1.033,1.694,.906,1.694,1.033,1.691,.906,1.691,1.033,.967,.503,1.094,.503,1.696,.499,1.69,.499,1.691,.494,1.694,.491,1.698,.491,1.701,.494,1.702,.499,1.701,.503,1.698,.506,1.694,.506,1.691,.503}))))))
                .addChild(new Transform("dad_Deck")
                  .addChild(new Shape("Deck")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material15_mat").setAmbientIntensity(0.106).setDiffuseColor(.28235,.28235,.28235).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[] {-491.18271,58.11089,-30.69351,-422.2796,65.43867,-30.69548,-255.62793,80.58428,-30.70254,302.67635,75.4668,-30.78056,302.02193,-79.37775,-30.78063,-256.30566,-79.77625,-30.70254,-422.82333,-63.22261,-30.69547,-491.66204,-55.31273,-30.69348,-491.45639,1.39922,-30.69349,302.67638,75.46681,-30.78056,318.19308,75.40119,-38.37121,317.53866,-79.44332,-38.37128,408.17034,-66.11679,-45.07429,447.47179,-49.36414,-47.89091,484.28295,-2.72437,-50.34636,447.86733,44.22487,-47.89082,408.70888,61.3091,-45.07421}))))))
                .addChild(new Transform("dad_Line10")
                  .addChild(new Shape("Line10")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material16_mat").setAmbientIntensity(0.835).setDiffuseColor(.83529,.83529,.83529).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(getIndexedFaceSet_11_176_coordIndex()).setTexCoordIndex(getIndexedFaceSet_11_176_texCoordIndex())
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_176_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.734,.045,.734,.061,.74,.044,.734,.017,.734,.024,.738,.024,.011,.105,.011,.088,.011,.133,.011,.086,.011,.133,.055,.044,.033,.066,.063,.046,.063,.035,.063,.013,.054,.013,.063,.014,.062,.104,.062,.133,.186,.086,.186,.133,.602,.086,.602,.134,.063,.086,.186,.069,.602,.077,.186,.049,.602,.047,.186,.022,.602,.023,.186,.002,.602,.008,.063,.022,.724,.046,.724,.071,.724,.023,.724,.01,.699,.023,.699,.01,.699,.046,.699,.074,.7,.086,.722,.086,.681,.086,.681,.077,.681,.046,.033,.087,.033,.105,.681,.023,.681,.009,.681,.134,.681,.161,.614,.148,.054,.022,.73,.135,.705,.135,.738,.172,.71,.167,.033,.133,.734,.045,.734,.024,.011,.088,.011,.105,.011,.133,.063,.046,.063,.035,.063,.014,.062,.133,.062,.104,.602,.086,.602,.134,.063,.086,.602,.077,.602,.047,.186,.049,.602,.023,.063,.022,.724,.046,.724,.023,.699,.023,.699,.046,.699,.074,.7,.086,.681,.077,.681,.086,.681,.046,.033,.087,.033,.105,.681,.023,.681,.134,.614,.148,.681,.161,.705,.135,.71,.167,.033,.133}))))))
                .addChild(new Transform("dad_Object02")
                  .addChild(new Shape("Object02")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material22_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(1.0,1.0,1.0)))
                    .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,9,4,7,-1,7,10,9,-1,11,10,12,-1,12,13,11,-1,10,7,6,-1,6,12,10,-1,14,15,16,-1,16,17,14,-1,12,6,5,-1,5,18,12,-1,19,18,9,-1,9,8,19,-1,18,5,4,-1,4,9,18,-1,0,3,19,-1,19,8,0,-1,3,2,13,-1,13,19,3,-1,2,1,11,-1,11,13,2,-1,1,0,8,-1,8,11,1,-1,15,14,13,-1,13,12,15,-1,14,17,19,-1,19,13,14,-1,17,16,18,-1,18,19,17,-1,16,15,12,-1,12,18,16,-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,9,4,7,-1,7,10,9,-1,11,10,12,-1,12,13,11,-1,10,7,6,-1,6,12,10,-1,14,15,16,-1,16,17,14,-1,12,6,5,-1,5,18,12,-1,19,18,9,-1,9,8,19,-1,18,5,4,-1,4,9,18,-1,0,3,19,-1,19,8,0,-1,3,2,13,-1,13,19,3,-1,2,1,11,-1,11,13,2,-1,1,0,8,-1,8,11,1,-1,15,14,13,-1,13,12,15,-1,14,17,19,-1,19,13,14,-1,17,16,18,-1,18,19,17,-1,16,15,12,-1,12,18,16,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-296.7294,-74.77792,-37.06326,-296.72986,-74.88514,-37.06326,-293.22263,-74.90205,-40.2952,-293.22217,-74.79483,-40.2952,-323.40067,-71.81311,-37.06326,-324.5307,-70.76886,-40.2952,-324.56427,-78.70515,-40.2952,-323.42541,-77.66891,-37.06326,-304.36853,-72.80643,-37.06326,-314.052,-71.60839,-37.06326,-314.07788,-77.72799,-37.06326,-304.38547,-76.81291,-37.06326,-314.88934,-78.74979,-40.2952,-300.7832,-78.29369,-40.2952,-304.42844,-76.98907,-42.02216,-314.07459,-76.9483,-42.02216,-314.05661,-72.69473,-42.02216,-304.41046,-72.7355,-42.02216,-314.85568,-70.77974,-40.2952,-300.75363,-71.29293,-40.2952})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.579,.425,.579,.425,.598,.452,.598,.452,.441,.425,.435,.452,.435,.452,.441,.425,.54,.425,.49,.425,.489,.425,.54,.425,.485,.452,.558,.452,.539,.466,.49,.466,.49,.466,.54,.466,.485,.452,.559,.452}))))))
                .addChild(new Transform("dad_Object04")
                  .addChild(new Shape("Object04")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material23_mat").setAmbientIntensity(0).setDiffuseColor(0.0,0.0,0.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,11,-1,0,11,12,-1,0,12,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-318.40039,.86914,-113.11659,-318.42526,-5.01403,-113.11659,-323.01816,-4.20641,-113.11659,-326.37372,-2.0388,-113.11659,-327.59283,.90799,-113.11659,-326.34888,3.84437,-113.11659,-322.97507,5.98355,-113.11659,-318.37552,6.75232,-113.11659,-313.78262,5.9447,-113.11658,-310.42706,3.77708,-113.11658,-309.20792,.83029,-113.11659,-310.45191,-2.10609,-113.11659,-313.82568,-4.24526,-113.11659}))))))
                .addChild(new Transform("dad_Object05")
                  .addChild(new Shape("Object05")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material24_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,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[] {-271.56149,54.1607,-89.11425,-271.63296,37.24741,-89.11425,-256.22769,37.1823,-89.11426,-256.15622,54.0956,-89.11426,-256.56775,-43.28102,-89.11426,-271.97302,-43.21593,-89.11425,-272.04477,-60.1963,-89.11425,-256.6395,-60.2614,-89.11426,-250.20405,49.54305,-46.50527,-250.20405,49.54305,-44.45212,-250.64861,-55.64891,-44.45212,-250.64861,-55.64891,-46.50528,-280.16915,49.66969,-46.50528,-280.16915,49.66969,-44.45212,-280.61371,-55.52227,-44.45212,-280.61371,-55.52227,-46.50528,-253.14143,37.16926,-44.45212,-253.48148,-43.29407,-44.45212,-253.48152,-43.29406,-46.50528,-253.14148,37.16926,-46.50528,-253.86802,37.17233,-44.45212,-280.22149,37.2837,-44.45212,-254.31654,-43.29054,-46.50528,-280.56155,-43.17963,-46.50528,-253.9765,37.17279,-46.50528,-280.22149,37.2837,-46.50528,-254.20807,-43.291,-44.45212,-280.56155,-43.17962,-44.45212}))))))
                .addChild(new Transform("dad_Object09")
                  .addChild(new Shape("Object09")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material25_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(1.0,1.0,1.0)))
                    .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[] {-352.57001,50.1396,-30.88667,-352.57001,50.1396,-58.99417,-353.01766,-55.79124,-58.99417,-353.01766,-55.79124,-30.88666})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.014,.219,.014,.458,.301,.458,.301,.219}))))))
                .addChild(new Transform("dad_Object10")
                  .addChild(new Shape("Object10")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material26_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(1.0,1.0,1.0)))
                    .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,9,4,7,-1,7,10,9,-1,11,10,12,-1,12,13,11,-1,10,7,6,-1,6,12,10,-1,14,15,16,-1,16,17,14,-1,12,6,5,-1,5,18,12,-1,19,18,9,-1,9,8,19,-1,18,5,4,-1,4,9,18,-1,0,3,19,-1,19,8,0,-1,3,2,13,-1,13,19,3,-1,2,1,11,-1,11,13,2,-1,1,0,8,-1,8,11,1,-1,15,14,13,-1,13,12,15,-1,14,17,19,-1,19,13,14,-1,17,16,18,-1,18,19,17,-1,16,15,12,-1,12,18,16,-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,9,4,7,-1,7,10,9,-1,11,10,12,-1,12,13,11,-1,10,7,6,-1,6,12,10,-1,14,15,16,-1,16,17,14,-1,12,6,5,-1,5,18,12,-1,19,18,9,-1,9,8,19,-1,18,5,4,-1,4,9,18,-1,0,3,19,-1,19,8,0,-1,3,2,13,-1,13,19,3,-1,2,1,11,-1,11,13,2,-1,1,0,8,-1,8,11,1,-1,15,14,13,-1,13,12,15,-1,14,17,19,-1,19,13,14,-1,17,16,18,-1,18,19,17,-1,16,15,12,-1,12,18,16,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-296.7294,71.78125,-37.06326,-296.72986,71.67403,-37.06326,-293.22263,71.65711,-40.29521,-293.22217,71.76434,-40.29521,-323.40067,74.74606,-37.06326,-324.5307,75.79031,-40.29521,-324.56427,67.85402,-40.29521,-323.42541,68.89026,-37.06326,-304.36853,73.75274,-37.06326,-314.052,74.95077,-37.06326,-314.07788,68.83118,-37.06326,-304.38547,69.74625,-37.06326,-314.88934,67.80937,-40.29521,-300.7832,68.26547,-40.29521,-304.42844,69.5701,-42.02217,-314.07459,69.61086,-42.02217,-314.05661,73.86443,-42.02217,-304.41046,73.82367,-42.02217,-314.85568,75.77943,-40.29521,-300.75363,75.26623,-40.29521})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.579,.425,.579,.425,.598,.452,.598,.452,.441,.425,.435,.452,.435,.452,.441,.425,.54,.425,.49,.425,.489,.425,.54,.425,.485,.452,.558,.452,.539,.466,.49,.466,.49,.466,.54,.466,.485,.452,.559,.452}))))))
                .addChild(new Transform("dad_Pyramid03")
                  .addChild(new Shape("Pyramid03")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material27_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,7,8,9,-1,4,7,9,-1,4,9,10,-1,4,10,11,-1,2,4,11,-1,2,11,12,-1,2,12,13,-1,3,2,13,-1,3,13,14,-1,3,14,15,-1,15,8,7,-1,3,15,7,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,2,1,4,-1,4,3,2,-1,3,5,6,-1,2,3,6,-1,2,6,7,-1,2,7,8,-1,2,2,8,-1,2,8,7,-1,2,7,9,-1,3,2,9,-1,3,9,10,-1,3,10,11,-1,11,5,3,-1,3,11,3,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-279.42175,28.50084,-109.49965,-279.44983,21.8564,-109.49965,-282.17502,24.60473,-124.64285,-282.17008,25.77564,-124.64285,-283.34595,24.60968,-124.64285,-286.09427,21.88449,-109.49965,-286.06619,28.52893,-109.49965,-283.34097,25.78059,-124.64285,-284.54538,27.02899,-124.64285,-285.30914,25.20696,-124.64285,-284.56082,23.37854,-124.64285,-282.73877,22.61479,-124.64285,-280.91037,23.36311,-124.64285,-280.14661,25.18514,-124.64285,-280.89493,27.01356,-124.64285,-282.71695,27.77731,-124.64285})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.752,.028,.872,.028,.823,.671,.802,.671,.752,.028,.779,.671,.812,.671,.845,.671,.858,.671,.812,.671,.779,.671,.766,.671}))))))
                .addChild(new Transform("dad_smcontrsi0")
                  .addChild(new Shape("smcontrsi0")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material28_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(1.0,1.0,1.0)))
                    .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[] {57.50189,-50.68824,-30.13614,57.50189,-50.68824,-76.00124,57.94888,55.07644,-76.00124,57.94889,55.07644,-30.13614,-65.54325,-50.16822,-76.00124,-65.54325,-50.16822,-30.13614,-65.09625,55.59646,-30.13614,-65.09625,55.59646,-76.00124})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.366,.501,.366,1.0,.744,1.0,.744,.501,.366,1.0,.366,.501,.744,.501,.744,1.0}))))))
                .addChild(new Transform("dad_smcontrsi1")
                  .addChild(new Shape("smcontrsi1")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material29_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(1.0,1.0,1.0)))
                    .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[] {211.67415,-50.68824,-30.13614,211.67415,-50.68824,-76.00124,212.12114,55.07644,-76.00124,212.12115,55.07644,-30.13614,88.62901,-50.16822,-76.00124,88.62901,-50.16822,-30.13614,89.076,55.59646,-30.13614,89.076,55.59646,-76.00124})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.366,.501,.366,1.0,.744,1.0,.744,.501,.366,1.0,.366,.501,.744,.501,.744,1.0}))))))
                .addChild(new Transform("dad_smcontrsid")
                  .addChild(new Shape("smcontrsid")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material30_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(1.0,1.0,1.0)))
                    .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[] {-91.11201,-50.68824,-30.13614,-91.11201,-50.68824,-76.00124,-90.66503,55.07644,-76.00124,-90.66502,55.07644,-30.13614,-214.15715,-50.16822,-76.00124,-214.15715,-50.16822,-30.13614,-213.71016,55.59646,-30.13614,-213.71016,55.59646,-76.00124})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.366,.501,.366,1.0,.744,1.0,.744,.501,.366,1.0,.366,.501,.744,.501,.744,1.0}))))))
                .addChild(new Transform("dad_smcontsid0")
                  .addChild(new Shape("smcontsid0")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material31_mat").setAmbientIntensity(0.639).setDiffuseColor(.90196,.90196,.90196).setShininess(0.100).setSpecularColor(.92157,.92157,.92157)))
                    .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,3,2,-1,2,5,4,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-65.54325,-50.16822,-30.13614,-65.54325,-50.16822,-76.00124,57.50189,-50.68824,-76.00124,57.50189,-50.68824,-30.13614,-65.09625,55.59646,-30.13614,57.94888,55.07644,-30.13614,57.94888,55.07644,-76.00124,-65.09625,55.59646,-76.00124})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.38,.509,.38,.989,.744,.989,.744,.509,.38,.509,.38,.989}))))))
                .addChild(new Transform("dad_smcontsid1")
                  .addChild(new Shape("smcontsid1")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material32_mat").setAmbientIntensity(0.639).setDiffuseColor(.90196,.90196,.90196).setShininess(0.100).setSpecularColor(.92157,.92157,.92157)))
                    .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,3,2,-1,2,5,4,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {88.62901,-50.16822,-30.13614,88.62901,-50.16822,-76.00124,211.67415,-50.68824,-76.00124,211.67415,-50.68824,-30.13614,89.076,55.59646,-30.13614,212.12114,55.07644,-30.13614,212.12114,55.07644,-76.00124,89.076,55.59646,-76.00124})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.38,.509,.38,.989,.744,.989,.744,.509,.38,.509,.38,.989}))))))
                .addChild(new Transform("dad_smcontside")
                  .addChild(new Shape("smcontside")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material33_mat").setAmbientIntensity(0.639).setDiffuseColor(.90196,.90196,.90196).setShininess(0.100).setSpecularColor(.92157,.92157,.92157)))
                    .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,3,2,-1,2,5,4,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-214.15716,-50.16822,-30.13614,-214.15716,-50.16822,-76.00124,-91.11202,-50.68824,-76.00124,-91.11202,-50.68824,-30.13614,-213.71016,55.59646,-30.13614,-90.66503,55.07644,-30.13614,-90.66503,55.07644,-76.00124,-213.71016,55.59646,-76.00124})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.38,.509,.38,.989,.744,.989,.744,.509,.38,.509,.38,.989}))))))
                .addChild(new Transform("dad_Sphere01")
                  .addChild(new Shape("Sphere01")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material34_mat").setAmbientIntensity(0.329).setDiffuseColor(.79608,.79608,.79608).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})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_275_point())))))
                .addChild(new Transform("dad_SuperStruc")
                  .addChild(new Shape("SuperStruc")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material35_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(1.0,1.0,1.0)))
                    .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,40,41,42,-1,42,43,40,-1,44,45,46,-1,46,47,44,-1,48,49,50,-1,50,51,48,-1,44,52,53,-1,44,53,54,-1,45,44,54,-1,55,56,47,-1,47,46,55,-1,57,52,58,-1,58,59,57,-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,24,25,-1,26,23,25,-1,22,26,25,-1,22,25,27,-1,19,22,27,-1,28,29,30,-1,31,32,33,-1,33,34,35,-1,31,33,35,-1,31,35,36,-1,30,31,36,-1,28,30,36,-1,37,38,39,-1,39,15,37,-1,40,41,42,-1,42,43,40,-1,44,3,45,-1,45,46,44,-1,40,6,14,-1,40,14,47,-1,41,40,47,-1,48,49,43,-1,43,42,48,-1,8,50,51,-1,51,52,8,-1})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_282_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.048,.46,.003,.463,.003,.412,.048,.412,.06,.46,.06,.46,.252,.46,.252,.46,.252,.5,.06,.5,.048,.161,.264,.161,.264,.221,.048,.221,.264,.46,.264,.412,.309,.412,.309,.463,.264,.229,.048,.229,.048,.239,.048,.283,.014,.283,.048,.162,.048,.221,.015,.221,.014,.162,.015,.229,.264,.221,.264,.162,.298,.162,.298,.283,.264,.283,.264,.239,.264,.229,.297,.229,.297,.221,.264,.46,.309,.463,.309,.412,.252,.459,.259,.283,.18,.283,.06,.459,.048,.46,.003,.412,.003,.463,.264,.283,.048,.283,.048,.46,.252,.46,.06,.46,.06,.5}))))))
                .addChild(new Transform("dad_SupStructS")
                  .addChild(new Shape("SupStructS")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material36_mat").setAmbientIntensity(1).setDiffuseColor(1.0,1.0,1.0).setShininess(0.100).setSpecularColor(1.0,1.0,1.0)))
                    .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,18,19,16,-1,9,20,17,-1,17,21,9,-1,22,23,24,-1,24,25,22,-1,16,21,17,-1,26,27,28,-1,28,29,30,-1,26,28,30,-1,9,8,20,-1,31,32,33,-1,34,31,33,-1,35,34,33,-1,36,37,38,-1,36,38,39,-1,28,40,41,-1,29,28,41,-1,42,29,41,-1,43,44,45,-1,43,45,46,-1,43,46,47,-1,46,45,35,-1,46,35,48,-1,49,46,48,-1,50,51,42,-1,42,41,50,-1,35,33,52,-1,52,48,35,-1,53,54,55,-1,53,55,56,-1,57,58,42,-1,57,42,51,-1,59,57,51,-1,60,61,62,-1,62,63,60,-1,64,65,66,-1,66,67,64,-1,15,14,24,-1,15,24,23,-1,68,69,70,-1,70,71,68,-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,12,13,14,-1,14,15,12,-1,16,17,18,-1,18,19,16,-1,9,20,17,-1,17,21,9,-1,22,23,24,-1,24,25,22,-1,16,21,17,-1,26,27,28,-1,28,0,29,-1,26,28,29,-1,9,8,20,-1,18,30,31,-1,19,18,31,-1,32,19,31,-1,33,34,35,-1,33,35,36,-1,28,37,38,-1,0,28,38,-1,1,0,38,-1,39,10,40,-1,39,40,41,-1,39,41,42,-1,41,40,32,-1,41,32,43,-1,44,41,43,-1,45,46,1,-1,1,38,45,-1,32,31,47,-1,47,43,32,-1,48,49,50,-1,48,50,51,-1,52,53,1,-1,52,1,46,-1,54,52,46,-1,55,56,57,-1,57,48,55,-1,58,59,60,-1,60,47,58,-1,15,14,24,-1,15,24,23,-1,10,10,39,-1,39,11,10,-1})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_290_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.295,.414,.258,.414,.258,.463,.295,.463,.295,.463,.258,.463,.258,.414,.295,.414,.302,.46,.295,.463,.295,.46,.302,.46,.302,.46,.295,.46,.295,.464,.31,.498,.258,.463,.186,.498,.186,.46,.258,.46,.31,.498,.294,.463,.186,.46,.186,.498,.258,.463,.258,.46,.302,.46,.302,.236,.3,.236,.295,.46,.186,.288,.221,.288,.258,.414,.237,.171,.302,.171,.3,.228,.237,.228,.237,.236,.237,.246,.302,.46,.295,.414,.3,.236,.302,.236,.237,.246,.237,.236,.237,.288,.221,.288,.237,.288,.237,.171,.237,.228,.3,.228,.302,.171,.186,.46,.258,.46,.186,.288,.064,.171,.064,.288,.237,.288,.064,.288,.064,.171,.237,.171}))))))
                .addChild(new Transform("dad_TowerTop")
                  .addChild(new Shape("TowerTop")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material37_mat").setAmbientIntensity(0.329).setDiffuseColor(.79608,.79608,.79608).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(getIndexedFaceSet_11_297_coordIndex())
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_297_point())))))
                .addChild(new Transform("dad_TowSide1")
                  .addChild(new Shape("TowSide1")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPR_TEX"))
                      .setMaterial(new Material("material38_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,12,13,14,-1,14,15,12,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,0,4,5,-1,5,6,0,-1,7,8,9,-1,9,10,7,-1,7,11,12,-1,12,13,7,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-282.1749,-25.39408,-124.64285,-279.44983,-28.14241,-109.49963,-286.09427,-28.11433,-109.49967,-283.34583,-25.38913,-124.64285,-282.16995,-24.22317,-124.64285,-283.34085,-24.21822,-124.64285,-286.06616,-21.46989,-109.49967,-279.42172,-21.49797,-109.49963,-282.17492,24.60473,-124.64286,-279.44982,21.8564,-109.49964,-286.09426,21.88448,-109.49969,-283.34582,24.60968,-124.64287,-282.16995,25.77564,-124.64286,-283.34087,25.78059,-124.64287,-286.06619,28.52892,-109.49969,-279.42174,28.50084,-109.49964})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.824,.672,.874,.037,.752,.037,.802,.672,.802,.672,.752,.037,.874,.037,.82,.672,.87,.037,.748,.037,.798,.672,.798,.672,.748,.037,.87,.037}))))))))))))
    .addChild(new Viewpoint("VP1").setDescription("Red Container Ship Starboard").setPosition(0.0,5.0,305.0))
    .addChild(new Viewpoint("VP2").setDescription("Red Container Ship Front").setOrientation(0.0,1.0,0.0,1.571).setPosition(305.0,5.0,0.0))
    .addChild(new Viewpoint("VP3").setDescription("Red Container Ship Port").setOrientation(0.0,1.0,0.0,3.142).setPosition(0.0,5.0,-305.0))
    .addChild(new Viewpoint("VP4").setDescription("Red Container Ship Back").setOrientation(0.0,1.0,0.0,-1.571).setPosition(-305.0,5.0,0.0))
    .addChild(new Viewpoint("VP5").setDescription("Red Container Ship Top").setOrientation(1.0,0.0,0.0,-1.571).setPosition(0.0,305.0,0.0))
    .addChild(new Viewpoint("VP6").setDescription("Red Container Ship Bottom").setOrientation(1.0,0.0,0.0,1.571).setPosition(0.0,-305.0,0.0))
    .addChild(new Viewpoint("VP7").setDescription("Red Container Ship Three-Quarter").setFieldOfView(0.60243).setOrientation(0.124491,-0.945607,-0.300549,-2.39496).setPosition(305.0,305.0,-305.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_176_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_176_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,65,12,11,-1,11,66,65,-1,67,16,15,-1,20,68,69,-1,68,20,21,-1,70,21,20,-1,21,70,71,-1,25,69,72,-1,69,25,20,-1,73,20,25,-1,20,73,70,-1,74,25,75,-1,25,74,73,-1,75,72,65,-1,72,75,25,-1,76,75,29,-1,75,76,74,-1,29,65,66,-1,65,29,75,-1,32,29,31,-1,29,32,76,-1,31,67,15,-1,67,31,29,-1,77,29,66,-1,29,77,67,-1,60,35,78,-1,35,60,1,-1,5,60,61,-1,60,5,2,-1,61,78,79,-1,78,61,60,-1,3,79,37,-1,79,3,61,-1,80,37,79,-1,37,80,39,-1,81,79,78,-1,79,81,80,-1,82,78,35,-1,78,82,81,-1,82,43,83,-1,43,82,35,-1,84,83,85,-1,83,84,82,-1,86,82,84,-1,82,86,81,-1,73,85,70,-1,85,73,84,-1,74,84,73,-1,84,74,86,-1,12,72,87,-1,72,12,65,-1,87,69,88,-1,69,87,72,-1,62,88,63,-1,88,62,87,-1,9,87,62,-1,87,9,12,-1,76,50,89,-1,50,76,32,-1,74,89,86,-1,89,74,76,-1,71,85,90,-1,85,71,70,-1,91,90,92,-1,90,91,71,-1,77,11,54,-1,11,77,66,-1,67,54,16,-1,54,67,77,-1,80,50,39,-1,50,80,89,-1,93,43,55,-1,43,93,83,-1,94,55,57,-1,55,94,93,-1,81,89,80,-1,89,81,86,-1,90,83,93,-1,83,90,85,-1,92,93,94,-1,93,92,90,-1,88,68,95,-1,68,88,69,-1,63,95,64,-1,95,63,88,-1};
			return value;
		}






		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_11_297_coordIndex_1()
		{
			int[] value = {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,1,-1,9,2,1,-1,1,10,9,-1,11,3,2,-1,2,9,11,-1,12,4,3,-1,3,11,12,-1,13,5,4,-1,4,12,13,-1,14,6,5,-1,5,13,14,-1,15,7,6,-1,6,14,15,-1,16,8,7,-1,7,15,16,-1,10,1,8,-1,8,16,10,-1,17,9,10,-1,10,18,17,-1,19,11,9,-1,9,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,10,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,42,43,-1,41,43,44,-1,41,44,45,-1,41,45,46,-1,41,46,47,-1,41,47,48,-1,41,48,49,-1,41,49,42,-1,50,43,42,-1,42,51,50,-1,52,44,43,-1,43,50,52,-1,53,45,44,-1,44,52,53,-1,54,46,45,-1,45,53,54,-1,55,47,46,-1,46,54,55,-1,56,48,47,-1,47,55,56,-1,57,49,48,-1,48,56,57,-1,51,42,49,-1,49,57,51,-1,58,50,51,-1,51,59,58,-1,60,52,50,-1,50,58,60,-1,61,53,52,-1,52,60,61,-1,62,54,53,-1,53,61,62,-1,63,55,54,-1,54,62,63,-1,64,56,55,-1,55,63,64,-1,65,57,56,-1,56,64,65,-1,59,51,57,-1,57,65,59,-1,66,58,59,-1,59,67,66,-1,68,60,58,-1,58,66,68,-1,69,61,60,-1,60,68,69,-1,70,62,61,-1,61,69,70,-1,71,63,62,-1,62,70,71,-1,72,64,63,-1,63,71,72,-1,73,65,64,-1,64,72,73,-1,67,59,65,-1,65,73,67,-1,74,66,67,-1,67,75,74,-1,76,68,66,-1,66,74,76,-1,77,69,68,-1,68,76,77,-1,78,70,69,-1,69,77,78,-1,79,71,70,-1,70,78,79,-1,80,72,71,-1,71,79,80,-1,81,73,72,-1,72,80,81,-1,75,67,73,-1,73,81,75,-1};
			return value;
		}


		/** Large attribute array: Coordinate point field, scene-graph level=12, element #80, 162 total numbers made up of 54 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_80_point()
		{
			MFVec3f Coordinate_12_80_point = new MFVec3f(new double[] {-256.54922,-38.98048,-101.21686,-256.63949,-60.34584,-100.89488,-272.04476,-60.28074,-100.89487,-271.9545,-38.91511,-100.89487,-256.58506,32.71405,-100.89487,-271.65149,32.77772,-100.89487,-271.5615,54.07626,-100.89487,-256.15623,54.01116,-100.89487,-256.24622,32.71262,-100.86278,-271.63297,37.16297,-100.23212,-271.65149,32.77772,-100.23212,-256.56775,-43.36546,-100.23212,-256.54922,-38.98654,-100.2387,-250.05601,-39.00765,-109.46471,-302.13534,-38.78757,-109.46471,-301.83237,32.90526,-109.46471,-249.75304,32.68518,-109.46471,-253.46568,-38.99324,-100.23212,-253.46309,-38.99325,-100.24619,-301.81385,37.29051,-100.23212,-301.83237,32.90526,-100.23212,-301.83237,32.90526,-99.86963,-253.86803,37.08789,-44.45212,-253.14159,37.08482,-30.70255,-253.14144,37.08482,-44.45212,-271.97302,-43.30036,-100.23212,-271.9545,-38.9193,-100.23648,-256.22769,37.09786,-100.2321,-256.24622,32.71262,-100.2321,-253.48147,-43.3785,-44.45212,-253.48163,-43.3785,-30.70255,-254.20807,-43.37544,-44.45212,-271.63297,37.16297,-100.23211,-271.65149,32.77772,-100.23211,-302.1539,-43.17282,-100.23212,-302.13534,-38.78756,-100.23212,-271.9545,-38.9193,-100.23647,-253.4657,-38.99324,-100.23212,-253.48163,-43.3785,-100.23212,-256.54925,-38.98654,-100.23871,-287.53582,-43.23459,-58.99417,-280.56155,-43.26407,-58.99417,-280.61526,-55.97247,-58.99417,-302.15387,-43.17282,-58.99417,-353.01766,-55.6665,-58.99417,-302.1463,-41.3791,-58.99417,-352.57001,50.26434,-58.99417,-302.02237,-12.05438,-58.99416,-301.81385,37.29051,-58.99416,-280.16761,49.95837,-58.99417,-280.2215,37.19927,-58.99417,-287.19577,37.22873,-58.99416,-302.13534,-38.78756,-99.86964,-301.83237,32.90526,-99.86964});
			return Coordinate_12_80_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #107, 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_107_point()
		{
			MFVec3f Coordinate_12_107_point = new MFVec3f(new double[] {-268.76312,-.20938,-141.23442,-268.43564,-.2595,-138.82704,-268.52121,-10.5746,-140.36314,-269.95874,-10.56852,-140.36314,-269.61258,-.20579,-138.77812,-269.61258,-.20579,-141.23442,-256.9534,-.3129,-141.23442,-268.7569,1.26197,-141.23442,-268.41635,1.29957,-138.82964,-258.05939,1.20119,-140.36313,-280.3064,1.29521,-140.36314,-269.60638,1.26556,-138.82262,-269.60638,1.26556,-141.23442,-281.42514,-.20947,-141.23442,-269.93189,12.79115,-141.23442,-268.35062,12.78446,-141.23442,-268.42719,11.67242,-140.36314,-269.60638,1.26556,-138.77815,-270.03424,.53168,-141.23442,-268.33527,.5245,-141.23442,-256.94672,1.26836,-141.23442,-270.03531,-11.68057,-141.23442,-268.33527,.5245,-138.84143,-268.75689,1.26197,-115.46047,-268.7569,1.26197,-138.77852,-268.76312,-.20938,-138.77852,-268.76312,-.20938,-115.46047,-281.41846,1.37179,-141.23442,-270.03424,.53168,-141.95721,-268.7569,1.26197,-141.95721,-268.76312,-.20938,-141.95721,-269.60638,1.26556,-115.46046,-268.33526,.5245,-115.46047,-270.03424,.53168,-138.84106,-270.03424,.53168,-115.46046,-270.03424,.53168,-138.84106,-258.06546,-.23632,-140.36313,-280.31247,-.1423,-140.36314,-269.86472,11.67849,-140.36314,-268.45404,-11.68725,-141.23442,-269.61258,-.20579,-141.23442,-269.61261,-.20579,-115.46046,-268.33527,.5245,-141.23442,-268.7569,1.26197,-141.23442,-268.33527,.5245,-141.95721,-268.33527,.5245,-138.84143});
			return Coordinate_12_107_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #142, 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_142_point()
		{
			MFVec3f Coordinate_12_142_point = new MFVec3f(new double[] {-318.42526,-5.01403,-113.11659,-318.43472,-7.25768,-109.55363,-324.7792,-6.14205,-109.55362,-323.01816,-4.20641,-113.11659,-329.41449,-3.14779,-109.55363,-326.37372,-2.0388,-113.11659,-331.09854,.92281,-109.55363,-327.59283,.90799,-113.11659,-329.38013,4.97903,-109.55363,-326.34888,3.84437,-113.11659,-324.71973,7.93401,-109.55362,-322.97507,5.98355,-113.11659,-318.36603,8.99596,-109.55363,-318.37552,6.75232,-113.11659,-312.02158,7.88034,-109.55363,-313.78262,5.9447,-113.11658,-307.38629,4.88607,-109.55362,-310.42706,3.77708,-113.11658,-305.70224,.81547,-109.55363,-309.20792,.83029,-113.11659,-307.42062,-3.24074,-109.55362,-310.45191,-2.10609,-113.11659,-312.08106,-6.19572,-109.55363,-313.82568,-4.24526,-113.11659,-326.46356,-12.425,-59.26653,-336.8685,-10.59538,-59.26653,-344.47037,-5.68479,-59.26653,-347.23221,.99099,-59.26653,-344.41403,7.64319,-59.26653,-336.77094,12.48936,-59.26653,-326.35089,14.23096,-59.26653,-315.94596,12.40134,-59.26653,-308.34412,7.49075,-59.26653,-305.58228,.81497,-59.26653,-308.40046,-5.83723,-59.26653,-316.04352,-10.6834,-59.26653});
			return Coordinate_12_142_point;
		}
		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=11, element #176, 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_176_coordIndex()
		{
			MFInt32 IndexedFaceSet_11_176_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_11_176_coordIndex_1()));
			return IndexedFaceSet_11_176_coordIndex;
		}
		/** Large attribute array: IndexedFaceSet texCoordIndex field, scene-graph level=11, element #176, 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_176_texCoordIndex()
		{
			MFInt32 IndexedFaceSet_11_176_texCoordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_11_176_texCoordIndex_1()));
			return IndexedFaceSet_11_176_texCoordIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #176, 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_176_point()
		{
			MFVec3f Coordinate_12_176_point = new MFVec3f(new double[] {479.94231,-16.51705,14.65436,479.90636,-2.75805,6.78156,488.11156,-2.74053,15.42212,479.90313,-2.70585,29.47639,479.96978,-13.34248,25.88881,484.3557,-2.72466,25.65459,-491.64829,-50.45368,-16.15398,-491.28134,-27.55922,-7.21681,-491.45639,1.39922,-30.6935,-490.97821,1.3972,-6.00535,-491.66205,-55.31273,-30.69349,-432.46829,1.14993,15.40089,-461.93411,1.27446,3.95184,-422.27508,-30.36215,14.34665,-422.34811,-2.24637,19.97881,-422.33395,1.10711,31.09847,-433.89532,1.15597,31.36809,-422.34744,-2.08532,30.68397,-422.60562,-58.39459,-15.59711,-422.82334,-63.22262,-30.69548,-256.21701,-75.37369,-6.06945,-256.30564,-79.77626,-30.70255,302.07124,-64.63536,-6.22628,302.02198,-79.37775,-30.78064,-422.5361,-57.83691,-6.28531,-256.22699,-72.36308,2.5986,301.86431,-61.8018,-1.58803,-256.18402,-58.64608,12.84462,301.97735,-36.8124,13.94779,-256.0975,-29.75507,26.62858,302.00137,-29.01076,26.34512,-255.98475,.4041,37.07697,302.12679,-1.44985,33.79579,-422.34771,-2.1554,26.64838,466.61183,-25.0121,14.08402,466.76778,-2.65033,1.72255,466.65245,-21.55103,26.29302,466.74105,-2.65022,32.76258,432.92928,-26.05999,26.29554,433.08281,-2.50798,32.97526,432.97152,-28.75632,14.21916,433.04359,-12.42577,-.19226,433.35457,-14.99507,-6.15197,463.73146,-2.6375,-6.14681,408.45045,-25.15845,-6.15616,408.47404,-19.5762,-1.58725,408.43608,-28.56443,14.21475,-462.05634,-46.04752,-6.99557,-461.99494,-53.93253,-16.0298,408.43468,-28.89226,26.2932,408.54662,-2.40428,33.14394,408.36094,-46.34322,-30.78064,408.17042,-66.11678,-45.0743,317.53871,-79.44331,-38.37129,-433.31729,1.15352,26.73211,473.82633,-2.68016,-31.28023,440.88151,-28.48299,-31.31282,484.283,-2.72436,-50.34637,447.47187,-49.36412,-47.89092,-462.06681,-58.73355,-30.69434,480.05904,11.10455,14.65446,480.05968,7.92985,25.8889,-491.03656,30.35516,-7.21683,-491.21002,53.2519,-16.154,-491.18271,58.1109,-30.69352,-422.00909,32.57474,14.34663,-422.31976,4.46059,19.9788,-422.32043,4.29955,30.68396,-255.57651,76.18114,-6.06944,-422.27961,65.43869,-30.69549,-422.10269,60.60898,-15.59712,-255.62794,80.5843,-30.70255,302.60106,60.72452,-6.22621,302.6764,75.46683,-30.78057,-255.61194,73.17072,2.59861,-422.0379,60.05073,-6.28533,302.37016,57.8928,-1.58796,302.27199,32.90334,13.94786,-255.68491,59.45385,12.84462,302.23003,25.10177,26.34519,-255.84259,30.56314,26.62859,-422.32016,4.36963,26.64837,466.80086,19.71195,14.08411,466.81221,16.25067,26.29312,433.12835,21.04449,26.29563,433.19338,23.74037,14.21924,433.12743,7.40979,-.19218,433.4601,9.97637,-6.15188,408.61922,14.76763,-1.58717,408.64281,20.34988,-6.15607,408.65718,23.75586,14.21484,-461.65634,48.59578,-6.99559,-461.52832,56.47999,-16.02981,408.65859,24.08369,26.29329,408.73234,41.53465,-30.78056,318.19313,75.40121,-38.37122,408.70896,61.30912,-45.07422,441.10078,23.4002,-31.31273,447.86741,44.22489,-47.89083,-461.5596,61.28145,-30.69436});
			return Coordinate_12_176_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #275, 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_275_point()
		{
			MFVec3f Coordinate_12_275_point = new MFVec3f(new double[] {-263.9823,.5551,-141.87694,-262.85684,.55034,-142.24263,-263.06897,1.21279,-142.24263,-263.63,1.62402,-142.24263,-264.32556,1.62695,-142.24263,-264.89002,1.22048,-142.24263,-265.10776,.55986,-142.24263,-264.89563,-.10258,-142.24263,-264.33463,-.51381,-142.24263,-263.63904,-.51675,-142.24263,-263.07459,-.11028,-142.24263,-262.16125,.54741,-143.20003,-262.50452,1.61926,-143.20003,-263.41223,2.28464,-143.20003,-264.53772,2.2894,-143.20003,-265.45102,1.63171,-143.20003,-265.80334,.5628,-143.20003,-265.46008,-.50906,-143.20003,-264.55237,-1.17444,-143.20003,-263.42688,-1.17919,-143.20003,-262.51358,-.52151,-143.20003,-262.16125,.54741,-144.38341,-262.50452,1.61926,-144.38341,-263.41223,2.28464,-144.38342,-264.53772,2.2894,-144.38342,-265.45102,1.63171,-144.38342,-265.80334,.5628,-144.38342,-265.46008,-.50906,-144.38342,-264.55237,-1.17444,-144.38342,-263.42688,-1.17919,-144.38342,-262.51358,-.52151,-144.38341,-262.85684,.55034,-145.3408,-263.06897,1.21279,-145.3408,-263.62997,1.62402,-145.3408,-264.32556,1.62695,-145.3408,-264.89002,1.22048,-145.3408,-265.10776,.55986,-145.3408,-264.89563,-.10258,-145.3408,-264.33463,-.51381,-145.3408,-263.63904,-.51675,-145.3408,-263.07459,-.11028,-145.3408,-263.9823,.5551,-145.7065});
			return Coordinate_12_275_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #282, 180 total numbers made up of 60 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_282_point()
		{
			MFVec3f Coordinate_12_282_point = new MFVec3f(new double[] {-256.22769,37.09787,-100.2321,-256.15622,54.01117,-100.89486,-256.15622,54.01117,-89.11426,-256.22769,37.09787,-89.11426,-253.1601,32.69958,-100.24619,-253.1627,32.6996,-100.2321,-253.4657,-38.99325,-100.23212,-253.46309,-38.99327,-100.24619,-250.05603,-39.00766,-109.46471,-249.75304,32.68518,-109.46471,-253.14157,37.08483,-30.70254,-253.48163,-43.37852,-30.70255,-253.48149,-43.37852,-44.45211,-253.14143,37.08483,-44.45211,-256.56775,-43.36547,-100.23212,-256.56775,-43.36547,-89.11426,-256.6395,-60.34585,-89.11426,-256.63953,-60.34585,-100.89487,-253.48152,-43.37851,-46.50528,-253.48163,-43.37852,-100.23212,-253.14157,37.08483,-100.2321,-253.14146,37.08483,-46.50527,-280.2215,37.19928,-48.81303,-280.2215,37.19928,-58.99416,-280.1676,49.95839,-58.99416,-280.2215,37.19928,-46.50528,-280.2215,37.19928,-30.88665,-280.2215,37.19928,-44.45212,-280.16916,49.58527,-44.45212,-280.16757,49.95839,-30.88665,-280.16916,49.58527,-46.50528,-280.56155,-43.26407,-44.45212,-280.56155,-43.26407,-30.88664,-280.61526,-55.97248,-30.88664,-280.61526,-55.97248,-58.99416,-280.56155,-43.26407,-58.99416,-280.56155,-43.26407,-48.81305,-280.56155,-43.26407,-46.50528,-280.61374,-55.60672,-46.50528,-280.61374,-55.60672,-44.45212,-271.97302,-43.30036,-100.23212,-272.0448,-60.28073,-100.89488,-272.04477,-60.28073,-89.11426,-271.97302,-43.30036,-89.11426,-302.13534,-38.78756,-99.86964,-302.1463,-41.3791,-58.99417,-302.02237,-12.05438,-58.99417,-301.83237,32.90527,-99.86964,-271.63297,37.16297,-100.23211,-271.63297,37.16297,-89.11426,-271.56149,54.07627,-89.11426,-271.56149,54.07627,-100.89487,-302.13534,-38.78756,-100.23212,-302.1539,-43.17281,-100.23212,-302.15387,-43.17281,-58.99417,-301.81384,37.29052,-58.99417,-301.81384,37.29052,-100.23212,-302.13534,-38.78756,-109.46471,-301.83237,32.90527,-100.23212,-301.83237,32.90527,-109.46471});
			return Coordinate_12_282_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #290, 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_290_point()
		{
			MFVec3f Coordinate_12_290_point = new MFVec3f(new double[] {-256.6395,-60.34584,-89.11427,-272.04477,-60.28073,-89.11426,-272.04477,-60.28073,-100.89487,-256.6395,-60.34584,-100.89488,-256.15622,54.01116,-100.89487,-271.56149,54.07627,-100.89487,-271.56149,54.07627,-89.11426,-256.15622,54.01116,-89.11425,-253.16011,32.69957,-100.24619,-256.24622,32.71262,-100.86278,-256.24622,32.71262,-100.2321,-253.1627,32.69958,-100.2321,-253.46309,-38.99325,-100.24619,-256.54922,-38.98654,-100.2387,-256.54922,-38.98048,-101.21686,-250.05602,-39.00765,-109.46471,-271.65149,32.77772,-100.89487,-301.83237,32.90527,-109.46471,-301.83237,32.90527,-100.23212,-271.65149,32.77772,-100.23212,-249.75304,32.68518,-109.46471,-256.58505,32.71405,-100.89487,-302.13534,-38.78756,-100.23212,-302.13534,-38.78756,-109.46471,-271.9545,-38.91511,-100.89487,-271.9545,-38.9193,-100.23648,-253.48161,-43.3785,-100.23212,-253.48152,-43.3785,-46.50528,-254.31654,-43.37498,-46.50528,-256.56775,-43.36546,-89.11427,-256.56775,-43.36546,-100.23212,-301.81384,37.29052,-100.23212,-301.81384,37.29052,-58.99416,-287.1958,37.22874,-58.99416,-271.63297,37.16297,-100.23212,-271.63297,37.16297,-89.11426,-280.2215,37.19927,-30.88665,-253.14159,37.08482,-30.70255,-253.86803,37.08789,-44.45212,-280.2215,37.19927,-44.45212,-280.56155,-43.26406,-46.50528,-280.56155,-43.26406,-48.81305,-271.97302,-43.30036,-89.11426,-253.14157,37.08482,-100.2321,-256.22769,37.09786,-100.2321,-256.22769,37.09786,-89.11425,-253.9765,37.08835,-46.50528,-253.14146,37.08482,-46.50528,-280.2215,37.19927,-48.81304,-280.2215,37.19927,-46.50528,-280.56155,-43.26406,-58.99416,-287.53583,-43.23459,-58.99416,-280.2215,37.19927,-58.99417,-280.56155,-43.26406,-30.88665,-280.56155,-43.26406,-44.45212,-254.20807,-43.37544,-44.45212,-253.48163,-43.3785,-30.70255,-302.15387,-43.17281,-100.23212,-271.97302,-43.30036,-100.23212,-302.15387,-43.17281,-58.99416,-353.0177,-55.66649,-30.88664,-353.0177,-55.66649,-58.99417,-280.61526,-55.97247,-58.99416,-280.61526,-55.97247,-30.88665,-352.57001,50.26435,-58.99417,-352.57001,50.26435,-30.88665,-280.16757,49.95837,-30.88665,-280.16757,49.95837,-58.99417,-256.24622,32.71262,-100.23211,-256.22769,37.09786,-100.23211,-253.14157,37.08482,-100.23211,-253.1627,32.69958,-100.23211});
			return Coordinate_12_290_point;
		}
		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=11, element #297, 576 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_297_coordIndex()
		{
			MFInt32 IndexedFaceSet_11_297_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_11_297_coordIndex_1()));
			return IndexedFaceSet_11_297_coordIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #297, 246 total numbers made up of 82 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_297_point()
		{
			MFVec3f Coordinate_12_297_point = new MFVec3f(new double[] {-282.72769,-24.80277,-132.12389,-282.73187,-25.79057,-131.9274,-283.42914,-25.4983,-131.9274,-283.71551,-24.79859,-131.9274,-283.42322,-24.10133,-131.9274,-282.72351,-23.81496,-131.92738,-282.02628,-24.10723,-131.9274,-281.7399,-24.80694,-131.92738,-282.03217,-25.5042,-131.9274,-284.0238,-26.08794,-131.36786,-282.73541,-26.62799,-131.36785,-284.55292,-24.79505,-131.36785,-284.01288,-23.50668,-131.36785,-282.72,-22.97754,-131.36783,-281.43161,-23.51759,-131.36783,-280.90247,-24.81048,-131.36783,-281.44254,-26.09885,-131.36783,-284.42111,-26.48192,-130.53043,-282.73779,-27.18754,-130.53041,-285.11249,-24.79268,-130.53043,-284.40686,-23.10935,-130.53043,-282.71762,-22.41799,-130.53041,-281.0343,-23.1236,-130.53041,-280.34293,-24.81284,-130.5304,-281.04855,-26.49618,-130.53041,-284.56067,-26.62027,-129.54262,-282.73862,-27.38402,-129.5426,-285.30896,-24.79186,-129.54262,-284.54523,-22.96982,-129.54262,-282.7168,-22.2215,-129.5426,-280.89478,-22.98525,-129.54259,-280.14645,-24.81367,-129.54257,-280.91022,-26.6357,-129.54259,-284.5607,-26.62027,-124.64286,-282.73868,-27.38402,-124.64285,-285.30902,-24.79186,-124.64287,-284.54526,-22.96983,-124.64286,-282.71686,-22.22151,-124.64285,-280.89481,-22.98525,-124.64283,-280.14648,-24.81367,-124.64283,-280.91025,-26.6357,-124.64283,-282.72773,25.19605,-132.12389,-282.73188,24.20824,-131.9274,-283.42914,24.50052,-131.9274,-283.71552,25.20022,-131.9274,-283.42325,25.89748,-131.9274,-282.72354,26.18385,-131.92738,-282.02628,25.89158,-131.9274,-281.7399,25.19187,-131.92738,-282.03217,24.49461,-131.9274,-284.02381,23.91087,-131.36786,-282.73545,23.37082,-131.36784,-284.55295,25.20376,-131.36784,-284.01288,26.49213,-131.36784,-282.72,27.02127,-131.36783,-281.43164,26.48122,-131.36783,-280.9025,25.18833,-131.36783,-281.44254,23.89996,-131.36783,-284.42115,23.51688,-130.53043,-282.7378,22.81127,-130.53041,-285.11249,25.20613,-130.53043,-284.40689,26.88946,-130.53043,-282.71765,27.58082,-130.53041,-281.03431,26.87521,-130.53041,-280.34296,25.18597,-130.53039,-281.04856,23.50263,-130.53041,-284.56067,23.37853,-129.54262,-282.73865,22.61479,-129.5426,-285.30899,25.20696,-129.54262,-284.54523,27.02899,-129.5426,-282.71683,27.7773,-129.5426,-280.89478,27.01356,-129.54259,-280.14649,25.18514,-129.54257,-280.91022,23.36311,-129.54259,-284.5607,23.37853,-124.64286,-282.73868,22.61479,-124.64284,-285.30902,25.20696,-124.64287,-284.54529,27.02899,-124.64286,-282.71686,27.7773,-124.64284,-280.89484,27.01356,-124.64284,-280.14652,25.18514,-124.64283,-280.91025,23.36311,-124.64284});
			return Coordinate_12_297_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 ContainerShipRed 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 ContainerShipRed().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.ContainerShipRed\" 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.ContainerShipRed self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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