package Savage.ShipsMilitary.CorvetteMinutemenClassUnitedStates;

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.Networking.*;
import org.web3d.x3d.jsail.Rendering.*;
import org.web3d.x3d.jsail.Shape.*;

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * <p> MINUTEMEN Hull shows a notional ship design by NPS TSSE class. Generated from Meshlab X3D Exported. </p>
 <p> Related links: Catalog page <a href="../../../../ShipsMilitary/CorvetteMinutemenClassUnitedStates/MinutemenHullIndex.html" target="_blank">MinutemenHull</a>,  source <a href="../../../../ShipsMilitary/CorvetteMinutemenClassUnitedStates/MinutemenHull.java">MinutemenHull.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="../../../../ShipsMilitary/CorvetteMinutemenClassUnitedStates/MinutemenHull.x3d">MinutemenHull.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> MINUTEMEN Hull shows a notional ship design by NPS TSSE class. Generated from Meshlab X3D Exported. </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> Meshlab X3D Exported, <a href="http://meshlab.sourceforge.net" target="_blank">http://meshlab.sourceforge.net</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> creator </i> </td>
			<td> NPS TSSE class </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> translator </i> </td>
			<td> Mike Grimshaw and Don Brutzman </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> created </i> </td>
			<td> 1 December 2016 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> translated </i> </td>
			<td> 16 June 2017 </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> reference </i> </td>
			<td> <a href="https://wiki.nps.edu/display/NOW/2017/05/11/NPS+TSSE+2016+Design+Project+-+Minutemen+Ship+Class" target="_blank">https://wiki.nps.edu/display/NOW/2017/05/11/NPS+TSSE+2016+Design+Project+-+Minutemen+Ship+Class</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> TODO </i> </td>
			<td> add SMAL metadata </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> MinutemenHull.STL </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> Image </i> </td>
			<td> <a href="../../../../ShipsMilitary/CorvetteMinutemenClassUnitedStates/MinutemenHullScreenshotMeshlab.png">MinutemenHullScreenshotMeshlab.png</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="../../../../ShipsMilitary/CorvetteMinutemenClassUnitedStates/MinutemenClassDesignAssembledSolidworks.x3d">MinutemenClassDesignAssembledSolidworks.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="../../../../ShipsMilitary/CorvetteMinutemenClassUnitedStates/MinutemenGun.x3d">MinutemenGun.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="https://wiki.nps.edu/download/attachments/855408809/2016TsseMinutemenClassVessel.2pages.pdf" target="_blank">https://wiki.nps.edu/download/attachments/855408809/2016TsseMinutemenClassVessel.2pages.pdf</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="https://wiki.nps.edu/download/attachments/855408809/2016TsseMinutemenClassPoster.pdf" target="_blank">https://wiki.nps.edu/download/attachments/855408809/2016TsseMinutemenClassPoster.pdf</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> X3D-Edit 3.3, <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> identifier </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/CorvetteMinutemenClassUnitedStates/MinutemenHull.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/CorvetteMinutemenClassUnitedStates/MinutemenHull.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> license </i> </td>
			<td> <a href="../../../../ShipsMilitary/CorvetteMinutemenClassUnitedStates/../../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 NPS TSSE class
 */

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

	/** Create and initialize the X3D model for this object. */
	public final void initialize()
	{
            try { // catch-all
  x3dModel = new X3D().setProfile(X3D.PROFILE_IMMERSIVE).setVersion(X3D.VERSION_3_3)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("MinutemenHull.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("MINUTEMEN Hull shows a notional ship design by NPS TSSE class. Generated from Meshlab X3D Exported."))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("Meshlab X3D Exported, http://meshlab.sourceforge.net"))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("NPS TSSE class"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATOR ).setContent("Mike Grimshaw and Don Brutzman"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("1 December 2016"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATED ).setContent("16 June 2017"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("20 October 2019"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://wiki.nps.edu/display/NOW/2017/05/11/NPS+TSSE+2016+Design+Project+-+Minutemen+Ship+Class"))
    .addMeta(new meta().setName(meta.NAME_TODO       ).setContent("add SMAL metadata"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("MinutemenHull.STL"))
    .addMeta(new meta().setName(meta.NAME_IMAGE      ).setContent("MinutemenHullScreenshotMeshlab.png"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("MinutemenClassDesignAssembledSolidworks.x3d"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("MinutemenGun.x3d"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://wiki.nps.edu/download/attachments/855408809/2016TsseMinutemenClassVessel.2pages.pdf"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://wiki.nps.edu/download/attachments/855408809/2016TsseMinutemenClassPoster.pdf"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/CorvetteMinutemenClassUnitedStates/MinutemenHull.x3d"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../../license.html")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setTitle("MinutemenHull.x3d"))
    .addChild(new Viewpoint().setDescription("MINUTEMEN hull from starboard side").setPosition(0.0,0.0,75.0))
    .addChild(new Viewpoint().setDescription("MINUTEMEN hull from above").setOrientation(1.0,0.0,0.0,-1.570796).setPosition(0.0,75.0,0.0))
    .addChild(new Transform().setRotation(0.0,1.0,0.0,3.141593).setTranslation(25.0,-1.57,4.25)
      .addComments(" TODO SMAL metadata: length overall (LOA) 51.2m, draft 1.57m, beam 8.48m ")
      .addChild(new Transform().setScale(0.001,0.001,0.001)
        .addComments(" apparently SolidWorks .stl model was exported in mm ")
        .addChild(new Shape()
          .setAppearance(new Appearance()
            .setMaterial(new Material().setDiffuseColor(0.78,0.78,0.78)))
          .setGeometry(new IndexedFaceSet().setSolid(false).setCoordIndex(getIndexedFaceSet_6_26_coordIndex())
            .setCoord(new Coordinate().setPoint(getCoordinate_7_26_point()))))))
    .addComments(" Visually confirm correct centering and dimensions ")
    .addComments(" Grid overlay authoring hint: first adjust grid scale to convenient large size, then adjust overall scale for your scene model. Default block size 1m by 1m. ")
    .addChild(new Transform("GridXZ_20x20Fixed_AdjustScale").setScale(2.5,2.5,2.5)
      .addChild(new Inline("GridXZ_20x20Fixed").setUrl(new String[] {"GridXZ_20x20Fixed.x3d","../../../Savage/Tools/Authoring/GridXZ_20x20Fixed.x3d","https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/GridXZ_20x20Fixed.x3d","GridXZ_20x20Fixed.wrl","../../../Savage/Tools/Authoring/GridXZ_20x20Fixed.wrl","https://www.web3d.org/x3d/content/examples/Savage/Tools/Authoring/GridXZ_20x20Fixed.wrl"}))));
            }
            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_6_26_coordIndex_1()
		{
			int[] value = {0,1,2,-1,3,4,2,-1,2,4,5,-1,2,5,0,-1,6,3,7,-1,7,3,2,-1,7,2,8,-1,8,2,9,-1,4,3,10,-1,4,10,11,-1,11,10,12,-1,11,12,13,-1,14,15,16,-1,16,15,17,-1,16,17,18,-1,18,17,2,-1,18,2,1,-1,5,4,11,-1,19,20,21,-1,21,20,16,-1,21,16,18,-1,11,19,5,-1,5,19,21,-1,5,21,0,-1,0,21,18,-1,0,18,1,-1,11,13,19,-1,19,13,22,-1,19,22,20,-1,20,22,14,-1,20,14,16,-1,23,24,25,-1,26,27,28,-1,28,27,29,-1,28,29,30,-1,30,29,23,-1,30,23,31,-1,25,32,23,-1,23,32,33,-1,23,33,34,-1,35,36,23,-1,23,36,37,-1,23,37,31,-1,38,35,39,-1,39,35,23,-1,39,23,40,-1,40,23,34,-1,41,38,39,-1,41,42,43,-1,44,45,46,-1,47,48,49,-1,47,49,50,-1,51,52,53,-1,54,55,56,-1,56,55,57,-1,58,59,60,-1,61,60,62,-1,62,60,63,-1,64,65,59,-1,59,65,66,-1,67,68,69,-1,69,68,70,-1,44,46,71,-1,71,46,72,-1,71,72,73,-1,74,75,76,-1,76,75,77,-1,76,77,78,-1,79,80,73,-1,73,80,81,-1,73,81,71,-1,71,81,82,-1,71,82,44,-1,44,82,83,-1,44,83,45,-1,84,85,45,-1,84,45,86,-1,86,45,42,-1,86,42,87,-1,88,89,90,-1,13,91,92,-1,92,91,93,-1,92,93,94,-1,94,93,95,-1,94,95,96,-1,96,95,97,-1,96,97,98,-1,98,97,99,-1,98,99,100,-1,100,99,47,-1,100,47,101,-1,101,47,50,-1,102,103,104,-1,58,60,105,-1,105,60,61,-1,105,61,103,-1,106,107,108,-1,108,107,109,-1,110,111,54,-1,54,111,112,-1,54,112,53,-1,53,112,113,-1,53,113,51,-1,114,115,116,-1,117,118,119,-1,119,118,116,-1,119,116,120,-1,121,122,123,-1,123,122,124,-1,123,124,125,-1,125,124,126,-1,72,127,128,-1,72,129,130,-1,116,126,131,-1,131,126,124,-1,131,124,78,-1,78,124,122,-1,78,122,76,-1,76,122,121,-1,76,121,74,-1,74,121,132,-1,74,132,75,-1,85,118,45,-1,45,118,117,-1,45,117,46,-1,46,117,119,-1,46,119,72,-1,72,119,120,-1,72,120,127,-1,127,120,116,-1,127,116,128,-1,128,116,115,-1,128,115,72,-1,72,115,114,-1,72,114,129,-1,129,114,116,-1,129,116,130,-1,130,116,131,-1,130,131,72,-1,72,131,78,-1,72,78,73,-1,73,78,77,-1,73,77,79,-1,79,77,75,-1,87,42,133,-1,133,42,41,-1,133,41,134,-1,134,41,39,-1,134,39,40,-1,54,56,110,-1,110,56,57,-1,110,57,135,-1,135,57,136,-1,135,136,137,-1,137,136,138,-1,137,138,139,-1,139,138,140,-1,139,140,141,-1,141,140,65,-1,141,65,106,-1,106,65,64,-1,106,64,107,-1,107,64,59,-1,107,59,109,-1,109,59,58,-1,109,58,108,-1,103,61,104,-1,104,61,62,-1,104,62,102,-1,102,62,67,-1,102,67,142,-1,142,67,69,-1,142,69,143,-1,143,69,70,-1,143,70,144,-1,144,70,145,-1,144,145,146,-1,111,147,112,-1,112,147,148,-1,112,148,113,-1,113,148,149,-1,113,149,51,-1,51,149,150,-1,51,150,151,-1,151,150,152,-1,151,152,153,-1,153,152,154,-1,153,154,155,-1,155,154,156,-1,155,156,157,-1,157,156,158,-1,157,158,159,-1,159,158,160,-1,159,160,161,-1,161,160,162,-1,161,162,163,-1,163,162,88,-1,163,88,49,-1,49,88,90,-1,49,90,50,-1,50,90,89,-1,50,89,101,-1,123,164,121,-1,121,164,165,-1,121,165,132,-1,132,165,166,-1,132,166,167,-1,167,166,168,-1,167,168,169,-1,169,168,170,-1,169,170,171,-1,171,170,172,-1,171,172,173,-1,173,172,174,-1,173,174,175,-1,175,174,176,-1,175,176,177,-1,177,176,178,-1,177,178,179,-1,179,178,180,-1,179,180,181,-1,181,180,182,-1,181,182,183,-1,183,182,146,-1,183,146,184,-1,184,146,145,-1,184,145,183,-1,183,145,185,-1,183,185,181,-1,186,34,33,-1,187,188,189,-1,190,144,146,-1,144,190,143,-1,191,192,193,-1,193,192,194,-1,193,194,195,-1,196,197,198,-1,198,197,199,-1,198,199,200,-1,200,199,201,-1,200,201,195,-1,195,201,202,-1,195,202,193,-1,203,13,92,-1,204,13,203,-1,156,154,205,-1,205,154,152,-1,205,152,206,-1,206,152,150,-1,206,150,149,-1};
			return value;
		}
		private int[] getIndexedFaceSet_6_26_coordIndex_2()
		{
			int[] value = {100,101,205,-1,100,205,98,-1,92,94,203,-1,203,94,96,-1,203,96,98,-1,101,89,205,-1,205,89,88,-1,205,88,162,-1,162,160,205,-1,205,160,158,-1,205,158,156,-1,135,137,207,-1,207,137,139,-1,207,139,141,-1,141,106,207,-1,207,106,108,-1,207,108,208,-1,208,108,58,-1,208,58,209,-1,209,58,105,-1,209,105,103,-1,149,148,206,-1,206,148,147,-1,206,147,210,-1,210,147,111,-1,210,111,110,-1,103,102,209,-1,209,102,142,-1,209,142,211,-1,212,213,214,-1,214,213,215,-1,214,215,216,-1,182,180,213,-1,213,180,178,-1,178,176,213,-1,213,176,174,-1,213,174,215,-1,215,174,172,-1,172,170,215,-1,215,170,168,-1,215,168,166,-1,84,217,218,-1,218,217,219,-1,166,165,215,-1,215,165,220,-1,215,220,216,-1,216,220,221,-1,222,223,224,-1,224,223,190,-1,224,190,225,-1,225,190,146,-1,225,146,182,-1,98,205,203,-1,203,205,226,-1,203,226,204,-1,110,135,210,-1,210,135,207,-1,210,207,227,-1,227,207,208,-1,228,229,230,-1,230,229,222,-1,230,222,231,-1,227,232,210,-1,210,232,233,-1,210,233,206,-1,206,233,234,-1,206,234,205,-1,205,234,235,-1,205,235,226,-1,182,213,225,-1,225,213,212,-1,225,212,224,-1,224,212,236,-1,224,236,222,-1,228,227,229,-1,229,227,208,-1,229,208,222,-1,222,208,209,-1,222,209,223,-1,223,209,211,-1,223,211,190,-1,190,211,142,-1,190,142,143,-1,237,238,239,-1,239,240,237,-1,237,240,241,-1,237,241,242,-1,242,241,243,-1,242,243,187,-1,187,243,244,-1,187,244,188,-1,245,246,238,-1,238,246,247,-1,238,247,239,-1,219,248,249,-1,249,248,250,-1,249,250,245,-1,221,238,216,-1,216,238,237,-1,216,237,214,-1,214,237,242,-1,214,242,212,-1,212,242,187,-1,212,187,236,-1,236,187,189,-1,236,189,222,-1,222,189,251,-1,222,251,231,-1,40,34,134,-1,134,34,186,-1,134,186,133,-1,133,186,87,-1,32,191,33,-1,33,191,193,-1,33,193,186,-1,186,193,202,-1,186,202,87,-1,87,202,201,-1,87,201,86,-1,86,201,199,-1,86,199,84,-1,84,199,197,-1,84,197,217,-1,165,164,220,-1,220,164,123,-1,220,123,125,-1,126,116,218,-1,245,238,249,-1,249,238,221,-1,249,221,219,-1,219,221,220,-1,219,220,218,-1,218,220,125,-1,218,125,126,-1,116,118,218,-1,218,118,85,-1,218,85,84,-1,196,252,197,-1,197,252,253,-1,197,253,217,-1,217,253,254,-1,217,254,219,-1,219,254,255,-1,219,255,248,-1,256,22,13,-1,257,258,259,-1,257,252,258,-1,258,252,196,-1,258,196,260,-1,194,261,195,-1,195,261,262,-1,195,262,200,-1,200,262,260,-1,200,260,198,-1,198,260,196,-1,13,204,256,-1,256,204,226,-1,256,226,263,-1,263,226,235,-1,263,235,264,-1,232,265,233,-1,233,265,264,-1,233,264,234,-1,234,264,235,-1,232,227,265,-1,265,227,228,-1,265,228,266,-1,266,228,230,-1,266,230,267,-1,267,230,231,-1,267,231,251,-1,239,247,268,-1,269,270,271,-1,246,245,271,-1,189,188,272,-1,272,188,244,-1,272,244,273,-1,273,244,243,-1,273,243,274,-1,274,243,241,-1,274,241,275,-1,275,241,240,-1,275,240,239,-1,266,276,265,-1,265,276,277,-1,265,277,264,-1,264,277,278,-1,264,278,263,-1,263,278,279,-1,263,279,256,-1,256,279,280,-1,256,280,22,-1,22,280,14,-1,281,267,282,-1,282,267,251,-1,282,251,189,-1,189,272,282,-1,282,272,283,-1,282,283,281,-1,281,284,267,-1,267,284,285,-1,267,285,266,-1,266,285,286,-1,266,286,276,-1,239,268,275,-1,275,268,287,-1,275,287,288,-1,289,290,288,-1,288,290,291,-1,288,291,275,-1,275,291,292,-1,275,292,274,-1,270,269,293,-1,293,269,294,-1,293,294,295,-1,247,246,268,-1,268,246,271,-1,268,271,287,-1,287,271,270,-1,287,270,288,-1,288,270,293,-1,288,293,289,-1,289,293,295,-1,292,296,274,-1,274,296,297,-1,274,297,273,-1,273,297,298,-1,273,298,272,-1,272,298,299,-1,272,299,283,-1,32,25,191,-1,191,25,261,-1,191,261,192,-1,192,261,194,-1,25,24,261,-1,261,24,300,-1,261,300,262,-1,262,300,301,-1,262,301,260,-1,260,301,302,-1,260,302,258,-1,258,302,303,-1,258,303,259,-1,245,250,271,-1,271,250,248,-1,271,248,269,-1,269,248,255,-1,269,255,304,-1,304,255,254,-1,304,254,257,-1};
			return value;
		}
		private int[] getIndexedFaceSet_6_26_coordIndex_3()
		{
			int[] value = {257,254,253,-1,257,253,252,-1,259,305,257,-1,257,305,306,-1,257,306,304,-1,304,306,307,-1,304,307,269,-1,269,307,308,-1,269,308,294,-1,302,309,303,-1,303,309,310,-1,303,310,259,-1,259,310,311,-1,259,311,305,-1,305,311,312,-1,305,312,306,-1,306,312,313,-1,306,313,307,-1,307,313,314,-1,307,314,308,-1,308,314,315,-1,308,315,294,-1,294,315,316,-1,294,316,295,-1,317,318,300,-1,300,318,319,-1,300,319,301,-1,301,319,320,-1,301,320,302,-1,302,320,321,-1,302,321,309,-1,23,322,24,-1,24,322,323,-1,24,323,300,-1,300,323,324,-1,300,324,317,-1,15,14,325,-1,325,14,280,-1,325,280,326,-1,326,280,279,-1,326,279,327,-1,327,279,278,-1,327,278,328,-1,278,277,328,-1,328,277,276,-1,328,276,329,-1,276,286,329,-1,329,286,285,-1,329,285,330,-1,285,284,330,-1,330,284,281,-1,330,281,331,-1,331,281,283,-1,331,283,332,-1,283,299,332,-1,332,299,298,-1,332,298,333,-1,333,298,334,-1,334,298,297,-1,334,297,335,-1,297,296,335,-1,335,296,292,-1,335,292,336,-1,336,292,291,-1,336,291,290,-1,316,337,295,-1,295,337,338,-1,295,338,289,-1,338,339,289,-1,289,339,340,-1,289,340,290,-1,290,340,341,-1,290,341,336,-1,49,48,342,-1,13,12,91,-1,91,12,343,-1,91,343,93,-1,93,343,95,-1,344,345,151,-1,151,345,51,-1,48,47,342,-1,342,47,99,-1,342,99,343,-1,343,99,97,-1,343,97,95,-1,151,153,344,-1,344,153,155,-1,344,155,157,-1,157,159,344,-1,344,159,161,-1,344,161,342,-1,342,161,163,-1,342,163,49,-1,140,138,346,-1,346,138,136,-1,346,136,347,-1,348,60,349,-1,349,60,59,-1,349,59,350,-1,350,59,66,-1,350,66,346,-1,346,66,65,-1,346,65,140,-1,136,57,347,-1,347,57,55,-1,347,55,351,-1,351,55,54,-1,351,54,352,-1,352,54,53,-1,352,53,345,-1,345,53,52,-1,345,52,51,-1,353,167,354,-1,354,167,169,-1,354,169,171,-1,171,173,354,-1,354,173,175,-1,354,175,177,-1,177,179,354,-1,354,179,181,-1,354,181,355,-1,355,181,185,-1,355,185,356,-1,356,185,145,-1,356,145,357,-1,357,145,70,-1,357,70,358,-1,358,70,68,-1,358,68,359,-1,359,68,67,-1,359,67,360,-1,360,67,62,-1,360,62,348,-1,348,62,63,-1,348,63,60,-1,83,361,362,-1,35,38,363,-1,363,38,41,-1,363,41,364,-1,364,41,43,-1,364,43,365,-1,365,43,42,-1,365,42,362,-1,362,42,45,-1,362,45,83,-1,83,82,361,-1,361,82,81,-1,361,81,80,-1,80,79,361,-1,361,79,75,-1,361,75,353,-1,353,75,132,-1,353,132,167,-1,366,12,10,-1,366,10,367,-1,367,10,3,-1,367,3,6,-1,9,2,368,-1,368,2,17,-1,15,369,17,-1,17,369,370,-1,17,370,368,-1,371,367,6,-1,371,372,373,-1,373,372,368,-1,6,7,371,-1,371,7,8,-1,371,8,372,-1,372,8,9,-1,372,9,368,-1,370,369,374,-1,368,370,373,-1,373,370,374,-1,373,374,371,-1,371,374,366,-1,371,366,367,-1,375,37,36,-1,376,377,378,-1,375,379,380,-1,376,378,381,-1,382,383,384,-1,385,386,387,-1,382,384,388,-1,388,384,389,-1,388,389,390,-1,391,383,392,-1,393,394,395,-1,396,397,398,-1,378,399,381,-1,381,399,400,-1,381,400,401,-1,401,400,402,-1,401,402,403,-1,403,402,404,-1,403,404,405,-1,406,407,408,-1,408,407,409,-1,408,409,410,-1,410,387,411,-1,411,387,412,-1,411,412,413,-1,413,412,414,-1,413,414,415,-1,415,414,416,-1,415,416,417,-1,417,416,418,-1,417,418,419,-1,419,418,420,-1,419,420,366,-1,421,422,423,-1,423,422,424,-1,423,424,425,-1,390,426,388,-1,388,426,427,-1,388,427,382,-1,382,427,428,-1,382,428,383,-1,383,428,429,-1,383,429,392,-1,392,429,430,-1,431,432,433,-1,433,432,434,-1,433,434,435,-1,435,434,436,-1,437,438,439,-1,440,441,442,-1,443,444,442,-1,442,444,445,-1,446,447,448,-1,449,450,451,-1,451,450,446,-1,446,452,453,-1,452,446,437,-1,437,446,454,-1,437,454,455,-1,455,454,456,-1,455,456,457,-1,457,456,458,-1,457,458,459,-1,443,460,377,-1,437,439,452,-1,452,439,442,-1,452,442,453,-1,453,442,441,-1,453,441,446,-1,446,441,440,-1,446,440,447,-1,447,440,442,-1,447,442,448,-1,448,442,445,-1};
			return value;
		}
		private int[] getIndexedFaceSet_6_26_coordIndex_4()
		{
			int[] value = {448,445,446,-1,446,445,444,-1,446,444,451,-1,451,444,443,-1,451,443,449,-1,449,443,377,-1,449,377,450,-1,450,377,376,-1,450,376,446,-1,446,376,381,-1,446,381,454,-1,454,381,401,-1,454,401,456,-1,456,401,403,-1,456,403,458,-1,458,403,405,-1,458,405,459,-1,438,437,461,-1,461,437,455,-1,461,455,462,-1,462,455,457,-1,462,457,463,-1,463,457,459,-1,463,459,464,-1,464,459,465,-1,464,465,466,-1,466,465,467,-1,466,467,468,-1,468,467,469,-1,468,469,470,-1,470,469,471,-1,470,471,472,-1,472,471,473,-1,472,473,474,-1,474,473,475,-1,474,475,476,-1,476,475,477,-1,476,477,478,-1,478,477,479,-1,478,479,480,-1,460,481,377,-1,377,481,482,-1,377,482,380,-1,31,37,483,-1,483,37,375,-1,483,375,484,-1,484,375,380,-1,484,380,485,-1,485,380,482,-1,391,392,486,-1,486,392,430,-1,486,430,487,-1,487,430,488,-1,487,488,489,-1,489,488,490,-1,489,490,491,-1,491,490,492,-1,491,492,398,-1,398,492,425,-1,398,425,493,-1,493,425,424,-1,493,424,398,-1,398,424,422,-1,398,422,396,-1,396,422,421,-1,396,421,395,-1,395,421,494,-1,395,494,495,-1,434,393,436,-1,436,393,496,-1,436,496,495,-1,495,496,497,-1,495,497,395,-1,395,497,496,-1,395,496,393,-1,410,409,387,-1,387,409,407,-1,387,407,385,-1,385,407,406,-1,385,406,498,-1,498,406,499,-1,498,499,500,-1,500,499,501,-1,500,501,502,-1,502,501,503,-1,502,503,504,-1,504,503,505,-1,504,505,506,-1,506,505,507,-1,506,507,508,-1,508,507,509,-1,508,509,510,-1,510,509,511,-1,510,511,390,-1,390,511,512,-1,390,512,426,-1,513,514,515,-1,516,513,479,-1,479,513,515,-1,479,515,480,-1,480,515,514,-1,480,514,517,-1,517,514,513,-1,517,513,431,-1,431,513,518,-1,431,518,432,-1,432,518,519,-1,432,519,434,-1,462,463,520,-1,521,30,31,-1,522,523,524,-1,525,526,527,-1,528,529,530,-1,530,529,531,-1,26,28,532,-1,532,28,533,-1,532,533,534,-1,529,535,531,-1,531,535,536,-1,531,536,537,-1,537,536,538,-1,537,538,533,-1,533,538,539,-1,533,539,534,-1,540,541,542,-1,542,541,530,-1,542,530,481,-1,415,417,543,-1,543,417,419,-1,543,419,366,-1,426,512,544,-1,544,512,511,-1,544,511,545,-1,545,511,509,-1,545,509,507,-1,507,505,545,-1,545,505,503,-1,545,503,501,-1,501,499,545,-1,545,499,406,-1,545,406,408,-1,408,410,545,-1,545,410,411,-1,545,411,543,-1,543,411,413,-1,543,413,415,-1,546,425,492,-1,492,490,546,-1,546,490,488,-1,546,488,547,-1,547,488,430,-1,548,494,549,-1,549,494,421,-1,549,421,423,-1,430,429,547,-1,547,429,428,-1,547,428,544,-1,544,428,427,-1,544,427,426,-1,550,551,552,-1,552,551,553,-1,550,552,554,-1,554,552,431,-1,554,431,433,-1,526,525,548,-1,433,435,525,-1,525,435,436,-1,525,436,548,-1,548,436,495,-1,548,495,494,-1,464,466,555,-1,555,466,468,-1,470,472,553,-1,553,472,474,-1,553,474,476,-1,476,478,553,-1,553,478,480,-1,553,480,552,-1,552,480,517,-1,552,517,431,-1,366,556,543,-1,543,556,557,-1,543,557,545,-1,545,557,558,-1,545,558,544,-1,559,560,561,-1,561,560,546,-1,561,546,562,-1,562,546,547,-1,562,547,563,-1,563,547,544,-1,563,544,564,-1,564,544,558,-1,559,565,560,-1,560,565,566,-1,560,566,567,-1,567,566,568,-1,567,568,569,-1,570,571,572,-1,572,571,573,-1,572,573,574,-1,574,573,569,-1,574,569,575,-1,575,569,568,-1,573,527,569,-1,569,527,526,-1,569,526,567,-1,567,526,548,-1,567,548,560,-1,560,548,549,-1,560,549,546,-1,546,549,423,-1,546,423,425,-1,522,524,576,-1,577,578,579,-1,468,470,555,-1,555,470,553,-1,555,553,580,-1,580,553,551,-1,580,551,524,-1,524,551,581,-1,524,581,576,-1,576,581,582,-1,542,520,540,-1,540,520,583,-1,540,583,579,-1,463,464,520,-1,520,464,555,-1,520,555,583,-1,583,555,580,-1,583,580,579,-1,579,580,524,-1,579,524,577,-1,577,524,523,-1,433,525,554,-1,554,525,527,-1,554,527,550,-1,550,527,573,-1,550,573,551,-1,551,573,571,-1,551,571,581,-1,581,571,570,-1,581,570,582,-1,485,584,484,-1,484,584,521,-1,484,521,483,-1,483,521,31,-1,481,530,482,-1,482,530,531,-1,482,531,485,-1};
			return value;
		}
		private int[] getIndexedFaceSet_6_26_coordIndex_5()
		{
			int[] value = {485,531,537,-1,485,537,584,-1,584,537,533,-1,584,533,521,-1,521,533,28,-1,521,28,30,-1,481,460,542,-1,542,460,443,-1,542,443,442,-1,442,439,542,-1,542,439,438,-1,542,438,520,-1,520,438,461,-1,520,461,462,-1,578,585,579,-1,579,585,586,-1,579,586,540,-1,540,586,587,-1,540,587,541,-1,541,587,588,-1,541,588,530,-1,530,588,589,-1,530,589,528,-1,590,591,592,-1,591,590,593,-1,594,595,596,-1,572,574,595,-1,597,523,522,-1,598,599,600,-1,601,536,602,-1,602,536,535,-1,602,535,598,-1,603,604,564,-1,366,374,556,-1,556,374,605,-1,556,605,557,-1,557,605,603,-1,557,603,558,-1,558,603,564,-1,559,561,606,-1,606,561,562,-1,606,562,604,-1,604,562,563,-1,604,563,564,-1,607,608,575,-1,575,608,574,-1,575,568,607,-1,607,568,566,-1,607,566,609,-1,609,566,565,-1,522,610,611,-1,522,611,597,-1,597,611,612,-1,597,612,613,-1,613,612,614,-1,613,614,586,-1,586,585,613,-1,613,585,578,-1,613,578,597,-1,597,578,577,-1,597,577,523,-1,572,595,570,-1,570,595,594,-1,570,594,582,-1,582,594,615,-1,582,615,576,-1,616,609,606,-1,606,609,565,-1,606,565,559,-1,374,369,605,-1,605,369,617,-1,605,617,603,-1,603,617,618,-1,603,618,604,-1,604,618,619,-1,604,619,606,-1,606,619,620,-1,606,620,616,-1,574,608,595,-1,595,608,621,-1,595,621,596,-1,616,622,609,-1,609,622,623,-1,609,623,607,-1,607,623,624,-1,607,624,608,-1,608,624,625,-1,608,625,621,-1,522,576,610,-1,610,576,615,-1,610,615,626,-1,593,590,627,-1,627,590,628,-1,627,628,629,-1,596,630,594,-1,594,630,631,-1,594,631,615,-1,615,631,632,-1,615,632,626,-1,633,27,532,-1,532,27,26,-1,532,534,633,-1,633,534,539,-1,633,539,601,-1,601,539,538,-1,601,538,536,-1,29,27,634,-1,634,27,633,-1,634,633,635,-1,635,633,601,-1,635,601,636,-1,636,601,602,-1,636,602,637,-1,637,602,598,-1,637,598,638,-1,638,598,600,-1,535,529,598,-1,598,529,528,-1,598,528,599,-1,599,528,589,-1,599,589,639,-1,639,589,588,-1,639,588,614,-1,614,588,587,-1,614,587,586,-1,626,629,610,-1,610,629,628,-1,610,628,611,-1,611,628,590,-1,611,590,612,-1,612,590,592,-1,612,592,614,-1,614,592,640,-1,614,640,639,-1,639,640,641,-1,639,641,599,-1,599,641,642,-1,599,642,600,-1,322,23,29,-1,636,637,310,-1,310,637,311,-1,311,637,638,-1,311,638,312,-1,315,314,641,-1,641,314,313,-1,641,313,642,-1,642,313,312,-1,642,312,600,-1,600,312,638,-1,338,337,591,-1,591,337,316,-1,591,316,592,-1,592,316,315,-1,592,315,640,-1,640,315,641,-1,338,591,339,-1,339,591,593,-1,339,593,340,-1,340,593,627,-1,340,627,341,-1,341,627,629,-1,341,629,336,-1,336,629,626,-1,336,626,335,-1,335,626,632,-1,335,632,334,-1,334,632,631,-1,334,631,333,-1,631,630,333,-1,333,630,596,-1,333,596,332,-1,332,596,621,-1,332,621,331,-1,621,625,331,-1,331,625,624,-1,331,624,330,-1,330,624,623,-1,330,623,329,-1,623,622,329,-1,329,622,616,-1,329,616,328,-1,617,369,15,-1,616,620,328,-1,328,620,619,-1,328,619,327,-1,327,619,618,-1,327,618,326,-1,326,618,617,-1,326,617,325,-1,325,617,15,-1,310,309,636,-1,636,309,321,-1,636,321,635,-1,635,321,320,-1,635,320,634,-1,634,320,319,-1,634,319,318,-1,318,317,634,-1,634,317,324,-1,634,324,29,-1,29,324,323,-1,29,323,322,-1,375,36,35,-1,504,506,344,-1,12,366,420,-1,12,420,343,-1,343,420,418,-1,343,418,416,-1,506,508,344,-1,344,508,510,-1,344,510,345,-1,386,385,342,-1,416,414,343,-1,343,414,412,-1,343,412,342,-1,342,412,387,-1,342,387,386,-1,385,498,342,-1,342,498,500,-1,342,500,344,-1,344,500,502,-1,344,502,504,-1,489,346,487,-1,487,346,347,-1,487,347,486,-1,489,491,346,-1,346,491,398,-1,346,398,350,-1,350,398,397,-1,350,397,349,-1,510,390,345,-1,345,390,389,-1,345,389,352,-1,352,389,384,-1,352,384,351,-1,351,384,383,-1,351,383,347,-1,347,383,391,-1,347,391,486,-1,354,477,475,-1,475,473,354,-1,354,473,471,-1,354,471,469,-1,469,467,354,-1,354,467,465,-1,354,465,353,-1,397,396,349,-1,349,396,395,-1,349,395,348,-1,348,395,394,-1};
			return value;
		}
		private int[] getIndexedFaceSet_6_26_coordIndex_6()
		{
			int[] value = {348,394,360,-1,360,394,393,-1,360,393,359,-1,359,393,434,-1,359,434,358,-1,358,434,519,-1,358,519,357,-1,357,519,518,-1,357,518,356,-1,356,518,513,-1,356,513,355,-1,355,513,516,-1,355,516,354,-1,354,516,479,-1,354,479,477,-1,365,379,364,-1,364,379,375,-1,364,375,363,-1,363,375,35,-1,402,400,361,-1,465,459,353,-1,353,459,405,-1,353,405,361,-1,361,405,404,-1,361,404,402,-1,400,399,361,-1,361,399,378,-1,361,378,362,-1,362,378,377,-1,362,377,365,-1,365,377,380,-1,365,380,379,-1};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getCoordinate_7_26_point_1()
		{
			double[] value = {0.000119209,4303.5,4513.58,0.000119209,5000.0,4773.08,0.000119209,5000.0,4240.08,0.000119209,3607.0,4240.08,0.000119209,3607.0,4254.08,0.000119209,3955.25,4383.83,0.000119209,3607.0,4226.08,0.000119209,3955.25,4096.33,0.000119209,4303.5,3966.58,0.000119209,5000.0,3707.08,1204.27,2688.26,4240.08,1204.27,2688.26,4254.08,2440.0,1861.0,4240.08,2440.0,1861.0,4254.08,2440.0,4885.0,5890.08,2440.0,4885.0,4240.08,1204.27,4945.74,5360.88,1204.27,4945.74,4240.08,602.072,4972.87,5066.95,1204.27,3252.63,4530.78,1204.27,3817.0,4807.48,597.7,4055.54,4664.18,2440.0,3373.0,5072.08,51220.0,3623.0,4240.08,51220.0,3623.0,8480.08,51220.0,2173.0,8250.08,51220.0,723.0,460.079,51220.0,2173.0,230.079,51220.0,670.757,1401.45,51220.0,3623.0,0.0796318,51220.0,618.515,2342.82,51220.0,514.029,4225.56,51220.0,723.0,8020.08,51220.0,670.757,7078.71,51220.0,618.515,6137.34,51220.0,514.0,4240.08,51220.0,514.0,4226.08,51220.0,514.015,4225.82,51220.0,514.0,4254.08,51220.0,514.015,4254.34,51220.0,514.029,4254.6,45069.7,438.246,4254.09,38920.3,350.38,4253.96,43864.3,423.398,4254.09,25088.1,144.294,4254.12,26624.1,168.774,4253.66,25088.1,144.188,4254.15,3400.35,1260.13,4254.13,3430.66,1241.17,4254.13,3489.45,1211.77,4254.11,3421.69,1246.33,4254.14,4205.98,853.444,4253.84,4351.18,780.835,4253.78,4569.49,703.337,4253.78,5303.72,442.702,4253.78,5348.33,426.865,4253.78,5395.46,413.519,4253.8,5489.89,395.406,4253.83,6796.07,151.146,4254.29,6796.07,150.944,4254.1,7169.92,107.889,4254.09,7356.64,83.8204,4254.08,7544.45,73.7328,4254.07,7427.56,78.217,4254.07,6234.34,222.857,4254.11,6050.18,270.883,4254.02,6368.05,200.238,4254.12,8295.33,44.9257,4254.08,9086.38,14.5772,4254.08,9048.19,14.9845,4254.08,9803.65,14.5601,4254.09,24320.8,134.162,4253.82,24320.8,134.076,4253.86,23552.8,124.081,4253.77,22018.5,104.145,4254.26,22018.5,106.383,4253.7,22785.4,113.954,4254.01,22785.4,114.053,4253.99,23552.8,123.999,4253.8,22785.4,115.428,4253.65,23552.8,124.479,4253.61,23911.2,128.707,4253.59,24320.7,134.755,4253.6,25088.1,146.089,4253.62,29696.4,214.173,4254.16,26624.1,168.773,4254.07,32770.0,259.593,4254.25,38920.3,350.477,4254.43,3489.43,1211.83,4254.16,3431.18,1240.95,4254.16,3443.72,1233.67,4254.13,2791.1,1641.33,4254.1,2791.09,1641.37,4254.11,2966.11,1531.82,4254.11,2966.11,1531.88,4254.12,3140.48,1422.72,4254.12,3140.48,1422.8,4254.14,3227.35,1368.37,4254.12,3227.36,1368.46,4254.14,3313.98,1314.17,4254.13};
			return value;
		}
		private double[] getCoordinate_7_26_point_2()
		{
			double[] value = {3313.99,1314.26,4254.15,3400.36,1260.24,4254.16,7544.45,73.9148,4254.3,7427.95,78.3826,4254.3,7450.48,76.4701,4254.07,7169.92,108.095,4254.29,6050.17,271.027,4254.24,6327.8,206.843,4254.12,6368.19,200.418,4254.28,6421.21,191.776,4254.13,5349.38,426.621,4254.14,5303.74,442.815,4254.14,4569.6,703.592,4253.94,4383.51,767.116,4253.85,24632.6,138.187,4254.06,24635.6,138.226,4254.07,24320.7,134.736,4254.0,25088.1,144.297,4254.14,25088.1,146.076,4254.02,24704.5,139.137,4254.1,24656.5,138.503,4254.08,22018.5,104.042,4254.29,22785.4,114.055,4254.02,22785.4,115.432,4254.05,23552.8,124.078,4253.83,23552.8,124.467,4254.01,23912.0,128.697,4253.99,24644.6,138.345,4254.07,24638.6,138.266,4254.07,24608.6,137.87,4254.06,24512.7,136.604,4254.02,24320.8,134.163,4253.87,20483.8,88.2831,4253.78,43994.3,425.456,4254.58,45069.7,438.639,4254.58,5489.87,395.429,4254.16,5677.13,353.791,4253.89,5677.12,353.855,4254.18,5770.57,333.025,4253.92,5770.56,333.109,4254.2,5863.89,312.285,4253.96,5863.88,312.39,4254.21,8295.33,45.1181,4254.32,9086.58,14.7726,4254.35,9803.65,14.7555,4254.37,11318.8,14.524,4254.11,11318.8,14.7192,4254.42,4569.49,703.333,4254.1,4352.05,780.482,4254.09,4206.0,853.513,4254.1,4028.43,942.307,4254.11,4028.42,942.239,4253.91,3939.25,986.898,4254.12,3939.25,986.831,4253.94,3849.82,1031.62,4254.13,3849.82,1031.55,4253.98,3760.12,1076.47,4254.14,3760.13,1076.41,4254.01,3670.16,1121.46,4254.14,3670.17,1121.39,4254.04,3625.07,1144.0,4254.15,3625.08,1143.94,4254.06,3579.92,1166.58,4254.15,3579.94,1166.52,4254.08,22018.5,106.402,4254.09,20483.8,88.3332,4254.17,17419.8,52.2573,4254.34,17419.8,52.1449,4253.96,16654.8,43.2506,4254.38,16654.8,43.1228,4254.0,16272.3,38.7472,4254.4,16272.3,38.6116,4254.02,15890.1,34.2469,4254.42,15890.1,34.1035,4254.04,15508.3,29.7515,4254.44,15508.3,29.6004,4254.06,15126.8,25.2597,4254.46,15126.8,25.1008,4254.08,14745.4,20.7691,4254.48,14745.4,20.6025,4254.11,14363.9,16.2778,4254.5,14363.9,16.1034,4254.13,14225.6,14.6497,4254.51,13601.1,11.5696,4254.1,12839.6,10.1131,4254.06,14224.1,14.4546,4254.14,45069.7,582.559,6137.09,11318.8,998.055,5988.38,11320.0,1327.63,6559.15,9806.17,1393.34,6302.16,9803.67,356.557,4769.88,44751.5,722.445,8020.08,38944.5,723.018,8020.08,38920.4,628.877,7078.71,38920.4,723.075,8020.05,35845.2,730.346,8015.77,29696.8,785.175,7940.1,29696.6,492.652,6101.75,32770.2,738.962,8009.26,32770.1,493.906,6132.65};
			return value;
		}
		private double[] getCoordinate_7_26_point_3()
		{
			double[] value = {32876.4,737.364,8011.65,35845.2,511.902,6137.28,38920.4,534.729,6137.35,3136.29,1595.8,4411.47,3139.92,1780.18,4561.61,3842.95,1360.72,4558.51,4565.87,1171.4,4687.18,6047.37,909.34,4886.62,6794.91,833.187,4975.48,7544.12,781.979,5060.84,5302.69,1021.74,4794.39,8294.76,388.552,4697.46,11318.8,668.764,5410.39,14363.9,311.374,4934.66,14363.9,607.291,5614.81,17419.8,304.265,5014.34,17419.8,563.109,5774.13,26624.2,503.474,6049.33,26624.2,333.928,5151.96,23552.8,516.958,5979.56,20483.9,309.257,5073.0,20483.9,534.682,5891.47,8294.68,1102.88,5583.73,8294.72,745.719,5140.6,9803.69,702.023,5285.4,11318.8,339.472,4832.39,3670.03,1718.96,4794.53,6047.85,1561.22,5517.56,6129.19,1556.42,5538.54,6794.96,1179.64,5336.07,6797.51,1526.58,5685.4,8297.24,1459.62,6014.97,5304.94,1605.0,5325.98,4854.54,1631.55,5209.83,4569.81,1652.56,5110.0,3845.5,1706.01,4856.05,9803.71,1047.49,5800.91,14363.9,903.209,6294.96,17419.8,821.954,6533.92,15891.2,1139.71,7136.15,15145.7,1166.79,7065.44,14365.1,1199.49,6965.35,12839.6,949.351,6150.97,12841.4,1263.32,6769.94,11697.8,1311.23,6623.3,19078.9,1026.06,7431.2,18663.1,1039.03,7399.03,17421.1,1084.14,7281.24,22852.3,926.772,7667.84,20483.9,760.107,6709.95,20484.5,989.073,7519.35,8918.0,1431.9,6151.38,28472.7,803.582,7912.56,28159.9,810.438,7898.94,26624.7,844.086,7832.1,23553.1,911.41,7698.36,3136.24,3313.33,5357.49,28159.7,2237.49,8191.03,29696.6,2201.25,8214.49,29573.7,3621.18,8480.07,32770.2,2180.55,8245.38,38920.4,2173.01,8250.08,35845.2,2174.2,8250.14,3842.93,3261.06,5623.2,4565.98,3218.12,5856.63,5302.64,3178.01,6059.08,6794.98,3104.85,6410.72,8294.67,3036.3,6721.63,17419.8,1854.43,7567.04,23552.8,2392.9,8089.15,20483.9,2506.89,7992.04,20483.9,1746.21,7760.23,11318.8,2897.9,7223.73,12839.6,2828.84,7423.76,14363.9,2760.99,7592.38,15890.2,2693.41,7730.0,5562.66,4740.71,6846.98,5304.13,4752.43,6777.97,3950.78,4813.77,6416.7,3844.32,4818.79,6379.59,3140.46,4851.97,6134.24,9805.1,4540.79,7656.7,9803.72,2966.87,6990.83,10415.0,4511.8,7756.18,8295.66,4612.55,7410.46,7970.21,4628.02,7357.37,6798.28,4682.88,7108.93,17419.8,2628.06,7840.38,17419.8,3401.69,8113.71,19184.1,4091.84,8437.21,17420.5,4176.66,8370.8,15890.2,4250.26,8313.18,15840.8,4252.64,8311.31,20483.9,3267.57,8223.85,23552.8,3875.64,8470.69,20483.9,4027.51,8447.17,14365.1,4322.8,8194.59,13199.5,4378.22,8102.39,12840.5,4395.45,8057.75,11320.3,4468.37,7868.74};
			return value;
		}
		private double[] getCoordinate_7_26_point_4()
		{
			double[] value = {38920.4,3623.0,8480.08,36138.5,3623.0,8480.08,32770.2,3622.07,8480.07,29696.6,3621.22,8480.07,26624.2,2285.12,8161.43,28159.9,3669.51,8479.9,27550.2,3690.35,8479.83,26624.4,3732.87,8478.38,24028.4,3852.1,8474.34,32099.4,3622.79,4240.08,29696.6,3624.81,4240.08,29259.9,3625.18,4240.08,28159.8,3667.64,4240.08,26844.7,3718.4,4240.08,26624.2,3728.9,4240.08,23861.7,3860.43,4240.08,22581.3,3924.6,4240.08,42627.9,3622.99,4240.08,40442.4,3623.0,4240.08,38920.4,3623.0,4240.08,35889.4,3623.0,4240.08,32770.1,3622.83,4240.08,49601.4,3623.0,4240.08,48107.7,3623.0,4240.08,44995.5,3623.0,4240.08,3070.45,4854.18,4240.08,3708.64,4824.72,4240.08,3842.94,4818.39,4240.08,5302.58,4749.64,4240.08,6794.68,4679.37,4240.08,8294.57,4608.73,4240.08,9803.53,4537.66,4240.08,11318.7,4466.29,4240.09,12839.6,4394.66,4240.09,14359.8,4323.06,4240.09,14363.9,4322.86,4240.09,15890.1,4249.3,4240.08,21399.8,3983.21,4240.08,20483.9,4027.99,4240.08,18939.8,4103.48,4240.08,17808.7,4156.83,4240.08,17419.9,4175.57,4240.08,3430.54,1241.23,4240.08,3140.48,1422.72,4240.08,3849.82,1031.55,4240.08,4351.07,780.882,4240.07,6050.18,270.88,4240.08,5348.21,426.901,4240.08,7427.44,78.2265,4240.08,6796.07,150.945,4240.08,6367.93,200.257,4240.08,5303.72,442.695,4240.08,4569.5,703.341,4240.08,20483.8,88.2827,4240.08,14363.9,16.1096,4240.08,14223.1,14.4487,4240.08,11318.8,14.5223,4240.08,9803.65,14.5607,4240.08,9086.22,14.5789,4240.08,8295.33,44.9256,4240.08,7544.45,73.737,4240.08,23908.1,128.666,4240.08,26624.1,168.789,4240.08,45069.7,438.533,4240.08,43969.3,425.03,4240.08,38920.3,350.441,4240.08,2440.0,1861.0,4226.08,1204.27,2688.26,4226.08,602.072,4972.87,3413.21,2440.0,4885.0,2590.08,1204.27,4945.74,3119.28,1204.27,3252.63,3949.38,597.7,4055.54,3815.98,1204.27,3817.0,3672.68,2440.0,3373.0,3408.08,45069.7,438.246,4226.07,25088.1,144.294,4226.04,26624.1,168.774,4226.5,25088.1,146.089,4226.54,43864.3,423.398,4226.07,38920.3,350.38,4226.19,24320.8,134.162,4226.34,4569.6,703.592,4226.22,5303.72,442.702,4226.37,4569.49,703.337,4226.37,3489.45,1211.77,4226.05,3430.66,1241.17,4226.02,3400.35,1260.13,4226.03,4383.51,767.116,4226.31,4351.18,780.835,4226.37,4205.98,853.444,4226.32,5348.33,426.865,4226.37,5395.46,413.519,4226.36,7544.45,73.7328,4226.08,7427.56,78.217,4226.09,7169.92,107.889,4226.07,6796.07,150.944,4226.06,6368.05,200.238,4226.04,6050.18,270.883,4226.14,24320.7,134.755,4226.56};
			return value;
		}
		private double[] getCoordinate_7_26_point_5()
		{
			double[] value = {23911.2,128.707,4226.57,23552.8,124.081,4226.39,23552.8,124.479,4226.55,22785.4,114.053,4226.17,22785.4,115.428,4226.5,22018.5,106.383,4226.46,3489.43,1211.83,4226.0,3443.72,1233.67,4226.03,3431.18,1240.95,4226.0,3421.69,1246.33,4226.02,3400.36,1260.24,4226.0,3313.99,1314.26,4226.01,3313.98,1314.17,4226.03,3227.36,1368.46,4226.02,3227.35,1368.37,4226.04,3140.48,1422.8,4226.02,3140.48,1422.72,4226.04,2966.11,1531.88,4226.04,2966.11,1531.82,4226.05,2791.09,1641.37,4226.05,2791.1,1641.33,4226.06,6796.07,151.146,4225.87,6421.21,191.776,4226.03,6368.19,200.418,4225.88,6327.8,206.843,4226.04,6050.17,271.027,4225.92,4352.05,780.482,4226.07,4569.49,703.333,4226.06,5303.74,442.815,4226.02,5349.38,426.621,4226.02,5489.87,395.429,4226.0,9803.65,14.7555,4225.79,9048.19,14.9845,4226.08,9086.58,14.7726,4225.81,8295.33,44.9257,4226.08,8295.33,45.1181,4225.83,7544.45,73.9148,4225.86,23552.8,124.078,4226.33,23552.8,124.467,4226.15,23912.0,128.697,4226.17,24632.6,138.187,4226.09,24608.6,137.87,4226.1,24320.7,134.736,4226.16,25088.1,146.076,4226.14,24656.5,138.503,4226.08,24644.6,138.345,4226.09,24320.8,134.076,4226.3,24635.6,138.226,4226.09,24638.6,138.266,4226.09,25088.1,144.297,4226.02,25088.1,144.188,4226.01,24704.5,139.137,4226.06,24320.8,134.163,4226.28,24512.7,136.604,4226.14,23552.8,123.999,4226.36,22785.4,114.055,4226.14,22785.4,113.954,4226.15,22018.5,104.042,4225.87,22018.5,104.145,4225.9,20483.8,88.2831,4226.38,26624.1,168.773,4226.09,22785.4,115.432,4226.11,22018.5,106.402,4226.07,20483.8,88.3332,4225.99,17419.8,52.2573,4225.82,17419.8,52.1449,4226.2,16654.8,43.2506,4225.78,16654.8,43.1228,4226.16,16272.3,38.7472,4225.76,16272.3,38.6116,4226.14,15890.1,34.2469,4225.74,15890.1,34.1035,4226.12,15508.3,29.7515,4225.72,15508.3,29.6004,4226.1,15126.8,25.2597,4225.7,15126.8,25.1008,4226.07,14745.4,20.7691,4225.68,14745.4,20.6025,4226.05,14363.9,16.2778,4225.66,14363.9,16.1034,4226.03,14225.6,14.6497,4225.65,29696.4,214.173,4226.0,32770.0,259.593,4225.91,45069.7,438.639,4225.58,43994.3,425.456,4225.58,38920.3,350.477,4225.73,5489.89,395.406,4226.33,5677.13,353.791,4226.27,5677.12,353.855,4225.98,5770.57,333.025,4226.23,5770.56,333.109,4225.96,5863.89,312.285,4226.2,5863.88,312.39,4225.95,6234.34,222.857,4226.05,7169.92,108.095,4225.87,7427.95,78.3826,4225.86,7450.48,76.4701,4226.09,7356.64,83.8204,4226.08,3579.94,1166.52,4226.08,3579.92,1166.58,4226.01};
			return value;
		}
		private double[] getCoordinate_7_26_point_6()
		{
			double[] value = {3625.08,1143.94,4226.1,3625.07,1144.0,4226.01,3670.17,1121.39,4226.12,3670.16,1121.46,4226.02,3760.13,1076.41,4226.15,3760.12,1076.47,4226.02,3849.82,1031.55,4226.18,3849.82,1031.62,4226.03,3939.25,986.831,4226.22,3939.25,986.898,4226.04,4028.42,942.239,4226.25,4028.43,942.307,4226.04,4206.0,853.513,4226.06,11318.8,14.524,4226.05,12839.6,10.1131,4226.09,13601.1,11.5696,4226.06,14224.1,14.4546,4226.02,11318.8,14.7192,4225.74,9803.65,14.5601,4226.07,9086.38,14.5772,4226.08,20483.9,309.257,3407.16,45069.7,582.559,2343.07,15891.2,1139.71,1344.01,17421.1,1084.14,1198.92,17419.8,821.954,1946.24,8294.76,388.552,3782.7,8294.72,745.719,3339.56,9803.69,702.023,3194.76,28472.7,803.582,567.602,29696.8,785.175,540.057,29696.6,492.652,2378.41,32770.1,493.906,2347.51,44751.5,722.445,460.079,38920.4,628.877,1401.44,38944.5,723.018,460.078,32770.2,738.962,470.899,32876.4,737.364,468.509,35845.2,511.902,2342.88,35845.2,730.346,464.384,38920.4,723.075,460.112,23552.8,516.958,2500.6,26624.2,503.474,2430.83,26624.2,333.928,3328.2,3136.29,1595.8,4068.69,4565.87,1171.4,3792.98,3842.95,1360.72,3921.65,6047.37,909.34,3593.54,5302.69,1021.74,3685.77,7544.12,781.979,3419.32,6794.91,833.187,3504.68,11318.8,668.764,3069.77,14363.9,607.291,2865.35,11318.8,339.472,3647.76,14363.9,311.374,3545.5,9803.67,356.557,3710.28,17419.8,304.265,3465.82,3139.92,1780.18,3918.55,3670.03,1718.96,3685.63,3845.5,1706.01,3624.11,6129.19,1556.42,2941.62,6794.96,1179.64,3144.08,6047.85,1561.22,2962.6,5304.94,1605.0,3154.18,4854.54,1631.55,3270.33,4569.81,1652.56,3370.16,6797.51,1526.58,2794.76,8297.24,1459.62,2465.19,8294.68,1102.88,2896.43,8918.0,1431.9,2328.77,9803.71,1047.49,2679.25,12841.4,1263.32,1710.22,12839.6,949.351,2329.19,11697.8,1311.23,1856.86,11318.8,998.055,2491.78,11320.0,1327.63,1921.0,9806.17,1393.34,2178.0,15145.7,1166.79,1414.72,18663.1,1039.03,1081.13,19078.9,1026.06,1048.96,20483.9,760.107,1770.21,17419.8,563.109,2706.03,14363.9,903.209,2185.2,14365.1,1199.49,1514.81,20483.9,534.682,2588.68,38920.4,534.729,2342.81,20484.5,989.073,960.807,22852.3,926.772,812.316,23553.1,911.41,781.801,26624.7,844.086,648.063,28159.9,810.438,581.222,20483.9,3267.57,256.305,20483.9,4027.51,32.9881,23552.8,3875.64,9.46569,19184.1,4091.84,42.9506,12839.6,2828.84,1056.4,11318.8,2897.9,1256.43,11320.3,4468.37,611.414,17419.8,1854.43,913.118,29696.6,2201.25,265.672,28159.7,2237.49,289.127};
			return value;
		}
		private double[] getCoordinate_7_26_point_7()
		{
			double[] value = {28159.9,3669.51,0.258923,35845.2,2174.2,230.018,32770.2,2180.55,234.777,3842.93,3261.06,2856.96,4565.98,3218.12,2623.53,3136.24,3313.33,3122.67,5302.64,3178.01,2421.07,8294.67,3036.3,1758.53,9803.72,2966.87,1489.33,6794.98,3104.85,2069.44,15890.2,2693.41,750.156,17419.8,2628.06,639.781,20483.9,2506.89,488.116,20483.9,1746.21,719.926,23552.8,2392.9,391.011,14363.9,2760.99,887.777,5562.66,4740.71,1633.17,3140.46,4851.97,2345.92,3844.32,4818.79,2100.57,3950.78,4813.77,2063.46,5304.13,4752.43,1702.19,10415.0,4511.8,723.977,6798.28,4682.88,1371.23,7970.21,4628.02,1122.79,8295.66,4612.55,1069.7,9805.1,4540.79,823.463,15840.8,4252.64,168.845,17420.5,4176.66,109.359,17419.8,3401.69,366.444,15890.2,4250.26,166.983,12840.5,4395.45,422.413,13199.5,4378.22,377.769,14365.1,4322.8,285.573,38920.4,2173.01,230.079,38920.4,3623.0,0.0796318,36138.5,3623.0,0.0796318,32770.2,3622.07,0.084877,29696.6,3621.22,0.0896454,29573.7,3621.18,0.0896454,26624.2,2285.12,318.733,24028.4,3852.1,5.82027,26624.4,3732.87,1.77479,27550.2,3690.35,0.332355};
			return value;
		}

		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=6, element #26, 5128 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_6_26_coordIndex()
		{
			MFInt32 IndexedFaceSet_6_26_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_6_26_coordIndex_1()))
				.append(new MFInt32(getIndexedFaceSet_6_26_coordIndex_2()))
				.append(new MFInt32(getIndexedFaceSet_6_26_coordIndex_3()))
				.append(new MFInt32(getIndexedFaceSet_6_26_coordIndex_4()))
				.append(new MFInt32(getIndexedFaceSet_6_26_coordIndex_5()))
				.append(new MFInt32(getIndexedFaceSet_6_26_coordIndex_6()));
			return IndexedFaceSet_6_26_coordIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=7, element #26, 1929 total numbers made up of 643 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_7_26_point()
		{
			MFVec3f Coordinate_7_26_point = new MFVec3f()/*2.finalize*/
				.append(new MFVec3f(getCoordinate_7_26_point_1()))
				.append(new MFVec3f(getCoordinate_7_26_point_2()))
				.append(new MFVec3f(getCoordinate_7_26_point_3()))
				.append(new MFVec3f(getCoordinate_7_26_point_4()))
				.append(new MFVec3f(getCoordinate_7_26_point_5()))
				.append(new MFVec3f(getCoordinate_7_26_point_6()))
				.append(new MFVec3f(getCoordinate_7_26_point_7()));
			return Coordinate_7_26_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 MinutemenHull 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 MinutemenHull().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.ShipsMilitary.CorvetteMinutemenClassUnitedStates.MinutemenHull\" 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.ShipsMilitary.CorvetteMinutemenClassUnitedStates.MinutemenHull self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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