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

	/** Create and initialize the X3D model for this object. */
	public final void initialize()
	{
            try { // catch-all
  x3dModel = new X3D().setProfile(X3D.PROFILE_INTERCHANGE).setVersion(X3D.VERSION_3_0)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("ContainerShipGreen.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("Basic Green 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_MODIFIED   ).setContent("20 October 2019"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("20 October 2019"))
    .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_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/Savage/ShipsCivilian/CargoShips/ContainerShipGreen.x3d"))
    .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","http://www.ship-technology.com/projects/contship/specs.html"}).setTitle("Green 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[] {"Green 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[] {56.0})
                .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[] {50.0})
                .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[] {305.0})
                .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[] {16.0})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The vertical distance in meters from the deepest point (keel or other structure) to the waterline of a vehicle at its stated displacement or gross weight."})))
              .setMetadata(new MetadataFloat().setName("grossWeight").setValue(new double[] {45686731.0})
                .setMetadata(new MetadataString().setName("appinfo").setValue(new String[] {"The standard operational weight of the vehicle in kilograms, usable in physics calculations."}))))
            .setMetadata(new MetadataSet().setName("DynamicResponseConstraints")
              .setMetadata(new MetadataFloat().setName("maximumSpeed").setValue(new double[] {16.0})
                .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[] {12.0})
                .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("NavInfo5").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_Group5")
              .addChild(new Group("Group5")
                .addChild(new Transform("dad_A_1")
                  .addChild(new Shape("A_1")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture("CNTSHIPG_TEX").setUrl(new String[] {"textures/CNTSHIPG.jpg","https://www.web3d.org/x3d/content/examples/Savage/ShipsCivilian/CargoShips/textures/CNTSHIPG.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[] {-278.68066,-20.7616,-110.26157,-278.70929,-27.5346,-110.26157,-281.48712,-24.73309,-125.69781,-281.48206,-23.53953,-125.69781,-282.6807,-24.72805,-125.69782,-285.4823,-27.50598,-110.26162,-285.45367,-20.73297,-110.26162,-282.67563,-23.53448,-125.69782,-283.90335,-22.26193,-125.69782,-284.68185,-24.11922,-125.69783,-283.91907,-25.98302,-125.69782,-282.06177,-26.76154,-125.69781,-280.19797,-25.99875,-125.6978,-279.41947,-24.14146,-125.69779,-280.18225,-22.27766,-125.6978,-282.03955,-21.49914,-125.69782})))
                      .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_Box01a")
                  .addChild(new Shape("Box01a")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material1_mat").setAmbientIntensity(0.725).setDiffuseColor(.72549,.72549,.72549).setShininess(0.010).setSpecularColor(.73725,.73725,.73725)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,6,-1,7,8,9,-1,10,8,7,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,3,5,-1,6,5,7,-1,8,5,6,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-423.51599,2.21325,-76.7841,-361.19147,1.68644,-76.7841,-361.41957,-51.75871,-76.7841,-486.84566,-52.28878,-76.7841,-423.51599,2.21326,-76.7841,-486.84566,-52.28878,-76.7841,-486.61532,2.74662,-76.7841,-360.96397,55.52245,-52.86592,-486.61532,2.74662,-52.86592,-486.39004,56.05253,-52.86592,-361.19147,1.68645,-52.86592})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.553,.763,.369,.762,.369,.532,.74,.532,.553,.763,.74,.764,.369,.991,.74,.991,.369,.762}))))))
                .addChild(new Transform("dad_Box02")
                  .addChild(new Shape("Box02")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material2_mat").setAmbientIntensity(0.725).setDiffuseColor(.72549,.72549,.72549).setShininess(0.010).setSpecularColor(.73725,.73725,.73725)))
                    .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,32,19,33,-1,33,34,32,-1,35,36,26,-1,26,37,35,-1,17,38,39,-1,39,12,17,-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,32,36,52,-1,52,53,32,-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("CNTSHIPG_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[] {-270.33548,5.95019,-109.88025,-269.40305,3.39592,-116.52135,-269.41724,.03696,-116.52135,-270.37122,-2.50934,-109.88025,-266.21384,5.93277,-109.88025,-266.24957,-2.52676,-109.88025,-267.18201,.02752,-116.52135,-267.16782,3.38647,-116.52135})))
                      .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.906).setDiffuseColor(.90588,.90588,.90588).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,1,4,5,-1,5,2,1,-1,4,6,7,-1,7,5,4,-1,8,9,10,-1,10,11,8,-1,11,10,12,-1,12,13,11,-1,13,12,14,-1,14,15,13,-1,3,2,10,-1,10,9,3,-1,2,5,12,-1,12,10,2,-1,5,7,14,-1,14,12,5,-1,7,6,15,-1,15,14,7,-1,6,4,13,-1,13,15,6,-1,4,1,11,-1,11,13,4,-1,1,0,8,-1,8,11,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-303.99307,-59.24816,-29.87486,-303.97363,-54.64856,-33.39474,-303.99081,-58.71571,-34.30077,-304.01883,-65.34747,-29.87486,-303.97946,-56.02865,-41.90196,-303.99081,-58.71571,-40.67342,-304.05551,-74.02452,-48.48135,-304.05985,-75.05047,-47.07526,-302.65958,-59.2538,-29.87486,-302.68533,-65.3531,-29.87486,-302.65732,-58.72135,-34.30077,-302.64014,-54.6542,-33.39474,-302.65732,-58.72135,-40.67342,-302.64597,-56.03428,-41.90195,-302.72635,-75.05611,-47.07526,-302.72202,-74.03015,-48.48135}))))))
                .addChild(new Transform("dad_Box39")
                  .addChild(new Shape("Box39")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material5_mat").setAmbientIntensity(0.906).setDiffuseColor(.90588,.90588,.90588).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,1,4,5,-1,5,2,1,-1,4,6,7,-1,7,5,4,-1,8,9,10,-1,10,11,8,-1,11,10,12,-1,12,13,11,-1,13,12,14,-1,14,15,13,-1,3,2,10,-1,10,9,3,-1,2,5,12,-1,12,10,2,-1,5,7,14,-1,14,12,5,-1,7,6,15,-1,15,14,7,-1,6,4,13,-1,13,15,6,-1,4,1,11,-1,11,13,4,-1,1,0,8,-1,8,11,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-317.90509,-59.18937,-29.87486,-317.88565,-54.58978,-33.39474,-317.90283,-58.65692,-34.30077,-317.93088,-65.28867,-29.87486,-317.89148,-55.96986,-41.90196,-317.90283,-58.65692,-40.67342,-317.96753,-73.96573,-48.48135,-317.97186,-74.99168,-47.07526,-316.57159,-59.195,-29.87486,-316.59738,-65.29431,-29.87486,-316.56934,-58.66256,-34.30077,-316.55216,-54.59541,-33.39474,-316.56934,-58.66256,-40.67342,-316.55798,-55.97549,-41.90196,-316.63837,-74.99731,-47.07526,-316.63403,-73.97136,-48.48135}))))))
                .addChild(new Transform("dad_Box40")
                  .addChild(new Shape("Box40")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material6_mat").setAmbientIntensity(0.796).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,33,-1,6,19,20,-1,22,35,9,-1,13,27,18,-1,10,36,4,-1,14,15,7,-1,11,16,37,-1,3,2,4,-1,0,38,21,-1,22,1,35,-1,39,28,30,-1,33,10,4,-1,33,40,34,-1,8,17,24,-1,19,29,7,-1,28,12,29,-1,33,4,40,-1,7,12,14,-1,29,41,30,-1,19,0,30,-1,18,5,13,-1,6,0,19,-1,24,23,32,-1,28,39,18,-1,18,12,28,-1,15,16,8,-1,37,16,15,-1,36,10,27,-1,12,27,10,-1,9,20,7,-1,6,20,9,-1,11,37,14,-1,15,14,37,-1,6,35,1,-1,9,35,6,-1,25,4,1,-1,32,25,42,-1,26,40,4,-1,0,39,30,-1,12,7,29,-1,5,21,3,-1,2,3,21,-1,21,38,2,-1,2,38,0,-1,4,36,13,-1,27,13,36,-1,24,32,42,-1,17,34,31,-1,19,41,29,-1,19,30,41,-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.906).setDiffuseColor(.90588,.90588,.90588).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,1,4,5,-1,5,2,1,-1,4,6,7,-1,7,5,4,-1,8,9,10,-1,10,11,8,-1,11,10,12,-1,12,13,11,-1,13,12,14,-1,14,15,13,-1,3,2,10,-1,10,9,3,-1,2,5,12,-1,12,10,2,-1,5,7,14,-1,14,12,5,-1,7,6,15,-1,15,14,7,-1,6,4,13,-1,13,15,6,-1,4,1,11,-1,11,13,4,-1,1,0,8,-1,8,11,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-303.48035,62.05475,-29.87485,-303.49978,57.45516,-33.39474,-303.4826,61.52231,-34.30077,-303.45459,68.15406,-29.87485,-303.49396,58.83524,-41.90195,-303.4826,61.52231,-40.67342,-303.41791,76.83111,-48.48135,-303.41357,77.85706,-47.07526,-302.14685,62.04911,-29.87485,-302.12109,68.14842,-29.87485,-302.14911,61.51667,-34.30077,-302.16629,57.44952,-33.39474,-302.14911,61.51667,-40.67342,-302.16046,58.82961,-41.90195,-302.08008,77.85143,-47.07526,-302.08441,76.82548,-48.48135}))))))
                .addChild(new Transform("dad_Box42")
                  .addChild(new Shape("Box42")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material8_mat").setAmbientIntensity(0.906).setDiffuseColor(.90588,.90588,.90588).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,1,4,5,-1,5,2,1,-1,4,6,7,-1,7,5,4,-1,8,9,10,-1,10,11,8,-1,11,10,12,-1,12,13,11,-1,13,12,14,-1,14,15,13,-1,3,2,10,-1,10,9,3,-1,2,5,12,-1,12,10,2,-1,5,7,14,-1,14,12,5,-1,7,6,15,-1,15,14,7,-1,6,4,13,-1,13,15,6,-1,4,1,11,-1,11,13,4,-1,1,0,8,-1,8,11,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-317.39242,62.11354,-29.87484,-317.41186,57.51395,-33.39474,-317.39468,61.5811,-34.30077,-317.36667,68.21285,-29.87484,-317.40604,58.89404,-41.90195,-317.39468,61.5811,-40.67342,-317.32999,76.88991,-48.48135,-317.32565,77.91585,-47.07526,-316.05893,62.10791,-29.87485,-316.03317,68.20721,-29.87485,-316.06119,61.57547,-34.30077,-316.07837,57.50832,-33.39474,-316.06119,61.57547,-40.67342,-316.07254,58.8884,-41.90195,-315.99216,77.91022,-47.07526,-315.99649,76.88427,-48.48135}))))))
                .addChild(new Transform("dad_ChamferCyl")
                  .addChild(new Shape("ChamferCyl")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material9_mat").setAmbientIntensity(0.875).setDiffuseColor(.87451,.87451,.87451).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,8,-1,7,8,5,-1,5,8,2,-1,5,2,9,-1,9,2,10,-1,9,10,0,-1,0,10,11,-1,0,11,12,-1,12,11,13,-1,12,13,14,-1,14,13,15,-1,14,15,16,-1,16,15,13,-1,16,13,17,-1,17,13,11,-1,17,11,18,-1,18,11,1,-1,18,1,0,-1,1,19,20,-1,1,20,2,-1,2,20,21,-1,2,21,4,-1,4,21,22,-1,4,22,6,-1,6,22,21,-1,6,21,8,-1,8,21,23,-1,8,23,2,-1,2,23,19,-1,2,19,10,-1,10,19,24,-1,10,24,11,-1,11,24,25,-1,11,25,13,-1,13,25,26,-1,13,26,15,-1,15,26,27,-1,15,27,13,-1,13,27,28,-1,13,28,11,-1,11,28,19,-1,11,19,1,-1})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_126_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.391,.466,.391,.447,.377,.446,.381,.466,.367,.446,.374,.466,.364,.446,.371,.466,.367,.446,.381,.466,.391,.447,.404,.447,.4,.466,.414,.447,.407,.466,.417,.447,.41,.466,.407,.466,.4,.466,.374,.174,.352,.174,.336,.174,.33,.174,.352,.174,.396,.175,.412,.175,.418,.175,.412,.175,.396,.175}))))))
                .addChild(new Transform("dad_Container0")
                  .addChild(new Shape("Container0")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material10_mat").setAmbientIntensity(0.725).setDiffuseColor(.72549,.72549,.72549).setShininess(0.010).setSpecularColor(.73725,.73725,.73725)))
                    .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[] {307.7417,-53.22534,-29.03981,307.74167,-53.22534,-75.7924,308.19733,54.5866,-75.7924,308.19733,54.5866,-29.03981,-246.09374,-50.88468,-75.7924,-246.09374,-50.88468,-29.03981,-245.63811,56.92726,-29.03981,-245.63811,56.92726,-75.7924})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.373,.503,.373,.992,.745,.992,.745,.503,.373,.992,.373,.503,.745,.503,.745,.992}))))))
                .addChild(new Transform("dad_ContainerS")
                  .addChild(new Shape("ContainerS")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material11_mat").setAmbientIntensity(0.725).setDiffuseColor(.72549,.72549,.72549).setShininess(0.010).setSpecularColor(.73725,.73725,.73725)))
                    .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,0,4,2,-1,2,1,0,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-246.09374,-51.00863,-29.03981,-246.09374,-51.00863,-75.7924,307.74167,-53.3493,-75.7924,307.7417,-53.3493,-29.03981,-245.63811,56.80331,-29.03981,308.19733,54.46265,-29.03981,308.19733,54.46265,-75.7924,-245.63811,56.80331,-75.7924})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.004,.541,.004,.997,.37,.997,.37,.541,.37,.541}))))))
                .addChild(new Transform("dad_ContainerT")
                  .addChild(new Shape("ContainerT")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material12_mat").setAmbientIntensity(0.725).setDiffuseColor(.72549,.72549,.72549).setShininess(0.010).setSpecularColor(.73725,.73725,.73725)))
                    .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[] {307.74167,-53.3493,-75.7924,-246.09374,-51.00863,-75.7924,-245.63811,56.80331,-75.7924,308.19733,54.46265,-75.7924})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.358,.503,.012,.503,.012,.994,.358,.994}))))))
                .addChild(new Transform("dad_Cylinder01")
                  .addChild(new Shape("Cylinder01")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material13_mat").setAmbientIntensity(0.796).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[] {470.70666,-1.41943,-47.72508,470.00967,-2.37032,-47.72508,470.70169,-2.59842,-47.72508,469.58383,-1.77902,-47.72508,469.58691,-1.05037,-47.72508,470.01773,-.46269,-47.72508,470.71164,-.24045,-47.72508,471.40366,-.46854,-47.72508,471.8295,-1.05985,-47.72508,471.82642,-1.7885,-47.72508,471.3956,-2.37618,-47.72508,470.00971,-2.37032,-93.79354,470.70172,-2.59842,-93.79354,469.58386,-1.77902,-93.79354,469.58695,-1.05037,-93.79354,470.01776,-.46269,-93.79355,470.71167,-.24045,-93.79355,471.40369,-.46854,-93.79355,471.82953,-1.05984,-93.79355,471.82645,-1.7885,-93.79355,471.39563,-2.37618,-93.79354,470.7067,-1.41943,-93.79355}))))))
                .addChild(new Transform("dad_Cylinder02")
                  .addChild(new Shape("Cylinder02")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material14_mat").setAmbientIntensity(0.796).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[] {470.7066,-1.41944,-65.52947,467.69333,-5.53018,-65.52947,470.68506,-6.51625,-65.52947,465.85263,-2.97395,-65.52947,465.86594,.17605,-65.52947,467.72818,2.71663,-65.52947,470.72815,3.67737,-65.52947,473.71991,2.6913,-65.52947,475.56058,.13508,-65.52947,475.54727,-3.01493,-65.52947,473.68506,-5.55551,-65.52947,467.69333,-5.53018,-68.13261,470.68506,-6.51625,-68.13261,465.85263,-2.97395,-68.13261,465.86594,.17605,-68.13261,467.72818,2.71663,-68.13261,470.72815,3.67737,-68.13261,473.71991,2.6913,-68.13261,475.56058,.13508,-68.13261,475.54727,-3.01493,-68.13261,473.68506,-5.55551,-68.13261}))))))
                .addChild(new Transform("dad_Cylinder04")
                  .addChild(new Shape("Cylinder04")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material15_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[] {-268.21655,8.11269,-146.82652,-268.10367,7.95593,-146.82652,-268.21738,7.91952,-146.82652,-268.03308,8.05222,-146.82652,-268.03259,8.17161,-146.82652,-268.10236,8.26849,-146.82652,-268.21573,8.30587,-146.82652,-268.32944,8.26945,-146.82652,-268.40002,8.17316,-146.82652,-268.40051,8.05378,-146.82652,-268.33075,7.95689,-146.82652,-268.10367,7.95593,-142.47403,-268.21738,7.91952,-142.47403,-268.03308,8.05222,-142.47403,-268.03259,8.17161,-142.47403,-268.10236,8.26849,-142.47403,-268.21573,8.30587,-142.47403,-268.32944,8.26945,-142.47403,-268.40003,8.17316,-142.47403,-268.40051,8.05378,-142.47403,-268.33075,7.95689,-142.47403,-268.21655,8.11269,-142.47403})))
                      .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("material16_mat").setAmbientIntensity(0.533).setDiffuseColor(.52157,.53726,.52549).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,3,9,-1,4,9,10,-1,11,10,12,-1,12,10,13,-1,13,10,14,-1,14,10,15,-1,15,10,9,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-494.53922,60.38769,-29.93053,-424.30286,67.85726,-29.93255,-254.42645,83.29595,-29.93974,314.68115,78.07946,-30.01928,314.01404,-79.76135,-30.01935,-255.11728,-80.16757,-29.93974,-424.85712,-63.29362,-29.93254,-495.02783,-55.23067,-29.93051,-494.81824,2.57865,-29.93052,330.49805,78.01257,-37.7568,329.83096,-79.8282,-37.75688,422.21637,-66.2438,-44.58959,462.27832,-49.16698,-47.4607,499.80176,-1.62473,-49.96368,462.68152,46.23298,-47.46061,422.76535,63.64779,-44.5895}))))))
                .addChild(new Transform("dad_Line10")
                  .addChild(new Shape("Line10")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material17_mat").setAmbientIntensity(0.969).setDiffuseColor(.96863,.96863,.96863).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(getIndexedFaceSet_11_184_coordIndex()).setTexCoordIndex(getIndexedFaceSet_11_184_texCoordIndex())
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_184_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_Name_pt")
                  .addChild(new Shape("Name_pt")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material23_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804).setTransparency(1)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,1,0,4,-1,4,5,1,-1,5,4,6,-1,5,6,7,-1,5,7,8,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {456.41974,-30.60422,-32.72324,459.56903,-40.58257,-40.64533,463.78858,-35.08207,-40.6453,463.78873,-26.35157,-32.72324,422.37464,-49.82811,-32.72324,422.26908,-60.78736,-40.64532,397.24314,-57.97481,-32.72324,397.24317,-65.94231,-39.86333,397.24314,-66.66961,-40.64531}))))))
                .addChild(new Transform("dad_Name_sb")
                  .addChild(new Shape("Name_sb")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material24_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804).setTransparency(1)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,1,4,5,-1,5,2,1,-1,6,0,3,-1,3,7,6,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {422.78485,47.23149,-32.72324,456.66632,27.72054,-32.72324,459.89983,37.67192,-40.64532,422.7719,58.19124,-40.64533,463.78869,23.63605,-32.72325,463.78857,32.44706,-40.64533,397.24313,55.72557,-32.72324,397.24316,64.44077,-40.64532}))))))
                .addChild(new Transform("dad_Name_sn")
                  .addChild(new Shape("Name_sn")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material25_mat").setAmbientIntensity(0.588).setDiffuseColor(.58823,.58823,.58823).setShininess(0.100).setSpecularColor(.89804,.89804,.89804).setTransparency(1)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,3,2,1,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-495.96185,55.43469,-30.12091,-496.40863,-50.2776,-30.12088,-495.96185,55.43469,-15.10972,-496.40863,-50.2776,-15.10969}))))))
                .addChild(new Transform("dad_Object02")
                  .addChild(new Shape("Object02")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material26_mat").setAmbientIntensity(0.725).setDiffuseColor(.72549,.72549,.72549).setShininess(0.010).setSpecularColor(.73725,.73725,.73725)))
                    .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.32324,-75.07251,-36.42355,-296.3237,-75.18181,-36.42355,-292.7486,-75.19905,-39.71803,-292.74814,-75.08975,-39.71803,-323.51056,-72.05034,-36.42355,-324.66251,-70.98588,-39.71803,-324.69669,-79.07574,-39.71803,-323.5358,-78.01945,-36.42355,-304.11017,-73.06287,-36.42355,-313.98102,-71.84166,-36.42355,-314.00739,-78.07967,-36.42355,-304.12744,-77.14688,-36.42355,-314.83456,-79.12125,-39.71803,-300.45547,-78.65632,-39.71803,-304.17123,-77.32645,-41.47841,-314.00403,-77.2849,-41.47841,-313.98572,-72.94902,-41.47841,-304.15292,-72.99057,-41.47841,-314.80023,-70.99697,-39.71803,-300.42532,-71.5201,-39.71803})))
                      .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_Object03")
                  .addChild(new Shape("Object03")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material27_mat").setAmbientIntensity(0.725).setDiffuseColor(.72549,.72549,.72549).setShininess(0.010).setSpecularColor(.73725,.73725,.73725)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(new int[] {0,1,2,-1,3,0,2,-1,4,3,2,-1,5,4,2,-1,6,7,8,-1,9,6,8,-1,10,9,8,-1,11,10,8,-1}).setTexCoordIndex(new int[] {0,1,2,-1,3,0,2,-1,4,3,2,-1,5,4,2,-1,6,7,8,-1,9,6,8,-1,10,9,8,-1,11,10,8,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-361.41959,-51.7587,-76.78409,-361.64772,2.21652,-76.7841,-361.64772,2.21652,-52.86593,-361.41959,-51.7587,-30.03152,-361.87523,56.05253,-30.03151,-361.87523,56.05252,-52.86592,-487.30132,55.52245,-30.03151,-487.30132,55.52245,-52.86592,-487.07603,2.21654,-52.86592,-486.84567,-52.28877,-30.03152,-486.84567,-52.28877,-76.7841,-487.07603,2.21654,-76.7841})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.371,.993,.558,.993,.558,.743,.371,.505,.744,.505,.744,.743,.744,.505,.744,.743,.559,.743,.371,.505,.371,.993,.559,.993}))))))
                .addChild(new Transform("dad_Object04")
                  .addChild(new Shape("Object04")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material28_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.41351,2.03832,-113.94851,-318.43884,-3.9587,-113.94851,-323.12064,-3.13545,-113.94851,-326.54114,-.92589,-113.94851,-327.78384,2.07792,-113.94851,-326.51578,5.07113,-113.94851,-323.07672,7.25169,-113.94851,-318.38815,8.03534,-113.94851,-313.70639,7.21209,-113.9485,-310.28589,5.00253,-113.9485,-309.04315,1.99872,-113.94851,-310.31122,-.99448,-113.94851,-313.75027,-3.17505,-113.94851}))))))
                .addChild(new Transform("dad_Object05")
                  .addChild(new Shape("Object05")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material29_mat").setAmbientIntensity(0.796).setDiffuseColor(.79608,.79608,.79608).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[] {-270.66831,56.36109,-89.48172,-270.74118,39.12051,-89.48172,-255.0378,39.05414,-89.48173,-254.96494,56.29472,-89.48173,-255.38443,-42.96616,-89.48172,-271.08779,-42.8998,-89.48171,-271.16094,-60.20875,-89.48171,-255.45759,-60.27511,-89.48172,-248.8976,51.65408,-46.04825,-248.8976,51.65408,-43.95537,-249.35075,-55.57336,-43.95537,-249.35075,-55.57336,-46.04825,-279.44254,51.78317,-46.04825,-279.44254,51.78317,-43.95537,-279.89568,-55.44428,-43.95537,-279.89568,-55.44427,-46.04826,-251.89183,39.04085,-43.95537,-252.23844,-42.97945,-43.95537,-252.23847,-42.97945,-46.04825,-251.89186,39.04085,-46.04826,-252.63248,39.04399,-43.95537,-279.49591,39.15751,-43.95537,-253.08967,-42.97585,-46.04825,-279.84252,-42.86279,-46.04826,-252.74304,39.04445,-46.04826,-279.49591,39.15751,-46.04825,-252.97909,-42.97633,-43.95537,-279.84252,-42.86279,-43.95537}))))))
                .addChild(new Transform("dad_Object09")
                  .addChild(new Shape("Object09")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material30_mat").setAmbientIntensity(0.725).setDiffuseColor(.72549,.72549,.72549).setShininess(0.010).setSpecularColor(.73725,.73725,.73725)))
                    .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[] {-353.24434,52.26216,-30.12744,-353.24434,52.26216,-58.77883,-353.70068,-55.71845,-58.77883,-353.70068,-55.71845,-30.12743})))
                      .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("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material31_mat").setAmbientIntensity(0.725).setDiffuseColor(.72549,.72549,.72549).setShininess(0.010).setSpecularColor(.73725,.73725,.73725)))
                    .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.32324,74.32259,-36.42355,-296.3237,74.21329,-36.42355,-292.7486,74.19604,-39.71803,-292.74814,74.30534,-39.71803,-323.51056,77.34476,-36.42355,-324.66251,78.40922,-39.71803,-324.69669,70.31936,-39.71803,-323.5358,71.37565,-36.42355,-304.11017,76.33222,-36.42355,-313.98102,77.55344,-36.42355,-314.00739,71.31543,-36.42355,-304.12744,72.24822,-36.42355,-314.83456,70.27385,-39.71803,-300.45547,70.73878,-39.71803,-304.17123,72.06864,-41.47841,-314.00403,72.1102,-41.47841,-313.98572,76.44607,-41.47841,-304.15292,76.40453,-41.47841,-314.80023,78.39812,-39.71803,-300.42532,77.875,-39.71803})))
                      .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("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material32_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[] {-278.68066,30.2047,-110.2616,-278.70929,23.43169,-110.2616,-281.48724,26.23319,-125.69782,-281.48218,27.42676,-125.69782,-282.68079,26.23824,-125.69782,-285.4823,23.46031,-110.2616,-285.45367,30.23333,-110.2616,-282.67575,27.43181,-125.69782,-283.90347,28.70436,-125.69782,-284.68198,26.84707,-125.69782,-283.91919,24.98328,-125.69782,-282.06189,24.20475,-125.69782,-280.19809,24.96755,-125.69782,-279.41959,26.82483,-125.69782,-280.18237,28.68864,-125.69782,-282.03964,29.46716,-125.69782})))
                      .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_Sides")
                  .addChild(new Shape("Sides")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material33_mat").setAmbientIntensity(0.725).setDiffuseColor(.72549,.72549,.72549).setShininess(0.010).setSpecularColor(.73725,.73725,.73725)))
                    .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,11,8,12,-1,9,8,11,-1}).setTexCoordIndex(new int[] {0,1,2,-1,2,3,0,-1,4,5,1,-1,1,6,4,-1,7,8,9,-1,10,7,4,-1,8,7,10,-1})
                      .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-361.41959,-51.7587,-30.03152,-486.84567,-52.28877,-30.03151,-486.84567,-52.28877,-76.78409,-361.41959,-51.75869,-76.7841,-361.87523,56.05253,-52.86593,-487.30129,55.52245,-52.86592,-487.30129,55.52245,-30.03151,-361.87523,56.05253,-30.03151,-487.07603,2.21654,-52.86592,-423.97444,2.21653,-76.7841,-487.07603,2.21654,-76.7841,-361.64772,2.21652,-76.7841,-361.64772,2.21652,-52.86593})))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.373,.517,.745,.517,.745,.984,.373,.984,.373,.745,.745,.745,.373,.517,.745,.745,.558,.984,.745,.984,.373,.984}))))))
                .addChild(new Transform("dad_Sphere01")
                  .addChild(new Shape("Sphere01")
                    .setAppearance(new Appearance()
                      .setMaterial(new Material("material34_mat").setAmbientIntensity(0.796).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_269_point())))))
                .addChild(new Transform("dad_SuperStruc")
                  .addChild(new Shape("SuperStruc")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material35_mat").setAmbientIntensity(0.725).setDiffuseColor(.72549,.72549,.72549).setShininess(0.010).setSpecularColor(.73725,.73725,.73725)))
                    .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,40,37,-1,41,42,43,-1,43,44,41,-1,45,3,46,-1,46,47,45,-1,41,48,49,-1,41,49,50,-1,42,41,50,-1,51,52,44,-1,44,43,51,-1,53,54,55,-1,55,56,53,-1})
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_276_point()))
                      .setTexCoord(new TextureCoordinate().setPoint(new MFVec2f(new double[] {.047,.46,.002,.463,.002,.412,.047,.412,.059,.46,.059,.46,.251,.46,.251,.46,.251,.5,.059,.5,.047,.161,.263,.161,.263,.221,.047,.221,.263,.46,.263,.412,.309,.412,.309,.463,.263,.229,.047,.229,.047,.239,.047,.283,.013,.283,.047,.162,.047,.221,.014,.221,.013,.162,.014,.229,.263,.221,.263,.162,.297,.162,.297,.283,.263,.283,.263,.239,.263,.229,.296,.229,.296,.221,.263,.46,.309,.463,.309,.412,.263,.412,.251,.459,.258,.283,.18,.283,.059,.459,.047,.46,.002,.412,.002,.463,.251,.46,.263,.46,.263,.283,.047,.283,.047,.46,.251,.5,.251,.46,.059,.46,.059,.5}))))))
                .addChild(new Transform("dad_SupStructS")
                  .addChild(new Shape("SupStructS")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_TEX"))
                      .setMaterial(new Material("material36_mat").setAmbientIntensity(0.725).setDiffuseColor(.72549,.72549,.72549).setShininess(0.010).setSpecularColor(.73725,.73725,.73725)))
                    .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,44,43,-1,43,69,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_284_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.796).setDiffuseColor(.79608,.79608,.79608).setShininess(0.100).setSpecularColor(.89804,.89804,.89804)))
                    .setGeometry(new IndexedFaceSet().setCreaseAngle(1.178).setCoordIndex(getIndexedFaceSet_11_291_coordIndex())
                      .setCoord(new Coordinate().setPoint(getCoordinate_12_291_point())))))
                .addChild(new Transform("dad_TowSide1")
                  .addChild(new Shape("TowSide1")
                    .setAppearance(new Appearance()
                      .setTexture(new ImageTexture().setUSE("CNTSHIPG_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[] {-281.48712,-24.73309,-125.69781,-278.70929,-27.5346,-110.26157,-285.4823,-27.50598,-110.26162,-282.6807,-24.72805,-125.69782,-281.48206,-23.53953,-125.69781,-282.67563,-23.53448,-125.69782,-285.45367,-20.73297,-110.26162,-278.68066,-20.7616,-110.26157,-281.48713,26.2332,-125.69782,-278.7093,23.43169,-110.26158,-285.48231,23.46031,-110.26163,-282.6807,26.23824,-125.69783,-281.4821,27.42677,-125.69782,-282.67564,27.43181,-125.69783,-285.45368,30.23333,-110.26163,-278.68067,30.2047,-110.26158})))
                      .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("Green Container Ship Starboard").setPosition(0.0,2.0,305.0))
    .addChild(new Viewpoint("VP2").setDescription("Green Container Ship Front").setOrientation(0.0,1.0,0.0,1.571).setPosition(305.0,2.0,0.0))
    .addChild(new Viewpoint("VP3").setDescription("Green Container Ship Port").setOrientation(0.0,1.0,0.0,3.142).setPosition(0.0,2.0,-305.0))
    .addChild(new Viewpoint("VP4").setDescription("Green Container Ship Back").setOrientation(0.0,1.0,0.0,-1.571).setPosition(-305.0,2.0,0.0))
    .addChild(new Viewpoint("VP5").setDescription("Green Container Ship Top").setOrientation(1.0,0.0,0.0,-1.571).setPosition(0.0,305.0,0.0))
    .addChild(new Viewpoint("VP6").setDescription("Green Container Ship Bottom").setOrientation(1.0,0.0,0.0,1.571).setPosition(0.0,-305.0,0.0))
    .addChild(new Viewpoint("VP7").setDescription("Green 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_184_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_184_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_291_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[] {-255.36554,-38.58239,-101.81851,-255.45757,-60.36117,-101.4903,-271.16095,-60.2948,-101.49029,-271.06891,-38.51576,-101.49029,-255.40207,34.49942,-101.49029,-270.76007,34.56432,-101.49029,-270.6683,56.275,-101.49029,-254.96493,56.20864,-101.49029,-255.05668,34.49797,-101.45758,-270.74118,39.03443,-100.81471,-270.76007,34.56433,-100.81471,-255.38443,-43.05222,-100.81471,-255.36557,-38.58857,-100.82143,-248.74671,-38.61009,-110.22596,-301.83377,-38.38575,-110.22597,-301.52493,34.69434,-110.22597,-248.43787,34.46999,-110.22596,-252.22235,-38.5954,-100.81471,-252.2197,-38.59541,-100.82906,-301.50604,39.16445,-100.81471,-301.52493,34.69434,-100.81471,-301.52493,34.69434,-100.44521,-252.63246,38.9579,-43.95536,-251.89197,38.95478,-29.93974,-251.89181,38.95478,-43.95536,-271.0878,-42.98587,-100.81471,-271.06894,-38.52003,-100.81916,-255.03779,38.96807,-100.81471,-255.05668,34.49797,-100.81471,-252.23845,-43.06553,-43.95536,-252.2386,-43.06552,-29.93974,-252.9791,-43.06239,-43.95536,-301.52493,34.69434,-100.81471,-270.74118,39.03443,-100.81471,-270.76007,34.56433,-100.81471,-301.85266,-42.85585,-100.81471,-301.83377,-38.38575,-100.81471,-271.0878,-42.98587,-100.81472,-252.2386,-43.06552,-100.81471,-255.38443,-43.05222,-100.81472,-286.95175,-42.91883,-58.7788,-279.84253,-42.94886,-58.77881,-279.89728,-55.90318,-58.77881,-301.85266,-42.85585,-58.77881,-353.70065,-55.59128,-58.77881,-301.84494,-41.02743,-58.77881,-353.24434,52.38932,-58.77881,-301.71862,-11.13528,-58.7788,-301.50604,39.16445,-58.7788,-279.44095,52.07742,-58.7788,-279.49591,39.07144,-58.7788,-286.60513,39.10148,-58.7788,-301.83377,-38.38575,-100.44522,-301.52493,34.69434,-100.44522});
			return Coordinate_12_80_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #107, 129 total numbers made up of 43 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[] {-267.8158,.93893,-142.61041,-267.48196,.88784,-140.15646,-267.56921,-9.62686,-141.72228,-269.03455,-9.62067,-141.72228,-268.6817,.94259,-140.10658,-268.6817,.94259,-142.61041,-255.77762,.83341,-142.61041,-267.80945,2.43875,-142.61041,-267.46231,2.47708,-140.15909,-256.90494,2.37679,-141.72228,-279.58243,2.47263,-141.72227,-268.67535,2.44241,-140.15193,-268.67535,2.44241,-142.61041,-280.72281,.93883,-142.61041,-269.00717,14.19101,-142.61041,-267.39533,14.1842,-142.61041,-267.47336,13.05064,-141.72228,-268.67535,2.44241,-140.10663,-269.11151,1.69433,-142.61041,-267.37964,1.68701,-142.61041,-255.7708,2.44527,-142.61041,-269.11261,-10.75423,-142.61041,-267.37964,1.68701,-140.17113,-267.80944,2.43875,-116.33774,-267.80945,2.43875,-140.107,-267.8158,.93893,-140.107,-267.81579,.93893,-116.33774,-280.716,2.55069,-142.61041,-269.11151,1.69433,-143.3472,-267.80945,2.43875,-143.3472,-267.8158,.93893,-143.3472,-268.67538,2.44241,-116.33774,-267.37966,1.68701,-116.33773,-269.11151,1.69433,-140.17075,-269.11151,1.69433,-116.33774,-256.91113,.91147,-141.72228,-279.58862,1.00731,-141.72227,-268.93869,13.05683,-141.72228,-267.50073,-10.76104,-142.61041,-268.6817,.94259,-142.61041,-268.6817,.94259,-116.33774,-267.37964,1.68701,-143.3472,-267.37964,1.68701,-140.17113});
			return Coordinate_12_107_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #126, 108 total numbers made up of 36 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f getCoordinate_12_126_point()
		{
			MFVec3f Coordinate_12_126_point = new MFVec3f(new double[] {-318.43884,-3.9587,-113.94851,-318.44852,-6.24575,-110.31661,-324.91577,-5.10854,-110.3166,-323.12064,-3.13545,-113.94851,-329.64072,-2.05634,-110.31661,-326.54114,-.92589,-113.94851,-331.35736,2.09303,-110.31661,-327.78384,2.07792,-113.94851,-329.60571,6.22773,-110.31661,-326.51578,5.07113,-113.94851,-324.85513,9.23989,-110.3166,-323.07672,7.25169,-113.94851,-318.37851,10.3224,-110.3166,-318.38815,8.03534,-113.94851,-311.91125,9.18519,-110.3166,-313.70639,7.21209,-113.9485,-307.18628,6.13298,-110.3166,-310.28589,5.00253,-113.9485,-305.46963,1.98361,-110.3166,-309.04315,1.99872,-113.94851,-307.22128,-2.15109,-110.3166,-310.31122,-.99448,-113.94851,-311.97189,-5.16325,-110.3166,-313.75027,-3.17505,-113.94851,-326.63272,-11.51307,-59.05645,-337.23898,-9.64804,-59.05645,-344.98795,-4.64243,-59.05644,-347.80322,2.16253,-59.05644,-344.93051,8.94345,-59.05644,-337.13953,13.88339,-59.05645,-326.51785,15.65869,-59.05644,-315.91159,13.79367,-59.05644,-308.16266,8.78806,-59.05645,-305.34735,1.9831,-59.05645,-308.22006,-4.79782,-59.05645,-316.01105,-9.73776,-59.05645});
			return Coordinate_12_126_point;
		}
		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=11, element #184, 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_184_coordIndex()
		{
			MFInt32 IndexedFaceSet_11_184_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_11_184_coordIndex_1()));
			return IndexedFaceSet_11_184_coordIndex;
		}
		/** Large attribute array: IndexedFaceSet texCoordIndex field, scene-graph level=11, element #184, 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_184_texCoordIndex()
		{
			MFInt32 IndexedFaceSet_11_184_texCoordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_11_184_texCoordIndex_1()));
			return IndexedFaceSet_11_184_texCoordIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #184, 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_184_point()
		{
			MFVec3f Coordinate_12_184_point = new MFVec3f(new double[] {495.37714,-15.68431,16.29482,495.34049,-1.65907,8.26968,503.70447,-1.64121,17.07744,495.33719,-1.60585,31.40366,495.40522,-12.4483,27.74665,499.87601,-1.62503,27.50791,-495.01383,-50.2776,-15.10967,-494.63978,-26.94014,-5.99956,-494.81822,2.57865,-29.93053,-494.33078,2.57659,-4.76466,-495.02784,-55.23068,-29.93052,-434.68869,2.32454,17.05579,-464.72467,2.45148,5.3852,-424.29825,-29.7973,15.98115,-424.37268,-1.13749,21.7223,-424.35824,2.28089,33.05713,-436.14334,2.33069,33.33196,-424.37198,-.97332,32.6346,-424.63517,-58.37217,-14.54202,-424.8571,-63.29362,-29.93255,-255.02694,-75.67982,-4.83,-255.11729,-80.16758,-29.93975,314.0643,-64.7337,-4.98987,314.01403,-79.76135,-30.01936,-424.5643,-57.8037,-5.05004,-255.0371,-72.61095,4.00578,313.8533,-61.84531,-.26186,-254.99329,-58.62853,14.45006,313.96854,-36.37237,15.57457,-254.90512,-29.17848,28.50074,313.99305,-28.41977,28.2118,-254.79017,1.56427,39.15131,314.12088,-.32556,35.80664,-424.37228,-1.04476,28.52092,481.78873,-24.34373,15.71344,481.94775,-1.54926,3.11278,481.83011,-20.81569,28.15869,481.92041,-1.54915,34.75343,447.45441,-25.41189,28.16126,447.61091,-1.40416,34.97022,447.49744,-28.16041,15.85119,447.57095,-11.51386,1.16091,447.88791,-14.13287,-4.91412,478.8526,-1.53618,-4.90886,422.50192,-24.49291,-4.91839,422.52597,-18.80264,-.26107,422.48724,-27.9648,15.8467,-464.84928,-45.78618,-5.77404,-464.78669,-53.82377,-14.98308,422.48584,-28.29897,28.15887,422.59995,-1.29845,35.14217,422.41067,-46.08761,-30.01936,422.21645,-66.24379,-44.5896,329.83105,-79.82819,-37.75689,-435.55411,2.32819,28.60627,489.14285,-1.57967,-30.52861,455.56051,-27.88178,-30.56183,499.80184,-1.62472,-49.96368,462.2784,-49.16697,-47.46072,-464.85993,-58.71769,-29.93138,495.49622,12.47177,16.29492,495.49677,9.23564,27.74674,-494.39026,32.0949,-5.99959,-494.56705,55.43467,-15.10969,-494.53922,60.38771,-29.93054,-424.0271,34.35742,15.98113,-424.34378,5.69926,21.72228,-424.34448,5.5351,32.63459,-254.37403,78.80763,-4.82999,-424.30284,67.85728,-29.93256,-424.1225,62.93412,-14.54203,-254.42645,83.29598,-29.93975,314.6044,63.05189,-4.9898,314.68112,78.07946,-30.01929,-254.41014,75.73893,4.00578,-424.05646,62.36506,-5.05006,314.36896,60.16537,-.26179,314.26892,34.69238,15.57464,-254.48451,61.75664,14.45006,314.2262,26.73984,28.21187,-254.64526,32.3069,28.50075,-424.34418,5.60654,28.52091,481.98139,21.24573,15.71354,481.99305,17.71747,28.15879,447.65732,22.60406,28.16134,447.7236,25.35211,15.85128,447.6564,8.70552,1.161,447.99548,11.32177,-4.91403,422.67392,16.20574,-.26099,422.69797,21.896,-4.9183,422.71265,25.3679,15.84679,-464.44153,50.68847,-5.77406,-464.31104,58.72524,-14.9831,422.71405,25.70207,28.15896,422.78924,43.4907,-30.01927,330.49816,78.01257,-37.75681,422.76549,63.6478,-44.58951,455.78402,25.00535,-30.56174,462.6816,46.23299,-47.46062,-464.34294,63.61961,-29.9314});
			return Coordinate_12_184_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #269, 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_269_point()
		{
			MFVec3f Coordinate_12_269_point = new MFVec3f(new double[] {-262.94247,1.7182,-143.26538,-261.79523,1.71336,-143.63815,-262.01148,2.38862,-143.63815,-262.58334,2.8078,-143.63815,-263.29239,2.8108,-143.63815,-263.86777,2.39646,-143.63815,-264.08972,1.72305,-143.63815,-263.87347,1.04779,-143.63815,-263.30161,.62861,-143.63815,-262.59256,.62561,-143.63815,-262.01718,1.03995,-143.63815,-261.08618,1.71036,-144.61406,-261.4361,2.80295,-144.61406,-262.36139,3.48121,-144.61406,-263.50864,3.48606,-144.61406,-264.43964,2.81565,-144.61406,-264.79877,1.72605,-144.61406,-264.44885,.63345,-144.61406,-263.52356,-.0448,-144.61406,-262.37631,-.04965,-144.61406,-261.44531,.62076,-144.61406,-261.08618,1.71036,-145.82036,-261.4361,2.80295,-145.82036,-262.36139,3.48121,-145.82036,-263.50864,3.48606,-145.82036,-264.43964,2.81565,-145.82036,-264.79877,1.72605,-145.82036,-264.44885,.63345,-145.82036,-263.52356,-.0448,-145.82036,-262.37631,-.04965,-145.82036,-261.44531,.62076,-145.82036,-261.79523,1.71336,-146.79628,-262.01148,2.38862,-146.79628,-262.58334,2.8078,-146.79628,-263.29239,2.8108,-146.79628,-263.86777,2.39646,-146.79628,-264.08972,1.72305,-146.79628,-263.87347,1.04779,-146.79628,-263.30161,.62861,-146.79628,-262.59256,.62561,-146.79628,-262.01718,1.03995,-146.79628,-262.94247,1.7182,-147.16904});
			return Coordinate_12_269_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #276, 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_276_point()
		{
			MFVec3f Coordinate_12_276_point = new MFVec3f(new double[] {-255.0378,38.96808,-100.81471,-254.96492,56.20865,-101.49029,-254.96492,56.20865,-89.48173,-255.0378,38.96808,-89.48173,-251.91086,34.48468,-100.82906,-251.9135,34.4847,-100.8147,-252.22235,-38.59542,-100.81471,-252.21971,-38.59543,-100.82906,-248.74672,-38.6101,-110.22596,-248.43787,34.47,-110.22596,-251.89197,38.95479,-29.93974,-252.2386,-43.06553,-29.93974,-252.23845,-43.06553,-43.95536,-251.89182,38.95479,-43.95536,-255.38443,-43.05224,-100.81471,-255.38444,-43.05224,-89.48173,-255.45757,-60.36119,-89.48173,-255.45759,-60.36118,-101.49029,-252.23849,-43.06553,-46.04826,-252.2386,-43.06553,-100.81471,-251.89197,38.95479,-100.8147,-251.89187,38.95479,-46.04824,-279.49591,39.07146,-48.40066,-279.49591,39.07146,-58.7788,-279.44095,52.07745,-58.7788,-279.49591,39.07146,-46.04826,-279.49591,39.07146,-30.1274,-279.49591,39.07146,-43.95536,-279.44254,51.69712,-43.95536,-279.44092,52.07745,-30.1274,-279.44254,51.69712,-46.04826,-279.84252,-42.94888,-43.95536,-279.84252,-42.94888,-30.1274,-279.89727,-55.90319,-30.1274,-279.89727,-55.90319,-58.7788,-279.84252,-42.94888,-58.7788,-279.84252,-42.94888,-48.40068,-279.84252,-42.94888,-46.04826,-279.89568,-55.53035,-46.04826,-279.89571,-55.53035,-43.95536,-271.08779,-42.98586,-100.81472,-271.16094,-60.29482,-101.4903,-271.16094,-60.29482,-89.48173,-271.08779,-42.98586,-89.48173,-301.83376,-38.38574,-100.44522,-301.84493,-41.02743,-58.77881,-301.71862,-11.13527,-58.77881,-301.52493,34.69435,-100.44522,-270.74118,39.03444,-100.81471,-270.74118,39.03444,-89.48172,-270.66831,56.27501,-89.48172,-270.66831,56.27501,-101.4903,-301.83376,-38.38574,-100.81471,-301.85265,-42.85584,-100.81471,-301.85265,-42.85584,-58.77881,-301.50604,39.16445,-58.77881,-301.50604,39.16445,-100.81471,-301.83376,-38.38574,-110.22597,-301.52493,34.69435,-100.81471,-301.5249,34.69435,-110.22596});
			return Coordinate_12_276_point;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #284, 210 total numbers made up of 70 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_284_point()
		{
			MFVec3f Coordinate_12_284_point = new MFVec3f(new double[] {-255.45757,-60.36117,-89.48173,-271.16094,-60.29482,-89.48172,-271.16094,-60.29482,-101.49029,-255.45757,-60.36117,-101.4903,-254.96492,56.20864,-101.49029,-270.66831,56.27501,-101.49029,-270.66831,56.27501,-89.48172,-254.96492,56.20864,-89.48172,-251.91086,34.48467,-100.82906,-255.05669,34.49797,-101.45758,-255.05669,34.49797,-100.81471,-251.9135,34.48468,-100.81471,-252.21969,-38.59542,-100.82906,-255.36557,-38.58857,-100.82143,-255.36554,-38.58239,-101.81851,-248.7467,-38.61009,-110.22596,-270.76007,34.56433,-101.49029,-301.52493,34.69435,-110.22597,-301.52493,34.69435,-100.81471,-270.76007,34.56433,-100.81471,-248.43787,34.47,-110.22596,-255.40207,34.49943,-101.49029,-301.83376,-38.38574,-100.81471,-301.83376,-38.38574,-110.22597,-271.0689,-38.51576,-101.49029,-271.06894,-38.52003,-100.81916,-252.23858,-43.06553,-100.81471,-252.23848,-43.06551,-46.04826,-253.08967,-43.06193,-46.04826,-255.38443,-43.05222,-89.48173,-255.38443,-43.05222,-100.81471,-301.50604,39.16445,-100.81471,-301.50604,39.16445,-58.7788,-286.60513,39.10148,-58.7788,-270.74118,39.03444,-100.81471,-270.74118,39.03444,-89.48172,-279.49591,39.07144,-30.12741,-251.89197,38.95478,-29.93974,-252.63247,38.95791,-43.95536,-279.49588,39.07144,-43.95536,-279.84252,-42.94886,-46.04826,-279.84252,-42.94886,-48.40068,-271.08779,-42.98586,-89.48172,-251.89197,38.95478,-100.81471,-255.0378,38.96807,-100.81471,-255.0378,38.96807,-89.48172,-252.74305,38.95838,-46.04826,-251.89187,38.95479,-46.04826,-279.49591,39.07144,-48.40066,-279.49591,39.07144,-46.04826,-279.84252,-42.94886,-58.7788,-286.95175,-42.91883,-58.7788,-279.49591,39.07144,-58.7788,-279.84252,-42.94886,-30.1274,-279.84252,-42.94886,-43.95536,-252.97909,-43.06239,-43.95536,-252.2386,-43.06553,-29.93974,-301.85265,-42.85584,-100.81471,-271.08779,-42.98586,-100.81471,-301.85265,-42.85584,-58.7788,-353.70067,-55.59127,-30.1274,-353.70067,-55.59127,-58.7788,-279.89727,-55.90318,-58.7788,-279.89727,-55.90318,-30.1274,-353.24435,52.38933,-58.7788,-353.24435,52.38933,-30.1274,-279.44092,52.07743,-30.12741,-279.44092,52.07743,-58.7788,-255.0567,34.49797,-100.81471,-251.91352,34.48468,-100.81471});
			return Coordinate_12_284_point;
		}
		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=11, element #291, 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_291_coordIndex()
		{
			MFInt32 IndexedFaceSet_11_291_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_11_291_coordIndex_1()));
			return IndexedFaceSet_11_291_coordIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=12, element #291, 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_291_point()
		{
			MFVec3f Coordinate_12_291_point = new MFVec3f(new double[] {-282.0506,-24.13034,-133.32361,-282.05487,-25.13726,-133.12332,-282.76563,-24.83933,-133.12332,-283.05753,-24.12608,-133.12332,-282.75958,-23.41533,-133.12332,-282.04636,-23.12342,-133.12332,-281.3356,-23.42135,-133.12332,-281.04367,-24.13459,-133.12332,-281.34161,-24.84535,-133.12332,-283.37177,-25.44038,-132.55295,-282.05847,-25.99088,-132.55295,-283.91116,-24.12248,-132.55295,-283.36066,-22.80918,-132.55295,-282.04276,-22.26979,-132.55293,-280.72943,-22.8203,-132.55293,-280.19006,-24.1382,-132.55293,-280.74057,-25.4515,-132.55293,-283.77679,-25.84199,-131.69932,-282.06088,-26.56125,-131.69931,-284.48154,-24.12007,-131.69932,-283.76227,-22.40416,-131.69931,-282.04034,-21.69942,-131.69931,-280.32443,-22.41868,-131.6993,-279.61969,-24.14061,-131.6993,-280.33896,-25.85652,-131.6993,-283.91904,-25.98302,-130.6924,-282.06174,-26.76154,-130.69238,-284.68182,-24.11922,-130.6924,-283.90329,-22.26193,-130.6924,-282.03949,-21.49913,-130.69238,-280.18222,-22.27766,-130.69237,-279.4194,-24.14146,-130.69235,-280.19794,-25.99875,-130.69237,-283.91907,-25.98302,-125.69783,-282.06177,-26.76154,-125.69782,-284.68185,-24.11922,-125.69784,-283.90335,-22.26193,-125.69783,-282.03952,-21.49913,-125.69782,-280.18225,-22.27766,-125.6978,-279.41946,-24.14146,-125.6978,-280.19797,-25.99875,-125.6978,-282.0506,26.83596,-133.32361,-282.05487,25.82904,-133.12332,-282.76562,26.12697,-133.12332,-283.05752,26.84022,-133.12332,-282.75961,27.55097,-133.12332,-282.04636,27.84288,-133.1233,-281.3356,27.54495,-133.12332,-281.0437,26.8317,-133.12332,-281.34161,26.12095,-133.12332,-283.37179,25.52591,-132.55295,-282.05847,24.97542,-132.55295,-283.91116,26.84382,-132.55295,-283.36066,28.15712,-132.55295,-282.04275,28.6965,-132.55293,-280.72946,28.146,-132.55293,-280.19006,26.8281,-132.55293,-280.74057,25.5148,-132.55293,-283.77679,25.12431,-131.69932,-282.06091,24.40504,-131.69931,-284.48154,26.84623,-131.69932,-283.76227,28.56214,-131.69931,-282.04034,29.26687,-131.69931,-280.32443,28.54761,-131.69929,-279.61972,26.82568,-131.69929,-280.33899,25.10978,-131.69929,-283.91904,24.98327,-130.69238,-282.06174,24.20475,-130.69238,-284.68182,26.84708,-130.6924,-283.90332,28.70437,-130.69238,-282.03952,29.46716,-130.69238,-280.18222,28.68864,-130.69237,-279.41943,26.82484,-130.69235,-280.19797,24.96755,-130.69237,-283.91907,24.98327,-125.69783,-282.0618,24.20476,-125.69781,-284.68188,26.84708,-125.69784,-283.90335,28.70437,-125.69783,-282.03955,29.46716,-125.69781,-280.18225,28.68864,-125.6978,-279.41946,26.82484,-125.6978,-280.198,24.96755,-125.6978});
			return Coordinate_12_291_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 ContainerShipGreen 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 ContainerShipGreen().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.ContainerShipGreen\" 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.ContainerShipGreen self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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