package HumanoidAnimation.Coveroid;

import org.web3d.x3d.jsail.Core.*;
import org.web3d.x3d.jsail.fields.*;
import org.web3d.x3d.jsail.Geometry3D.*;
import org.web3d.x3d.jsail.Rendering.*;
import org.web3d.x3d.jsail.Shape.*;

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * <p> Example model for coveroid development, originally authored using Rhino 8. </p>
 <p> Related links:  source LargeHelmetWithNormals.java, <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;">HumanoidAnimation.Coveroid.LargeHelmetWithNormals&nbsp; Document Metadata </td>
		</tr>

		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> title </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Coveroid/LargeHelmetWithNormals.x3d">LargeHelmetWithNormals.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> creator </i> </td>
			<td> Carol McDonald </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> created </i> </td>
			<td> 24 November 2025 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> modified </i> </td>
			<td> 24 November 2025 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> Example model for coveroid development, originally authored using Rhino 8. </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> source </i> </td>
			<td> originals/Large helmet with normals.x3dv </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Coveroid/LargeHelmet.x3d">LargeHelmet.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> contributor </i> </td>
			<td> Don Brutzman </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> Rhino3D, <a href="https://www.rhino3d.com" target="_blank">https://www.rhino3d.com</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> castle-model-converter, <a href="https://castle-engine.io/castle-model-converter" target="_blank">https://castle-engine.io/castle-model-converter</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> X3D-Edit 4.0, <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/HumanoidAnimation/Coveroid/LargeHelmetWithNormals.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Coveroid/LargeHelmetWithNormals.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> license </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Coveroid/../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 Carol McDonald
 */

public class LargeHelmetWithNormals
{
	/** Default constructor to create this object. */
	public LargeHelmetWithNormals ()
	{
	  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_4_0)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("LargeHelmetWithNormals.x3d"))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Carol McDonald"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("24 November 2025"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("24 November 2025"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("Example model for coveroid development, originally authored using Rhino 8."))
    .addMeta(new meta().setName(meta.NAME_SOURCE     ).setContent("originals/Large helmet with normals.x3dv"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("LargeHelmet.x3d"))
    .addMeta(new meta().setName(meta.NAME_CONTRIBUTOR).setContent("Don Brutzman"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("Rhino3D, https://www.rhino3d.com"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("castle-model-converter, https://castle-engine.io/castle-model-converter"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Coveroid/LargeHelmetWithNormals.x3d"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../license.html")))
  .setScene(new Scene()
    .addChild(new Shape()
      .setAppearance(new Appearance()
        .setMaterial(new Material().setAmbientIntensity(0).setDiffuseColor(0.0,0.0,0.0).setShininess(1)))
      .setGeometry(new IndexedFaceSet().setSolid(false).setCoordIndex(getIndexedFaceSet_4_17_coordIndex()).setTexCoordIndex(getIndexedFaceSet_4_17_texCoordIndex())
        .setCoord(new Coordinate().setPoint(getCoordinate_5_17_point()))
        .setNormal(new Normal().setVector(getNormal_5_18_vector())))));
            }
            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_4_17_coordIndex_1()
		{
			int[] value = {0,2,1,-1,0,3,2,-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,11,10,-1,0,12,11,-1,0,13,12,-1,0,14,13,-1,0,15,14,-1,0,16,15,-1,0,17,16,-1,0,18,17,-1,0,19,18,-1,0,20,19,-1,0,1,20,-1,1,2,21,-1,2,3,22,-1,3,4,23,-1,4,5,24,-1,5,6,25,-1,6,7,27,-1,7,8,28,-1,8,9,29,-1,9,10,30,-1,10,11,31,-1,11,12,31,-1,12,13,32,-1,13,14,33,-1,14,15,34,-1,15,16,35,-1,16,17,37,-1,17,18,38,-1,18,19,39,-1,19,20,40,-1,20,1,21,-1,21,22,41,-1,22,23,42,-1,23,24,43,-1,24,25,44,-1,25,26,45,-1,26,27,47,-1,27,28,48,-1,28,29,49,-1,29,30,50,-1,30,31,51,-1,31,32,51,-1,32,33,52,-1,33,34,53,-1,34,35,54,-1,35,36,55,-1,36,37,57,-1,37,38,58,-1,38,39,59,-1,39,40,60,-1,40,21,41,-1,41,42,61,-1,42,43,62,-1,43,44,63,-1,44,45,64,-1,45,46,65,-1,46,47,67,-1,47,48,68,-1,48,49,69,-1,49,50,70,-1,50,51,71,-1,51,52,71,-1,52,53,72,-1,53,54,73,-1,54,55,74,-1,55,56,75,-1,56,57,77,-1,57,58,78,-1,58,59,79,-1,59,60,80,-1,60,41,61,-1,61,62,81,-1,62,63,82,-1,63,64,83,-1,64,65,84,-1,65,66,85,-1,66,67,87,-1,67,68,88,-1,68,69,89,-1,69,70,90,-1,70,71,91,-1,71,72,91,-1,72,73,92,-1,73,74,93,-1,74,75,94,-1,75,76,95,-1,76,77,97,-1,77,78,98,-1,78,79,99,-1,79,80,100,-1,80,61,81,-1,81,82,102,-1,82,83,102,-1,83,84,103,-1,84,85,104,-1,85,86,105,-1,86,87,107,-1,87,88,108,-1,88,89,109,-1,89,90,110,-1,90,91,110,-1,91,92,111,-1,92,93,112,-1,93,94,113,-1,94,95,114,-1,95,96,115,-1,96,97,117,-1,97,98,118,-1,98,99,119,-1,99,100,120,-1,100,81,101,-1,101,102,122,-1,102,103,122,-1,103,104,123,-1,104,105,124,-1,105,106,125,-1,106,107,127,-1,107,108,128,-1,108,109,129,-1,109,110,130,-1,110,111,130,-1,111,112,131,-1,112,113,132,-1,113,114,133,-1,114,115,134,-1,115,116,135,-1,116,117,137,-1,117,118,138,-1,118,119,139,-1,119,120,140,-1,120,101,121,-1,121,122,142,-1,122,123,142,-1,123,124,143,-1,124,125,144,-1,125,126,145,-1,126,127,147,-1,127,128,148,-1,128,129,149,-1,129,130,150,-1,130,131,150,-1,131,132,151,-1,132,133,152,-1,133,134,153,-1,134,135,154,-1,135,136,155,-1,136,137,157,-1,137,138,158,-1,138,139,159,-1,139,140,160,-1,140,121,141,-1,141,142,162,-1,142,143,163,-1,143,144,163,-1,144,145,164,-1,147,148,168,-1,148,149,169,-1,149,150,169,-1,150,151,170,-1,151,152,171,-1,152,153,172,-1,153,154,173,-1,154,155,174,-1,155,156,175,-1,156,157,177,-1,157,158,178,-1,158,159,179,-1,159,160,180,-1,160,141,161,-1,172,173,183,-1,173,174,184,-1,174,175,185,-1,175,176,186,-1,176,177,188,-1,177,178,189,-1,178,179,190,-1,179,180,191,-1,166,145,146,-1,165,145,166,-1,147,166,146,-1,166,147,167,-1,162,193,161,-1,193,162,194,-1,195,181,161,-1,163,196,162,-1,196,163,197,-1,196,198,162,-1,199,163,200,-1,164,200,163,-1,164,201,200,-1,203,202,163,-1,205,164,165,-1,204,164,205,-1,205,165,206,-1,207,165,166,-1,208,166,167,-1,168,209,167,-1,209,168,210,-1,211,208,167,-1,169,212,168,-1,169,213,212,-1,214,210,168,-1,215,169,170,-1,213,169,215,-1,217,216,170,-1,182,170,171,-1,182,218,170,-1,182,171,183,-1,181,180,161,-1,191,180,181,-1,182,183,219,-1,221,220,183,-1,223,222,183,-1,184,223,183,-1,224,223,184,-1,185,225,184,-1,185,226,225,-1,184,228,227,-1,184,229,228,-1,186,230,185,-1,186,231,230,-1,233,232,185,-1,192,186,187,-1,192,231,186,-1,188,234,187,-1,234,188,235,-1,236,192,187,-1,189,237,188,-1,237,189,238,-1,240,239,188,-1,190,241,189,-1,241,190,242,-1,244,243,189,-1,191,245,190,-1,191,246,245,-1,247,242,190,-1,181,248,191,-1,248,249,191,-1,171,172,183,-1,2,22,21,-1,3,23,22,-1};
			return value;
		}
		private int[] getIndexedFaceSet_4_17_coordIndex_2()
		{
			int[] value = {4,24,23,-1,5,25,24,-1,6,26,25,-1,6,27,26,-1,7,28,27,-1,8,29,28,-1,9,30,29,-1,10,31,30,-1,12,32,31,-1,13,33,32,-1,14,34,33,-1,15,35,34,-1,16,36,35,-1,16,37,36,-1,17,38,37,-1,18,39,38,-1,19,40,39,-1,20,21,40,-1,22,42,41,-1,23,43,42,-1,24,44,43,-1,25,45,44,-1,26,46,45,-1,26,47,46,-1,27,48,47,-1,28,49,48,-1,29,50,49,-1,30,51,50,-1,32,52,51,-1,33,53,52,-1,34,54,53,-1,35,55,54,-1,36,56,55,-1,36,57,56,-1,37,58,57,-1,38,59,58,-1,39,60,59,-1,40,41,60,-1,42,62,61,-1,43,63,62,-1,44,64,63,-1,45,65,64,-1,46,66,65,-1,46,67,66,-1,47,68,67,-1,48,69,68,-1,49,70,69,-1,50,71,70,-1,52,72,71,-1,53,73,72,-1,54,74,73,-1,55,75,74,-1,56,76,75,-1,56,77,76,-1,57,78,77,-1,58,79,78,-1,59,80,79,-1,60,61,80,-1,62,82,81,-1,63,83,82,-1,64,84,83,-1,65,85,84,-1,66,86,85,-1,66,87,86,-1,67,88,87,-1,68,89,88,-1,69,90,89,-1,70,91,90,-1,72,92,91,-1,73,93,92,-1,74,94,93,-1,75,95,94,-1,76,96,95,-1,76,97,96,-1,77,98,97,-1,78,99,98,-1,79,100,99,-1,80,81,100,-1,81,102,101,-1,83,103,102,-1,84,104,103,-1,85,105,104,-1,86,106,105,-1,86,107,106,-1,87,108,107,-1,88,109,108,-1,89,110,109,-1,91,111,110,-1,92,112,111,-1,93,113,112,-1,94,114,113,-1,95,115,114,-1,96,116,115,-1,96,117,116,-1,97,118,117,-1,98,119,118,-1,99,120,119,-1,100,101,120,-1,101,122,121,-1,103,123,122,-1,104,124,123,-1,105,125,124,-1,106,126,125,-1,106,127,126,-1,107,128,127,-1,108,129,128,-1,109,130,129,-1,111,131,130,-1,112,132,131,-1,113,133,132,-1,114,134,133,-1,115,135,134,-1,116,136,135,-1,116,137,136,-1,117,138,137,-1,118,139,138,-1,119,140,139,-1,120,121,140,-1,121,142,141,-1,123,143,142,-1,124,144,143,-1,125,145,144,-1,126,146,145,-1,126,147,146,-1,127,148,147,-1,128,149,148,-1,129,150,149,-1,131,151,150,-1,132,152,151,-1,133,153,152,-1,134,154,153,-1,135,155,154,-1,136,156,155,-1,136,157,156,-1,137,158,157,-1,138,159,158,-1,139,160,159,-1,140,141,160,-1,141,162,161,-1,142,163,162,-1,144,164,163,-1,145,165,164,-1,147,168,167,-1,148,169,168,-1,150,170,169,-1,151,171,170,-1,152,172,171,-1,153,173,172,-1,154,174,173,-1,155,175,174,-1,156,176,175,-1,156,177,176,-1,157,178,177,-1,158,179,178,-1,159,180,179,-1,160,161,180,-1,173,184,183,-1,174,185,184,-1,175,186,185,-1,176,187,186,-1,176,188,187,-1,177,189,188,-1,178,190,189,-1,179,191,190,-1};
			return value;
		}


		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_4_17_texCoordIndex_1()
		{
			int[] value = {0,2,1,-1,0,3,2,-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,11,10,-1,0,12,11,-1,0,13,12,-1,0,14,13,-1,0,15,14,-1,0,16,15,-1,0,17,16,-1,0,18,17,-1,0,19,18,-1,0,20,19,-1,0,1,20,-1,1,2,21,-1,2,3,22,-1,3,4,23,-1,4,5,24,-1,5,6,25,-1,6,7,27,-1,7,8,28,-1,8,9,29,-1,9,10,30,-1,10,11,31,-1,11,12,31,-1,12,13,32,-1,13,14,33,-1,14,15,34,-1,15,16,35,-1,16,17,37,-1,17,18,38,-1,18,19,39,-1,19,20,40,-1,20,1,21,-1,21,22,41,-1,22,23,42,-1,23,24,43,-1,24,25,44,-1,25,26,45,-1,26,27,47,-1,27,28,48,-1,28,29,49,-1,29,30,50,-1,30,31,51,-1,31,32,51,-1,32,33,52,-1,33,34,53,-1,34,35,54,-1,35,36,55,-1,36,37,57,-1,37,38,58,-1,38,39,59,-1,39,40,60,-1,40,21,41,-1,41,42,61,-1,42,43,62,-1,43,44,63,-1,44,45,64,-1,45,46,65,-1,46,47,67,-1,47,48,68,-1,48,49,69,-1,49,50,70,-1,50,51,71,-1,51,52,71,-1,52,53,72,-1,53,54,73,-1,54,55,74,-1,55,56,75,-1,56,57,77,-1,57,58,78,-1,58,59,79,-1,59,60,80,-1,60,41,61,-1,61,62,81,-1,62,63,82,-1,63,64,83,-1,64,65,84,-1,65,66,85,-1,66,67,87,-1,67,68,88,-1,68,69,89,-1,69,70,90,-1,70,71,91,-1,71,72,91,-1,72,73,92,-1,73,74,93,-1,74,75,94,-1,75,76,95,-1,76,77,97,-1,77,78,98,-1,78,79,99,-1,79,80,100,-1,80,61,81,-1,81,82,102,-1,82,83,102,-1,83,84,103,-1,84,85,104,-1,85,86,105,-1,86,87,107,-1,87,88,108,-1,88,89,109,-1,89,90,110,-1,90,91,110,-1,91,92,111,-1,92,93,112,-1,93,94,113,-1,94,95,114,-1,95,96,115,-1,96,97,117,-1,97,98,118,-1,98,99,119,-1,99,100,120,-1,100,81,101,-1,101,102,122,-1,102,103,122,-1,103,104,123,-1,104,105,124,-1,105,106,125,-1,106,107,127,-1,107,108,128,-1,108,109,129,-1,109,110,130,-1,110,111,130,-1,111,112,131,-1,112,113,132,-1,113,114,133,-1,114,115,134,-1,115,116,135,-1,116,117,137,-1,117,118,138,-1,118,119,139,-1,119,120,140,-1,120,101,121,-1,121,122,142,-1,122,123,142,-1,123,124,143,-1,124,125,144,-1,125,126,145,-1,126,127,147,-1,127,128,148,-1,128,129,149,-1,129,130,150,-1,130,131,150,-1,131,132,151,-1,132,133,152,-1,133,134,153,-1,134,135,154,-1,135,136,155,-1,136,137,157,-1,137,138,158,-1,138,139,159,-1,139,140,160,-1,140,121,141,-1,141,142,162,-1,142,143,163,-1,143,144,163,-1,144,145,164,-1,147,148,168,-1,148,149,169,-1,149,150,169,-1,150,151,170,-1,151,152,171,-1,152,153,172,-1,153,154,173,-1,154,155,174,-1,155,156,175,-1,156,157,177,-1,157,158,178,-1,158,159,179,-1,159,160,180,-1,160,141,161,-1,172,173,183,-1,173,174,184,-1,174,175,185,-1,175,176,186,-1,176,177,188,-1,177,178,189,-1,178,179,190,-1,179,180,191,-1,166,145,146,-1,165,145,166,-1,147,166,146,-1,166,147,167,-1,162,193,161,-1,193,162,194,-1,195,181,161,-1,163,196,162,-1,196,163,197,-1,196,198,162,-1,199,163,200,-1,164,200,163,-1,164,201,200,-1,203,202,163,-1,205,164,165,-1,204,164,205,-1,205,165,206,-1,207,165,166,-1,208,166,167,-1,168,209,167,-1,209,168,210,-1,211,208,167,-1,169,212,168,-1,169,213,212,-1,214,210,168,-1,215,169,170,-1,213,169,215,-1,217,216,170,-1,182,170,171,-1,182,218,170,-1,182,171,183,-1,181,180,161,-1,191,180,181,-1,182,183,219,-1,221,220,183,-1,223,222,183,-1,184,223,183,-1,224,223,184,-1,185,225,184,-1,185,226,225,-1,184,228,227,-1,184,229,228,-1,186,230,185,-1,186,231,230,-1,233,232,185,-1,192,186,187,-1,192,231,186,-1,188,234,187,-1,234,188,235,-1,236,192,187,-1,189,237,188,-1,237,189,238,-1,240,239,188,-1,190,241,189,-1,241,190,242,-1,244,243,189,-1,191,245,190,-1,191,246,245,-1,247,242,190,-1,181,248,191,-1,248,249,191,-1,171,172,183,-1,2,22,21,-1,3,23,22,-1};
			return value;
		}
		private int[] getIndexedFaceSet_4_17_texCoordIndex_2()
		{
			int[] value = {4,24,23,-1,5,25,24,-1,6,26,25,-1,6,27,26,-1,7,28,27,-1,8,29,28,-1,9,30,29,-1,10,31,30,-1,12,32,31,-1,13,33,32,-1,14,34,33,-1,15,35,34,-1,16,36,35,-1,16,37,36,-1,17,38,37,-1,18,39,38,-1,19,40,39,-1,20,21,40,-1,22,42,41,-1,23,43,42,-1,24,44,43,-1,25,45,44,-1,26,46,45,-1,26,47,46,-1,27,48,47,-1,28,49,48,-1,29,50,49,-1,30,51,50,-1,32,52,51,-1,33,53,52,-1,34,54,53,-1,35,55,54,-1,36,56,55,-1,36,57,56,-1,37,58,57,-1,38,59,58,-1,39,60,59,-1,40,41,60,-1,42,62,61,-1,43,63,62,-1,44,64,63,-1,45,65,64,-1,46,66,65,-1,46,67,66,-1,47,68,67,-1,48,69,68,-1,49,70,69,-1,50,71,70,-1,52,72,71,-1,53,73,72,-1,54,74,73,-1,55,75,74,-1,56,76,75,-1,56,77,76,-1,57,78,77,-1,58,79,78,-1,59,80,79,-1,60,61,80,-1,62,82,81,-1,63,83,82,-1,64,84,83,-1,65,85,84,-1,66,86,85,-1,66,87,86,-1,67,88,87,-1,68,89,88,-1,69,90,89,-1,70,91,90,-1,72,92,91,-1,73,93,92,-1,74,94,93,-1,75,95,94,-1,76,96,95,-1,76,97,96,-1,77,98,97,-1,78,99,98,-1,79,100,99,-1,80,81,100,-1,81,102,101,-1,83,103,102,-1,84,104,103,-1,85,105,104,-1,86,106,105,-1,86,107,106,-1,87,108,107,-1,88,109,108,-1,89,110,109,-1,91,111,110,-1,92,112,111,-1,93,113,112,-1,94,114,113,-1,95,115,114,-1,96,116,115,-1,96,117,116,-1,97,118,117,-1,98,119,118,-1,99,120,119,-1,100,101,120,-1,101,122,121,-1,103,123,122,-1,104,124,123,-1,105,125,124,-1,106,126,125,-1,106,127,126,-1,107,128,127,-1,108,129,128,-1,109,130,129,-1,111,131,130,-1,112,132,131,-1,113,133,132,-1,114,134,133,-1,115,135,134,-1,116,136,135,-1,116,137,136,-1,117,138,137,-1,118,139,138,-1,119,140,139,-1,120,121,140,-1,121,142,141,-1,123,143,142,-1,124,144,143,-1,125,145,144,-1,126,146,145,-1,126,147,146,-1,127,148,147,-1,128,149,148,-1,129,150,149,-1,131,151,150,-1,132,152,151,-1,133,153,152,-1,134,154,153,-1,135,155,154,-1,136,156,155,-1,136,157,156,-1,137,158,157,-1,138,159,158,-1,139,160,159,-1,140,141,160,-1,141,162,161,-1,142,163,162,-1,144,164,163,-1,145,165,164,-1,147,168,167,-1,148,169,168,-1,150,170,169,-1,151,171,170,-1,152,172,171,-1,153,173,172,-1,154,174,173,-1,155,175,174,-1,156,176,175,-1,156,177,176,-1,157,178,177,-1,158,179,178,-1,159,180,179,-1,160,161,180,-1,173,184,183,-1,174,185,184,-1,175,186,185,-1,176,187,186,-1,176,188,187,-1,177,189,188,-1,178,190,189,-1,179,191,190,-1};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getCoordinate_5_17_point_1()
		{
			double[] value = {3.1020440288018973E-16,71.533889770507813,-1.1485209465026855,1.0287755727767944,71.450759887695313,-1.1513442993164063,0.97842377424240112,71.461845397949219,-0.75670462846755981,0.83229696750640869,71.471847534179688,-0.4006950855255127,0.60469913482666016,71.479782104492188,-0.11816427111625671,0.31790915131568909,71.484878540039063,0.063231669366359711,3.7319874609330447E-16,71.48663330078125,0.12573644518852234,-0.31790915131568909,71.484878540039063,0.063231669366359711,-0.60469913482666016,71.479782104492188,-0.11816427111625671,-0.83229696750640869,71.471847534179688,-0.4006950855255127,-0.97842377424240112,71.461845397949219,-0.75670462846755981,-1.0287755727767944,71.450759887695313,-1.1513442993164063,-0.97842377424240112,71.439674377441406,-1.5459840297698975,-0.83229696750640869,71.429679870605469,-1.9019935131072998,-0.60469913482666016,71.421737670898438,-2.1845242977142334,-0.31790915131568909,71.416641235351563,-2.3659203052520752,-7.9251494215369818E-16,71.414886474609375,-2.4284250736236572,0.31790915131568909,71.416641235351563,-2.3659203052520752,0.60469913482666016,71.421737670898438,-2.1845242977142334,0.83229696750640869,71.429679870605469,-1.9019935131072998,0.97842377424240112,71.439674377441406,-1.5459840297698975,2.032219409942627,71.203422546386719,-1.1597447395324707,1.9327554702758789,71.225318908691406,-0.38018280267715454,1.6440999507904053,71.245071411132813,0.323070228099823,1.1945085525512695,71.260749816894531,0.88117498159408569,0.62799030542373657,71.27081298828125,1.2395002841949463,4.3464193375198018E-16,71.274284362792969,1.3629708290100098,-0.62799030542373657,71.27081298828125,1.2395002841949463,-1.1945085525512695,71.260749816894531,0.88117498159408569,-1.6440999507904053,71.245071411132813,0.323070228099823,-1.9327554702758789,71.225318908691406,-0.38018280267715454,-2.032219409942627,71.203422546386719,-1.1597447395324707,-1.9327554702758789,71.1815185546875,-1.9393067359924316,-1.6440999507904053,71.161766052246094,-2.6425597667694092,-1.1945085525512695,71.146087646484375,-3.2006645202636719,-0.62799030542373657,71.136024475097656,-3.5589897632598877,-1.868081613741945E-15,71.132553100585938,-3.6824603080749512,0.62799030542373657,71.136024475097656,-3.5589897632598877,1.1945085525512695,71.146087646484375,-3.2006645202636719,1.6440999507904053,71.161766052246094,-2.6425597667694092,1.9327554702758789,71.1815185546875,-1.9393067359924316,2.9856231212615967,70.797958374023438,-1.1735155582427979,2.839496374130249,70.830123901367188,-0.028226636350154877,2.4154198169708252,70.859146118164063,1.0049533843994141,1.7549052238464355,70.882179260253906,1.8248897790908813,0.92260825634002686,70.89697265625,2.3513212203979492,4.9302108560308187E-16,70.902061462402344,2.532717227935791,-0.92260825634002686,70.89697265625,2.3513212203979492,-1.7549052238464355,70.882179260253906,1.8248897790908813,-2.4154198169708252,70.859146118164063,1.0049533843994141,-2.839496374130249,70.830123901367188,-0.028226636350154877,-2.9856231212615967,70.797958374023438,-1.1735155582427979,-2.839496374130249,70.765785217285156,-2.3188045024871826,-2.4154198169708252,70.736763000488281,-3.3519845008850098,-1.7549052238464355,70.713729858398438,-4.1719207763671875,-0.92260825634002686,70.698944091796875,-4.6983523368835449,-2.8900116180112078E-15,70.69384765625,-4.8797483444213867,0.92260825634002686,70.698944091796875,-4.6983523368835449,1.7549052238464355,70.713729858398438,-4.1719207763671875,2.4154198169708252,70.736763000488281,-3.3519845008850098,2.839496374130249,70.765785217285156,-2.3188045024871826,3.8655109405517578,70.244354248046875,-1.1923174858093262,3.6763193607330322,70.286003112792969,0.29049751162528992,3.1272640228271484,70.323577880859375,1.6281642913818359,2.2720904350280762,70.353401184082031,2.6897425651550293,1.1945085525512695,70.372543334960938,3.3713178634643555,5.4689868085600057E-16,70.379142761230469,3.6061725616455078,-1.1945085525512695,70.372543334960938,3.3713178634643555,-2.2720904350280762,70.353401184082031,2.6897425651550293,-3.1272640228271484,70.323577880859375,1.6281642913818359,-3.6763193607330322,70.286003112792969,0.29049751162528992,-3.8655109405517578,70.244354248046875,-1.1923174858093262,-3.6763193607330322,70.20269775390625,-2.6751325130462646,-3.1272640228271484,70.165122985839844,-4.0127992630004883,-2.2720904350280762,70.135299682617188,-5.0743775367736816,-1.1945085525512695,70.116157531738281,-5.7559528350830078,-3.8331417236809294E-15,70.10955810546875,-5.9908075332641602,1.1945085525512695,70.116157531738281,-5.7559528350830078,2.2720904350280762,70.135299682617188,-5.0743775367736816,3.1272640228271484,70.165122985839844,-4.0127992630004883,3.6763193607330322,70.20269775390625,-2.6751325130462646,4.6502170562744141,69.556243896484375,-1.2156877517700195,4.4226193428039551,69.606353759765625,0.56814157962799072,3.7621045112609863,69.65155029296875,2.1773571968078613,2.7333290576934814,69.687431335449219,3.4544379711151123,1.4369961023330688,69.710456848144531,4.2743744850158691,5.9494805415709925E-16,69.718399047851563,4.5569052696228027,-1.4369961023330688,69.710456848144531,4.2743744850158691,-2.7333290576934814,69.687431335449219,3.4544379711151123,-3.7621045112609863,69.65155029296875,2.1773571968078613,-4.4226193428039551,69.606353759765625,0.56814157962799072,-4.6502170562744141,69.556243896484375,-1.2156877517700195,-4.4226193428039551,69.506134033203125,-2.9995169639587402,-3.7621045112609863,69.460929870605469,-4.6087327003479004,-2.7333290576934814,69.425056457519531,-5.8858132362365723,-1.4369961023330688,69.402023315429688,-6.70574951171875,-4.6742488284362387E-15,69.394088745117188,-6.9882802963256836,1.4369961023330688,69.402023315429688,-6.70574951171875,2.7333290576934814,69.425056457519531,-5.8858132362365723,3.7621045112609863,69.460929870605469,-4.6087327003479004};
			return value;
		}
		private double[] getCoordinate_5_17_point_2()
		{
			double[] value = {4.4226193428039551,69.506134033203125,-2.9995169639587402,5.3204193115234375,68.750564575195313,-1.2430506944656372,5.0600194931030273,68.807899475097656,0.79786908626556396,4.3043098449707031,68.859619140625,2.6390094757080078,3.1272640228271484,68.900657653808594,4.1001467704772949,1.6440999507904053,68.927009582519531,5.0382542610168457,6.3598611223730046E-16,68.93609619140625,5.3615045547485352,-1.6440999507904053,68.927009582519531,5.0382542610168457,-3.1272640228271484,68.900657653808594,4.1001467704772949,-4.3043098449707031,68.859619140625,2.6390094757080078,-5.0600194931030273,68.807899475097656,0.79786908626556396,-5.3204193115234375,68.750564575195313,-1.2430506944656372,-5.0600194931030273,68.6932373046875,-3.2839703559875488,-4.3043098449707031,68.641517639160156,-5.1251106262207031,-3.1272640228271484,68.600479125976563,-6.5862479209899902,-1.6440999507904053,68.574127197265625,-7.5243558883666992,-5.3926225532002943E-15,68.565040588378906,-7.8476057052612305,1.6440999507904053,68.574127197265625,-7.5243558883666992,3.1272640228271484,68.600479125976563,-6.5862479209899902,4.3043098449707031,68.641517639160156,-5.1251106262207031,5.0600194931030273,68.6932373046875,-3.2839703559875488,5.8596153259277344,67.84716796875,-1.2737326622009277,5.5728254318237305,67.910308837890625,0.97402334213256836,4.7405285835266113,67.967269897460938,3.0017533302307129,3.4441955089569092,68.012474060058594,4.610969066619873,1.810720682144165,68.041496276855469,5.6441488265991211,6.6900234479052982E-16,68.051498413085938,6.0001587867736816,-1.810720682144165,68.041496276855469,5.6441488265991211,-3.4441955089569092,68.012474060058594,4.610969066619873,-4.7405285835266113,67.967269897460938,3.0017533302307129,-5.5728254318237305,67.910308837890625,0.97402334213256836,-5.8596153259277344,67.84716796875,-1.2737326622009277,-5.5728254318237305,67.784027099609375,-3.5214886665344238,-4.7405285835266113,67.727066040039063,-5.5492186546325684,-3.4441955089569092,67.681869506835938,-7.1584343910217285,-1.810720682144165,67.652839660644531,-8.1916141510009766,-5.9705734619026375E-15,67.642845153808594,-8.5476236343383789,1.810720682144165,67.652839660644531,-8.1916141510009766,3.4441955089569092,67.681869506835938,-7.1584343910217285,4.7405285835266113,67.727066040039063,-5.5492186546325684,5.5728254318237305,67.784027099609375,-3.5214886665344238,6.2545280456542969,66.868293762207031,-1.3069782257080078,5.9484095573425293,66.935684204101563,1.0922667980194092,5.0600194931030273,66.996482849121094,3.2566571235656738,3.6763193607330322,67.04473876953125,4.9743270874023438,1.9327554702758789,67.075714111328125,6.0771389007568359,6.9318381194566001E-16,67.086387634277344,6.4571418762207031,-1.9327554702758789,67.075714111328125,6.0771389007568359,-3.6763193607330322,67.04473876953125,4.9743270874023438,-5.0600194931030273,66.996482849121094,3.2566571235656738,-5.9484095573425293,66.935684204101563,1.0922667980194092,-6.2545280456542969,66.868293762207031,-1.3069782257080078,-5.9484095573425293,66.800895690917969,-3.7062232494354248,-5.0600194931030273,66.740097045898438,-5.8706135749816895,-3.6763193607330322,66.691848754882813,-7.5882835388183594,-1.9327554702758789,66.660865783691406,-8.6910953521728516,-6.3938705539964488E-15,66.650192260742188,-9.0710983276367188,1.9327554702758789,66.660865783691406,-8.6910953521728516,3.6763193607330322,66.691848754882813,-7.5882835388183594,5.0600194931030273,66.740097045898438,-5.8706135749816895,5.9484095573425293,66.800895690917969,-3.7062232494354248,6.4954338073730469,65.838035583496094,-1.3419686555862427,6.1775245666503906,65.908027648925781,1.1496880054473877,5.2549161911010742,65.971168518066406,3.3974440097808838,3.8179199695587158,66.021278381347656,5.1812734603881836,2.0071992874145508,66.053451538085938,6.3265624046325684,7.0793499660121205E-16,66.064537048339844,6.7212018966674805,-2.0071992874145508,66.053451538085938,6.3265624046325684,-3.8179199695587158,66.021278381347656,5.1812734603881836,-5.2549161911010742,65.971168518066406,3.3974440097808838,-6.1775245666503906,65.908027648925781,1.1496880054473877,-6.4954338073730469,65.838035583496094,-1.3419686555862427,-6.1775245666503906,65.768043518066406,-3.8336255550384521,-5.2549161911010742,65.704902648925781,-6.0813813209533691,-3.8179199695587158,65.654792785644531,-7.8652105331420898,-2.0071992874145508,65.62261962890625,-9.0104999542236328,-6.6520915125822377E-15,65.611534118652344,-9.4051389694213867,2.0071992874145508,65.62261962890625,-9.0104999542236328,3.8179199695587158,65.654792785644531,-7.8652105331420898,5.2549161911010742,65.704902648925781,-6.0813813209533691,6.1775245666503906,65.768043518066406,-3.8336255550384521,6.5763998031616211,64.781768798828125,-1.3778425455093384,-6.5763998031616211,64.781768798828125,-1.3778425455093384,-6.2545280456542969,64.710906982421875,-3.9005579948425293,-5.3204193115234375,64.646980285644531,-6.1763324737548828,-3.8655109405517578,64.596244812011719,-7.9823975563049316,-2.032219409942627,64.563674926757813,-9.141963005065918,-6.7388772378084924E-15,64.552452087402344,-9.5415210723876953,2.032219409942627,64.563674926757813,-9.141963005065918,3.8655109405517578,64.596244812011719,-7.9823975563049316,5.3204193115234375,64.646980285644531,-6.1763324737548828,6.2545280456542969,64.710906982421875,-3.9005579948425293,-6.6520915125822377E-15,63.499008178710938,-9.4768867492675781,6.3119382858276367,65.08746337890625,0.55223542451858521,6.2305283546447754,65.181564331054688,1.1463737487792969,6.3119382858276367,65.08746337890625,0.55223542451858521,5.7170257568359375,65.375343322753906,2.3698112964630127,5.2817211151123047,65.539604187011719,3.4069392681121826,6.2305283546447754,65.181564331054688,1.1463737487792969,4.7897772789001465,65.635093688964844,4.0098385810852051};
			return value;
		}
		private double[] getCoordinate_5_17_point_3()
		{
			double[] value = {4.2730975151062012,65.735389709472656,4.6430521011352539,3.826918363571167,65.821990966796875,5.1898646354675293,5.2817211151123047,65.539604187011719,3.4069392681121826,4.7897772789001465,65.635093688964844,4.0098385810852051,3.826918363571167,65.821990966796875,5.1898646354675293,2.1119775772094727,65.992210388183594,6.2645487785339355,2.0084095001220703,66.002487182617188,6.3294506072998047,2.0084095001220703,66.002487182617188,6.3294506072998047,-2.0084095001220703,66.002487182617188,6.3294506072998047,-2.1119775772094727,65.992210388183594,6.2645487785339355,-3.826918363571167,65.821990966796875,5.1898646354675293,-2.1119775772094727,65.992210388183594,6.2645487785339355,-4.1829547882080078,65.752883911132813,4.7535266876220703,-5.2817211151123047,65.539604187011719,3.4069392681121826,-4.1829547882080078,65.752883911132813,4.7535266876220703,-5.7170257568359375,65.375343322753906,2.3698112964630127,-5.7170257568359375,65.375343322753906,2.3698112964630127,-6.2305283546447754,65.181564331054688,1.1463737487792969,-6.2305283546447754,65.181564331054688,1.1463737487792969,-6.3119382858276367,64.47607421875,-3.3079204559326172,-6.3119382858276367,64.47607421875,-3.3079204559326172,-6.2305283546447754,64.381973266601563,-3.9020588397979736,-6.2305283546447754,64.381973266601563,-3.9020588397979736,-5.7170257568359375,64.188201904296875,-5.1254963874816895,-5.2817211151123047,64.023933410644531,-6.1626243591308594,-4.1829547882080078,63.810657501220703,-7.509211540222168,-3.826918363571167,63.741550445556641,-7.9455499649047852,-5.2817211151123047,64.023933410644531,-6.1626243591308594,-4.2730975151062012,63.828155517578125,-7.3987369537353516,-4.1829547882080078,63.810657501220703,-7.509211540222168,-2.1119775772094727,63.571334838867188,-9.0202341079711914,-2.0084095001220703,63.561054229736328,-9.0851354598999023,-3.826918363571167,63.741550445556641,-7.9455499649047852,-2.1119775772094727,63.571334838867188,-9.0202341079711914,1.9146437644958496,63.558158874511719,-9.1034250259399414,2.0084095001220703,63.561054229736328,-9.0851354598999023,1.9146437644958496,63.558158874511719,-9.1034250259399414,3.5223658084869385,63.711318969726563,-8.1364002227783203,3.826918363571167,63.741550445556641,-7.9455499649047852,2.0084095001220703,63.561054229736328,-9.0851354598999023,3.5223658084869385,63.711318969726563,-8.1364002227783203,4.7897772789001465,63.928447723388672,-6.7655239105224609,5.2817211151123047,64.023933410644531,-6.1626243591308594,3.826918363571167,63.741550445556641,-7.9455499649047852,4.7897772789001465,63.928447723388672,-6.7655239105224609,5.7170257568359375,64.188201904296875,-5.1254963874816895,6.2305283546447754,64.381973266601563,-3.9020588397979736,5.7170257568359375,64.188201904296875,-5.1254963874816895,6.3119382858276367,64.47607421875,-3.3079204559326172,6.2305283546447754,64.381973266601563,-3.9020588397979736};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getNormal_5_18_vector_1()
		{
			double[] value = {0,0.99960571527481079,-0.028079383075237274,0.16029725968837738,0.9866795539855957,-0.027716286480426788,0.15289177000522614,0.98816686868667603,0.012260586954653263,0.13049493730068207,0.99025911092758179,0.048559185117483139,0.09511268138885498,0.99243885278701782,0.077579975128173828,0.050118498504161835,0.99408650398254395,0.096333645284175873,9.9393832152830918E-18,0.99469995498657227,0.10282021015882492,-0.050118498504161835,0.99408650398254395,0.096333645284175873,-0.09511268138885498,0.99243885278701782,0.077579975128173828,-0.13049493730068207,0.99025911092758179,0.048559185117483139,-0.15289177000522614,0.98816686868667603,0.012260586954653263,-0.16029725968837738,0.9866795539855957,-0.027716286480426788,-0.15214516222476959,0.98604899644851685,-0.067521795630455017,-0.12928275763988495,0.98620522022247314,-0.10336951911449432,-0.093895383179187775,0.98681557178497314,-0.1318284273147583,-0.049363579601049423,0.98743408918380737,-0.15012381970882416,-1.7123252778734432E-16,0.98768836259841919,-0.15643446147441864,0.049363579601049423,0.98743408918380737,-0.15012381970882416,0.093895383179187775,0.98681557178497314,-0.1318284273147583,0.12928275763988495,0.98620522022247314,-0.10336951911449432,0.15214516222476959,0.98604899644851685,-0.067521795630455017,0.31607279181480408,0.9483608603477478,-0.026639891788363457,0.30251488089561462,0.95170056819915771,0.052448045462369919,0.2595895528793335,0.95759069919586182,0.12503328919410706,0.19031822681427002,0.96433842182159424,0.18393032252788544,0.10074465721845627,0.96970546245574951,0.22253511846065521,2.0013906235961422E-17,0.97175198793411255,0.23600451648235321,-0.10074465721845627,0.96970546245574951,0.22253511846065521,-0.19031822681427002,0.96433842182159424,0.18393032252788544,-0.2595895528793335,0.95759069919586182,0.12503328919410706,-0.30251488089561462,0.95170056819915771,0.052448045462369919,-0.31607279181480408,0.9483608603477478,-0.026639891788363457,-0.2997143566608429,0.94822388887405396,-0.10508476942777634,-0.2549973726272583,0.95079797506332397,-0.17595310509204865,-0.18564900755882263,0.95467489957809448,-0.23265922069549561,-0.097819402813911438,0.95803797245025635,-0.26943379640579224,-3.3961971308618384E-16,0.95935851335525513,-0.28219008445739746,0.097819402813911438,0.95803797245025635,-0.26943379640579224,0.18564900755882263,0.95467489957809448,-0.23265922069549561,0.2549973726272583,0.95079797506332397,-0.17595310509204865,0.2997143566608429,0.94822388887405396,-0.10508476942777634,0.46305057406425476,0.88598239421844482,-0.024887653067708015,0.4448205828666687,0.89094346761703491,0.091402545571327209,0.38434571027755737,0.90134680271148682,0.19963042438030243,0.2841014564037323,0.91409903764724731,0.2893255352973938,0.15139898657798767,0.92466598749160767,0.3493867814540863,3.015496518357168E-17,0.92878198623657227,0.37062659859657288,-0.15139898657798767,0.92466598749160767,0.3493867814540863,-0.2841014564037323,0.91409903764724731,0.2893255352973938,-0.38434571027755737,0.90134680271148682,0.19963042438030243,-0.4448205828666687,0.89094346761703491,0.091402545571327209,-0.46305057406425476,0.88598239421844482,-0.024887653067708015,-0.43917253613471985,0.88744640350341797,-0.13987997174263,-0.37493970990180969,0.89420861005783081,-0.2445632666349411,-0.27434659004211426,0.90339452028274536,-0.32956385612487793,-0.14518564939498901,0.91119188070297241,-0.38555222749710083,-5.0493709216549616E-16,0.91424268484115601,-0.40516701340675354,0.14518564939498901,0.91119188070297241,-0.38555222749710083,0.27434659004211426,0.90339452028274536,-0.32956385612487793,0.37493970990180969,0.89420861005783081,-0.2445632666349411,0.43917253613471985,0.88744640350341797,-0.13987997174263,0.5974050760269165,0.80162340402603149,-0.022517971694469452,0.57590806484222412,0.80742216110229492,0.12806016206741333,0.50149643421173096,0.8218080997467041,0.27043065428733826,0.37438875436782837,0.8405722975730896,0.39149877429008484,0.20121617615222931,0.85678035020828247,0.47480469942092896,4.0213041372130618E-17,0.86324161291122437,0.50479096174240112,-0.20121617615222931,0.85678035020828247,0.47480469942092896,-0.37438875436782837,0.8405722975730896,0.39149877429008484,-0.50149643421173096,0.8218080997467041,0.27043065428733826,-0.57590806484222412,0.80742216110229492,0.12806016206741333,-0.5974050760269165,0.80162340402603149,-0.022517971694469452,-0.56734031438827515,0.80550670623779297,-0.17112551629543304,-0.48694548010826111,0.81734055280685425,-0.3079586923122406,-0.35890454053878784,0.83286368846893311,-0.42133793234825134,-0.19113273918628693,0.84606385231018066,-0.49763864278793335,-6.6639485974152586E-16,0.85126161575317383,-0.52474147081375122,0.19113273918628693,0.84606385231018066,-0.49763864278793335,0.35890454053878784,0.83286368846893311,-0.42133793234825134,0.48694548010826111,0.81734055280685425,-0.3079586923122406,0.56734031438827515,0.80550670623779297,-0.17112551629543304,0.71589630842208862,0.69793128967285156,-0.019605211913585663,0.69221138954162598,0.70341008901596069,0.16142372786998749,0.60753768682479858,0.72002494335174561,0.3353535532951355,0.45845326781272888,0.74311399459838867,0.48744457960128784,0.24879753589630127,0.76395189762115479,0.59537994861602783,4.9920171296562909E-17,0.77247351408004761,0.63504695892333984,-0.24879753589630127,0.76395189762115479,0.59537994861602783,-0.45845326781272888,0.74311399459838867,0.48744457960128784,-0.60753768682479858,0.72002494335174561,0.3353535532951355,-0.69221138954162598,0.70341008901596069,0.16142372786998749,-0.71589630842208862,0.69793128967285156,-0.019605211913585663,-0.68141430616378784,0.70456498861312866,-0.19814831018447876,-0.58879506587982178,0.72124230861663818,-0.36486971378326416,-0.43790861964225769,0.7428249716758728,-0.50640600919723511,-0.23506088554859161,0.76139622926712036,-0.60417068004608154,-8.2216797745029513E-16,0.76879417896270752,-0.63949626684188843,0.23506088554859161,0.76139622926712036,-0.60417068004608154,0.43790861964225769,0.7428249716758728,-0.50640600919723511,0.58879506587982178,0.72124230861663818,-0.36486971378326416};
			return value;
		}
		private double[] getNormal_5_18_vector_2()
		{
			double[] value = {0.68141430616378784,0.70456498861312866,-0.19814831018447876,0.81592577695846558,0.57792866230010986,-0.016234282404184341,0.79066532850265503,0.5818217396736145,0.19060903787612915,0.69892716407775879,0.5980181097984314,0.39226919412612915,0.53296774625778198,0.62216341495513916,0.57346153259277344,0.29213058948516846,0.64498239755630493,0.70615679025650024,5.8862351060285761E-17,0.65456968545913696,0.75600165128707886,-0.29213058948516846,0.64498239755630493,0.70615679025650024,-0.53296774625778198,0.62216341495513916,0.57346153259277344,-0.69892716407775879,0.5980181097984314,0.39226919412612915,-0.79066532850265503,0.5818217396736145,0.19060903787612915,-0.81592577695846558,0.57792866230010986,-0.016234282404184341,-0.77896076440811157,0.58707129955291748,-0.22038017213344574,-0.67815732955932617,0.60723328590393066,-0.41396909952163696,-0.50948774814605713,0.63316214084625244,-0.58269029855728149,-0.2759767472743988,0.65583789348602295,-0.70264750719070435,-9.6887853083771304E-16,0.66500258445739746,-0.74684107303619385,0.2759767472743988,0.65583789348602295,-0.70264750719070435,0.50948774814605713,0.63316214084625244,-0.58269029855728149,0.67815732955932617,0.60723328590393066,-0.41396909952163696,0.77896076440811157,0.58707129955291748,-0.22038017213344574,0.8955223560333252,0.44484099745750427,-0.012495789676904678,0.86882555484771729,0.44605883955955505,0.21488070487976074,0.7723773717880249,0.45887449383735657,0.43916666507720947,0.59428077936172485,0.4798283576965332,0.64544183015823364,0.3286798894405365,0.5006445050239563,0.80082744359970093,6.6487606349264989E-17,0.50963592529296875,0.86039018630981445,-0.3286798894405365,0.5006445050239563,0.80082744359970093,-0.59428077936172485,0.4798283576965332,0.64544183015823364,-0.7723773717880249,0.45887449383735657,0.43916666507720947,-0.86882555484771729,0.44605883955955505,0.21488070487976074,-0.8955223560333252,0.44484099745750427,-0.012495789676904678,-0.85789722204208374,0.45571547746658325,-0.23735152184963226,-0.75259435176849365,0.4770696759223938,-0.45387914776802063,-0.57126027345657349,0.5043063759803772,-0.64756220579147339,-0.31239596009254456,0.52850079536437988,-0.78936409950256348,-1.1011219732442643E-15,0.53842562437057495,-0.84267300367355347,0.31239596009254456,0.52850079536437988,-0.78936409950256348,0.57126027345657349,0.5043063759803772,-0.64756220579147339,0.75259435176849365,0.4770696759223938,-0.45387914776802063,0.85789722204208374,0.45571547746658325,-0.23735152184963226,0.95328068733215332,0.30196690559387207,-0.0084823900833725929,0.9249303936958313,0.29983413219451904,0.23367339372634888,0.82518959045410156,0.30667969584465027,0.47435182332992554,0.63893276453018188,0.32024687528610229,0.69943320751190186,0.35574811697006226,0.33468511700630188,0.87259906530380249,7.2180514787761142E-17,0.34112095832824707,0.94001942873001099,-0.35574811697006226,0.33468511700630188,0.87259906530380249,-0.63893276453018188,0.32024687528610229,0.69943320751190186,-0.82518959045410156,0.30667969584465027,0.47435182332992554,-0.9249303936958313,0.29983413219451904,0.23367339372634888,-0.95328068733215332,0.30196690559387207,-0.0084823900833725929,-0.91647833585739136,0.31340405344963074,-0.2486872524023056,-0.80964404344558716,0.33312085270881653,-0.48322564363479614,-0.62040925025939941,0.3577326238155365,-0.69793963432312012,-0.3423328697681427,0.37977054715156555,-0.85940825939178467,-1.2112945957815655E-15,0.38891544938087463,-0.92127346992492676,0.3423328697681427,0.37977054715156555,-0.85940825939178467,0.62040925025939941,0.3577326238155365,-0.69793963432312012,0.80964404344558716,0.33312085270881653,-0.48322564363479614,0.91647833585739136,0.31340405344963074,-0.2486872524023056,0.98827874660491943,0.1525999903678894,-0.0042866040021181107,0.9579046368598938,0.14699815213680267,0.24659745395183563,0.85555046796798706,0.14626862108707428,0.49662747979164124,0.66430580615997314,0.14947198331356049,0.73236322402954102,0.37109187245368958,0.15415036678314209,0.91571199893951416,7.5409563201372145E-17,0.15643446147441864,0.98768836259841919,-0.37109187245368958,0.15415036678314209,0.91571199893951416,-0.66430580615997314,0.14947198331356049,0.73236322402954102,-0.85555046796798706,0.14626862108707428,0.49662747979164124,-0.9579046368598938,0.14699815213680267,0.24659745395183563,-0.98827874660491943,0.1525999903678894,-0.0042866040021181107,-0.95329797267913818,0.16325631737709045,-0.25410687923431396,-0.84699058532714844,0.1785099059343338,-0.500740647315979,-0.65394580364227295,0.19643926620483398,-0.73059320449829102,-0.36346885561943054,0.21225303411483765,-0.9071047306060791,-1.290158868885098E-15,0.21881736814975739,-0.97576582431793213,0.36346885561943054,0.21225303411483765,-0.9071047306060791,0.65394580364227295,0.19643926620483398,-0.73059320449829102,0.84699058532714844,0.1785099059343338,-0.500740647315979,0.95329797267913818,0.16325631737709045,-0.25410687923431396,1,0,0,-1,-3.3537624345656231E-18,9.8747861997069882E-17,-0.96731501817703247,0.0086072692647576332,-0.25343161821365356,-0.86270952224731445,0.017165126278996468,-0.50540840625762939,-0.66917860507965088,0.025223331525921822,-0.74267339706420898,-0.37356895208358765,0.031485900282859802,-0.92706787586212158,-1.3285476726040838E-15,0.033943314105272293,-0.99942374229431152,0.37356895208358765,0.031485900282859802,-0.92706787586212158,0.66917860507965088,0.025223331525921822,-0.74267339706420898,0.86270952224731445,0.017165126278996468,-0.50540840625762939,0.96731501817703247,0.0086072692647576332,-0.25343161821365356,-1.3200484381322157E-15,-0.15643446147441864,-0.98768836259841919,0.98074406385421753,0.030551251024007797,0.19289302825927734,0.96691352128982544,0.039907131344079971,0.25196370482444763,0.98074406385421753,0.030551251024007797,0.19289302825927734,0.91970330476760864,0.061418373137712479,0.38778033852577209,0.86128795146942139,0.079487033188343048,0.50186139345169067,0.96691352128982544,0.039907131344079971,0.25196370482444763,0.80672043561935425,0.092442341148853302,0.58365792036056519};
			return value;
		}
		private double[] getNormal_5_18_vector_3()
		{
			double[] value = {0.73681646585464478,0.10576421767473221,0.66776901483535767,0.66680449247360229,0.11658007651567459,0.73605763912200928,0.86128795146942139,0.079487033188343048,0.50186139345169067,0.80672043561935425,0.092442341148853302,0.58365792036056519,0.66680449247360229,0.11658007651567459,0.73605763912200928,0.39063909649848938,0.14400479197502136,0.90921050310134888,0.37150982022285461,0.14523829519748688,0.91699850559234619,0.37150982022285461,0.14523829519748688,0.91699850559234619,-0.37150982022285461,0.14523829519748688,0.91699850559234619,-0.39063909649848938,0.14400479197502136,0.90921050310134888,-0.66680449247360229,0.11658007651567459,0.73605763912200928,-0.39063909649848938,0.14400479197502136,0.90921050310134888,-0.7233504056930542,0.10801505297422409,0.6819801926612854,-0.86128795146942139,0.079487033188343048,0.50186139345169067,-0.7233504056930542,0.10801505297422409,0.6819801926612854,-0.91970330476760864,0.061418373137712479,0.38778033852577209,-0.91970330476760864,0.061418373137712479,0.38778033852577209,-0.96691352128982544,0.039907131344079971,0.25196370482444763,-0.96691352128982544,0.039907131344079971,0.25196370482444763,-0.98074406385421753,-0.030551251024007797,-0.19289302825927734,-0.98074406385421753,-0.030551251024007797,-0.19289302825927734,-0.96691352128982544,-0.039907131344079971,-0.25196370482444763,-0.96691352128982544,-0.039907131344079971,-0.25196370482444763,-0.91970330476760864,-0.061418373137712479,-0.38778033852577209,-0.86128795146942139,-0.079487033188343048,-0.50186139345169067,-0.7233504056930542,-0.10801505297422409,-0.6819801926612854,-0.66680449247360229,-0.11658007651567459,-0.73605763912200928,-0.86128795146942139,-0.079487033188343048,-0.50186139345169067,-0.73681646585464478,-0.10576421767473221,-0.66776901483535767,-0.7233504056930542,-0.10801505297422409,-0.6819801926612854,-0.39063909649848938,-0.14400479197502136,-0.90921050310134888,-0.37150982022285461,-0.14523829519748688,-0.91699850559234619,-0.66680449247360229,-0.11658007651567459,-0.73605763912200928,-0.39063909649848938,-0.14400479197502136,-0.90921050310134888,0.35567843914031982,-0.14620496332645416,-0.92310184240341187,0.37150982022285461,-0.14523829519748688,-0.91699850559234619,0.35567843914031982,-0.14620496332645416,-0.92310184240341187,0.62483674287796021,-0.12213705480098724,-0.77114301919937134,0.66680449247360229,-0.11658007651567459,-0.73605763912200928,0.37150982022285461,-0.14523829519748688,-0.91699850559234619,0.62483674287796021,-0.12213705480098724,-0.77114301919937134,0.80672043561935425,-0.092442341148853302,-0.58365792036056519,0.86128795146942139,-0.079487033188343048,-0.50186139345169067,0.66680449247360229,-0.11658007651567459,-0.73605763912200928,0.80672043561935425,-0.092442341148853302,-0.58365792036056519,0.91970330476760864,-0.061418373137712479,-0.38778033852577209,0.96691352128982544,-0.039907131344079971,-0.25196370482444763,0.91970330476760864,-0.061418373137712479,-0.38778033852577209,0.98074406385421753,-0.030551251024007797,-0.19289302825927734,0.96691352128982544,-0.039907131344079971,-0.25196370482444763};
			return value;
		}

		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=4, element #17, 1656 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_4_17_coordIndex()
		{
			MFInt32 IndexedFaceSet_4_17_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_4_17_coordIndex_1()))
				.append(new MFInt32(getIndexedFaceSet_4_17_coordIndex_2()));
			return IndexedFaceSet_4_17_coordIndex;
		}
		/** Large attribute array: IndexedFaceSet texCoordIndex field, scene-graph level=4, element #17, 1656 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_4_17_texCoordIndex()
		{
			MFInt32 IndexedFaceSet_4_17_texCoordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_4_17_texCoordIndex_1()))
				.append(new MFInt32(getIndexedFaceSet_4_17_texCoordIndex_2()));
			return IndexedFaceSet_4_17_texCoordIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=5, element #17, 750 total numbers made up of 250 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_5_17_point()
		{
			MFVec3f Coordinate_5_17_point = new MFVec3f()/*2.finalize*/
				.append(new MFVec3f(getCoordinate_5_17_point_1()))
				.append(new MFVec3f(getCoordinate_5_17_point_2()))
				.append(new MFVec3f(getCoordinate_5_17_point_3()));
			return Coordinate_5_17_point;
		}
		/** Large attribute array: Normal vector field, scene-graph level=5, element #18, 750 total numbers made up of 250 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 getNormal_5_18_vector()
		{
			MFVec3f Normal_5_18_vector = new MFVec3f()/*2.finalize*/
				.append(new MFVec3f(getNormal_5_18_vector_1()))
				.append(new MFVec3f(getNormal_5_18_vector_2()))
				.append(new MFVec3f(getNormal_5_18_vector_3()));
			return Normal_5_18_vector;
		}

	/** 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 LargeHelmetWithNormals 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 LargeHelmetWithNormals().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: \"HumanoidAnimation.Coveroid.LargeHelmetWithNormals\" 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("HumanoidAnimation.Coveroid.LargeHelmetWithNormals self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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