package HumanoidAnimation.Skeleton;

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

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * <p> intervertebral disc. </p>
 <p> Related links:  source t7disc.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.Skeleton.t7disc&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/Skeleton/t7disc.x3d">t7disc.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> intervertebral disc </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> creator </i> </td>
			<td> Joe Williams, John Carlson, Damon Hernandez, Don Brutzman </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> translator </i> </td>
			<td> Don Brutzman </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> created </i> </td>
			<td> 5 December 2013 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> translated </i> </td>
			<td> 5 March 2026 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> modified </i> </td>
			<td> 8 March 2026 </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/Skeleton/originals/t7disc.x3d">originals/t7disc.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="https://en.wikipedia.org/wiki/Intervertebral_disc" target="_blank">https://en.wikipedia.org/wiki/Intervertebral_disc</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="https://en.wikipedia.org/wiki/List_of_bones_of_the_human_skeleton" target="_blank">https://en.wikipedia.org/wiki/List_of_bones_of_the_human_skeleton</a> </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/Basic/Medical" target="_blank">https://www.web3d.org/x3d/content/examples/Basic/Medical</a> </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/Medical" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Medical</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> generator </i> </td>
			<td> X3D Tidy, <a href="https://www.web3d.org/x3d/stylesheets/X3dTidy.html" target="_blank">https://www.web3d.org/x3d/stylesheets/X3dTidy.html</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/Skeleton/t7disc.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/t7disc.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/Skeleton/../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 Joe Williams, John Carlson, Damon Hernandez, Don Brutzman
 */

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

	/** Create and initialize the X3D model for this object. */
	public final void initialize()
	{
            try { // catch-all
  x3dModel = new X3D().setProfile(X3D.PROFILE_INTERACTIVE).setVersion(X3D.VERSION_3_3)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("t7disc.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("intervertebral disc"))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Joe Williams, John Carlson, Damon Hernandez, Don Brutzman"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATOR ).setContent("Don Brutzman"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("5 December 2013"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATED ).setContent("5 March 2026"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("8 March 2026"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("originals/t7disc.x3d"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://en.wikipedia.org/wiki/Intervertebral_disc"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://en.wikipedia.org/wiki/List_of_bones_of_the_human_skeleton"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://www.web3d.org/x3d/content/examples/Basic/Medical"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Medical"))
    .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_GENERATOR  ).setContent("X3D Tidy, https://www.web3d.org/x3d/stylesheets/X3dTidy.html"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/t7disc.x3d"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../license.html")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setTitle("t7disc.x3d"))
    .addChild(new TouchSensor().setDescription("cartilage t7disc"))
    .addChild(new Transform("t7disc")
      .addChild(new Shape()
        .setAppearance(new Appearance()
          .setMaterial(new Material("CartilageMaterial").setAmbientIntensity(0.965).setDiffuseColor(0.9843,0.949,0.7843).setShininess(0.05).setSpecularColor(0.9647,0.949,0.9098)))
        .setGeometry(new IndexedFaceSet("t7disc_geometry").setDEF("t7disc_geometry").setCreaseAngle(1.571).setCoordIndex(gett7disc_geometry_5_22_coordIndex())
          .setCoord(new Coordinate("t7disc_coordinate").setPoint(gett7disc_coordinate_6_22_point()))))));
            }
            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 subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=1 */
		private int[] gett7disc_geometry_5_22_coordIndex_1()
		{
			int[] value = {0,1,2,-1,2,3,0,-1,4,5,6,-1,7,8,9,-1,7,10,11,-1,12,13,14,-1,15,16,17,-1,18,19,20,-1,21,5,22,-1,23,24,19,-1,25,26,27,-1,27,28,29,-1,30,31,32,-1,31,33,34,-1,35,36,37,-1,38,39,40,-1,41,42,43,-1,44,45,46,-1,47,48,49,-1,50,51,52,-1,53,54,55,-1,56,57,58,-1,59,60,61,-1,62,63,64,-1,65,66,67,-1,68,69,70,-1,71,72,73,-1,74,75,76,-1,77,78,79,-1,80,81,82,-1,83,84,85,-1,86,74,87,-1,88,89,90,-1,91,92,93,-1,94,95,96,-1,97,98,99,-1,100,101,93,-1,102,103,95,-1,104,105,106,-1,106,107,104,-1,108,109,110,-1,111,112,113,-1,114,115,112,-1,116,117,118,-1,119,120,121,-1,66,122,123,-1,124,125,126,-1,91,105,104,-1,102,127,106,-1,101,128,106,-1,99,129,130,-1,131,132,133,-1,134,131,135,-1,100,131,134,-1,136,137,79,-1,80,138,81,-1,137,139,140,-1,141,90,142,-1,143,85,84,-1,144,145,146,-1,147,148,149,-1,83,77,147,-1,86,150,151,-1,152,153,154,-1,64,63,155,-1,156,51,50,-1,157,126,125,-1,158,117,159,-1,160,161,162,-1,49,48,62,-1,163,164,165,-1,166,167,168,-1,41,32,169,-1,39,38,26,-1,170,171,28,-1,41,172,32,-1,173,174,35,-1,175,176,177,-1,178,179,180,-1,4,181,17,-1,2,182,183,-1,184,185,186,-1,13,187,188,-1,189,13,12,-1,2,1,9,-1,182,2,8,-1,8,6,5,-1,108,1,0,-1,189,190,191,-1,190,192,193,-1,194,191,190,-1,58,195,196,-1,197,198,199,-1,164,200,201,-1,202,54,53,-1,202,203,54,-1,164,163,200,-1,204,197,199,-1,58,196,205,-1,194,190,193,-1,189,191,187,-1,108,0,109,-1,21,8,5,-1,8,7,6,-1,2,9,8,-1,7,206,10,-1,7,207,206,-1,23,181,11,-1,13,189,187,-1,183,3,2,-1,208,4,17,-1,171,175,177,-1,178,209,43,-1,26,25,210,-1,170,28,179,-1,39,26,210,-1,41,169,211,-1,168,212,166,-1,163,165,46,-1,62,50,49,-1,213,214,215,-1,125,216,157,-1,156,50,64,-1,155,216,64,-1,153,65,154,-1,148,84,149,-1,147,149,83,-1,147,217,148,-1,144,89,145,-1,84,218,143,-1,148,74,84,-1,140,82,137,-1,136,139,137,-1,100,134,219,-1,107,220,104,-1,135,221,134,-1,131,133,135,-1,129,222,130,-1,101,106,105,-1,102,106,223,-1,127,224,107,-1,103,110,225,-1,113,98,111,-1,126,226,124,-1,123,67,66,-1,68,119,121,-1,116,118,227,-1,114,112,111,-1,110,103,108,-1,106,127,107,-1,95,224,102,-1,224,127,102,-1,98,129,99,-1,99,228,97,-1,229,230,231,-1,94,224,95,-1,92,132,93,-1,138,232,81,-1,138,150,233,-1,79,78,136,-1,83,149,84,-1,82,234,80,-1,79,147,77,-1,74,86,75,-1,235,71,73,-1,70,119,68,-1,67,154,65,-1,62,64,50,-1,236,85,237,-1,53,55,238,-1,52,49,50,-1,47,49,238,-1,46,165,44,-1,30,239,31,-1,38,40,239,-1,35,37,240,-1,31,215,33,-1,241,242,174,-1,27,29,243,-1,170,179,178,-1,243,25,27,-1,19,15,23,-1,13,244,14,-1,11,6,7,-1,9,207,7,-1,8,21,182,-1,3,245,0,-1,192,190,189,-1,166,56,167,-1,57,56,166,-1,201,246,164,-1,246,201,247,-1,199,248,204,-1,248,199,249,-1,250,167,56,-1,251,167,250,-1,0,252,253,-1,0,245,252,-1,17,196,208,-1,16,196,17,-1,254,255,256,-1,257,255,254,-1,192,12,258,-1,192,189,12,-1,259,260,261,-1,260,259,262,-1,108,9,1,-1,263,9,108,-1,259,10,206,-1,10,259,264,-1,23,244,24,-1,11,244,23,-1,11,14,244,-1,209,41,43,-1,41,209,172,-1,42,265,43,-1,265,42,266,-1,267,268,240,-1,269,268,267,-1,41,270,42,-1,211,270,41,-1,34,32,31,-1,34,169,32,-1,211,241,271,-1,169,241,211,-1,30,38,239,-1,272,38,30,-1,272,26,38,-1,272,273,26,-1,274,275,276,-1,275,274,277,-1,278,214,279,-1,280,214,278,-1,281,168,282,-1,281,212,168,-1,251,168,167,-1,251,283,168,-1,204,284,278,-1,204,248,284,-1,274,164,246,-1,164,274,165,-1,203,185,285,-1,203,186,185,-1,286,20,198,-1,286,18,20,-1,187,200,287,-1,200,187,191,-1,44,288,45,-1,44,36,288,-1,289,215,40,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=2 */
		private int[] gett7disc_geometry_5_22_coordIndex_2()
		{
			int[] value = {289,213,215,-1,25,290,291,-1,290,25,243,-1,292,62,176,-1,63,62,292,-1,293,78,294,-1,293,136,78,-1,85,295,237,-1,295,85,143,-1,144,296,153,-1,296,144,146,-1,297,298,299,-1,300,298,297,-1,228,301,97,-1,302,301,228,-1,303,135,118,-1,303,304,135,-1,230,124,226,-1,124,230,305,-1,306,157,307,-1,306,126,157,-1,216,308,157,-1,155,308,216,-1,309,310,311,-1,309,312,310,-1,307,294,72,-1,293,294,307,-1,236,69,313,-1,236,237,69,-1,310,152,154,-1,162,152,310,-1,314,299,315,-1,297,299,314,-1,87,316,233,-1,87,217,316,-1,82,232,137,-1,82,81,232,-1,145,317,146,-1,145,267,317,-1,218,161,143,-1,218,142,161,-1,88,145,89,-1,145,88,318,-1,151,319,320,-1,151,266,319,-1,176,234,292,-1,175,234,176,-1,232,233,316,-1,232,138,233,-1,107,94,220,-1,107,224,94,-1,133,118,135,-1,133,227,118,-1,321,101,222,-1,321,128,101,-1,223,128,322,-1,223,106,128,-1,94,225,229,-1,96,225,94,-1,262,322,323,-1,262,324,322,-1,112,325,113,-1,325,112,326,-1,229,305,230,-1,225,305,229,-1,327,126,306,-1,327,226,126,-1,302,311,301,-1,309,311,302,-1,158,71,235,-1,158,159,71,-1,315,122,66,-1,315,299,122,-1,309,120,119,-1,309,302,120,-1,235,303,158,-1,235,328,303,-1,305,110,329,-1,110,305,225,-1,227,132,92,-1,227,133,132,-1,326,254,325,-1,326,257,254,-1,129,113,330,-1,113,129,98,-1,260,323,331,-1,260,262,323,-1,102,108,103,-1,102,263,108,-1,225,95,103,-1,225,96,95,-1,128,323,322,-1,128,321,323,-1,130,100,219,-1,130,101,100,-1,130,222,101,-1,101,91,93,-1,101,105,91,-1,91,220,92,-1,91,104,220,-1,319,332,320,-1,319,333,332,-1,334,318,88,-1,318,334,332,-1,74,217,87,-1,217,74,148,-1,142,335,161,-1,142,90,335,-1,292,82,140,-1,82,292,234,-1,79,217,147,-1,217,79,316,-1,275,336,296,-1,275,277,336,-1,237,70,69,-1,237,295,70,-1,73,294,337,-1,294,73,72,-1,73,328,235,-1,328,73,338,-1,312,119,70,-1,309,119,312,-1,66,336,315,-1,66,65,336,-1,231,226,327,-1,226,231,230,-1,221,304,121,-1,304,221,135,-1,123,97,301,-1,123,114,97,-1,335,153,152,-1,153,335,144,-1,85,339,83,-1,236,339,85,-1,308,136,293,-1,308,139,136,-1,62,177,176,-1,62,48,177,-1,210,291,281,-1,291,210,25,-1,280,215,214,-1,280,33,215,-1,276,36,44,-1,276,37,36,-1,340,297,247,-1,340,300,297,-1,287,188,187,-1,287,249,188,-1,18,250,205,-1,286,250,18,-1,202,186,203,-1,202,252,186,-1,55,341,342,-1,54,341,55,-1,290,238,55,-1,290,47,238,-1,343,248,344,-1,248,343,284,-1,251,345,283,-1,251,346,345,-1,283,282,168,-1,289,282,283,-1,280,284,59,-1,280,278,284,-1,276,165,274,-1,276,44,165,-1,43,347,178,-1,43,265,347,-1,273,27,26,-1,273,180,27,-1,241,173,271,-1,241,174,173,-1,36,174,288,-1,174,36,35,-1,40,31,239,-1,40,215,31,-1,240,173,35,-1,240,268,173,-1,319,42,270,-1,266,42,319,-1,23,17,181,-1,15,17,23,-1,348,24,244,-1,348,19,24,-1,348,20,19,-1,261,264,259,-1,264,261,258,-1,208,195,22,-1,195,208,196,-1,263,207,9,-1,349,207,263,-1,256,193,192,-1,256,255,193,-1,252,184,186,-1,252,245,184,-1,54,285,341,-1,203,285,54,-1,344,249,287,-1,344,248,249,-1,350,52,51,-1,350,351,52,-1,346,250,286,-1,346,251,250,-1,253,109,0,-1,253,352,109,-1,255,300,340,-1,300,255,257,-1,192,261,256,-1,258,261,192,-1,206,262,259,-1,262,206,324,-1,245,183,184,-1,245,3,183,-1,11,264,14,-1,264,11,10,-1,205,16,18,-1,196,16,205,-1,183,21,22,-1,182,21,183,-1,209,180,273,-1,180,209,178,-1,268,333,353,-1,333,268,269,-1,270,271,353,-1,271,270,211,-1,242,169,34,-1,242,241,169,-1,61,34,33,-1,34,61,242,-1,317,240,37,-1,240,317,267,-1,180,28,27,-1,179,28,180,-1,273,172,209,-1,272,172,273,-1,247,314,246,-1,247,297,314,-1,45,343,46,-1,45,60,343,-1,279,213,345,-1,214,213,279,-1,281,342,212,-1,281,291,342,-1,204,279,197,-1,204,278,279,-1,246,277,274,-1,246,314,277,-1,238,52,53,-1,52,238,49,-1,351,352,253,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=3 */
		private int[] gett7disc_geometry_5_22_coordIndex_3()
		{
			int[] value = {351,350,352,-1,285,58,57,-1,285,185,58,-1,199,20,348,-1,199,198,20,-1,191,201,200,-1,201,191,194,-1,61,45,288,-1,60,45,61,-1,282,40,39,-1,282,289,40,-1,243,47,290,-1,47,243,29,-1,155,292,140,-1,155,63,292,-1,337,78,77,-1,337,294,78,-1,143,160,295,-1,160,143,161,-1,146,275,296,-1,146,317,275,-1,299,115,122,-1,299,298,115,-1,354,302,228,-1,120,302,354,-1,118,158,303,-1,158,118,117,-1,329,124,305,-1,355,124,329,-1,307,308,293,-1,308,307,157,-1,154,311,310,-1,67,311,154,-1,313,68,356,-1,68,313,69,-1,307,71,306,-1,71,307,72,-1,236,338,339,-1,236,313,338,-1,312,162,310,-1,160,162,312,-1,80,347,138,-1,80,357,347,-1,234,357,80,-1,234,175,357,-1,141,75,334,-1,141,76,75,-1,74,218,84,-1,76,218,74,-1,320,86,151,-1,320,75,86,-1,318,267,145,-1,318,269,267,-1,265,151,150,-1,265,266,151,-1,86,233,150,-1,86,87,233,-1,228,130,354,-1,99,130,228,-1,330,222,129,-1,330,321,222,-1,220,229,116,-1,94,229,220,-1,322,349,223,-1,322,324,349,-1,325,260,331,-1,325,254,260,-1,298,112,115,-1,298,326,112,-1,231,116,229,-1,231,117,116,-1,306,159,327,-1,159,306,71,-1,356,121,304,-1,356,68,121,-1,67,301,311,-1,67,123,301,-1,355,125,124,-1,355,156,125,-1,156,350,51,-1,355,350,156,-1,303,356,304,-1,328,356,303,-1,109,329,110,-1,352,329,109,-1,300,326,298,-1,300,257,326,-1,331,113,325,-1,331,330,113,-1,98,114,111,-1,98,97,114,-1,223,263,102,-1,223,349,263,-1,116,92,220,-1,116,227,92,-1,321,331,323,-1,321,330,331,-1,219,354,130,-1,134,354,219,-1,221,354,134,-1,132,100,93,-1,132,131,100,-1,333,318,332,-1,333,269,318,-1,334,320,332,-1,334,75,320,-1,76,142,218,-1,141,142,76,-1,90,144,335,-1,90,89,144,-1,88,141,334,-1,90,141,88,-1,137,316,79,-1,232,316,137,-1,347,150,138,-1,150,347,265,-1,65,296,336,-1,153,296,65,-1,312,295,160,-1,295,312,70,-1,337,338,73,-1,337,339,338,-1,313,328,338,-1,356,328,313,-1,277,315,336,-1,314,315,277,-1,156,216,125,-1,156,64,216,-1,352,355,329,-1,350,355,352,-1,117,327,159,-1,327,117,231,-1,221,120,354,-1,121,120,221,-1,122,114,123,-1,122,115,114,-1,152,161,335,-1,152,162,161,-1,83,337,77,-1,339,337,83,-1,155,139,308,-1,155,140,139,-1,177,47,29,-1,48,47,177,-1,210,282,39,-1,281,282,210,-1,59,33,280,-1,59,61,33,-1,275,37,276,-1,317,37,275,-1,194,247,201,-1,247,194,340,-1,249,348,188,-1,249,199,348,-1,56,205,250,-1,56,58,205,-1,202,253,252,-1,202,351,253,-1,290,342,291,-1,290,55,342,-1,344,46,343,-1,344,163,46,-1,197,345,346,-1,197,279,345,-1,166,342,341,-1,166,212,342,-1,283,213,289,-1,213,283,345,-1,60,284,343,-1,60,59,284,-1,347,170,178,-1,170,347,357,-1,357,171,170,-1,171,357,175,-1,28,177,29,-1,28,171,177,-1,288,242,61,-1,242,288,174,-1,272,32,172,-1,272,30,32,-1,268,271,173,-1,268,353,271,-1,353,319,270,-1,319,353,333,-1,22,4,208,-1,5,4,22,-1,4,11,181,-1,6,11,4,-1,16,19,18,-1,16,15,19,-1,244,188,348,-1,244,13,188,-1,14,258,12,-1,258,14,264,-1,184,22,195,-1,184,183,22,-1,349,206,207,-1,324,206,349,-1,260,256,261,-1,254,256,260,-1,193,340,194,-1,340,193,255,-1,195,185,184,-1,185,195,58,-1,57,341,285,-1,57,166,341,-1,198,346,286,-1,197,346,198,-1,287,163,344,-1,163,287,200,-1,53,351,202,-1,351,53,52,-1};
			return value;
		}
		/** Large attribute array: IndexedFaceSet DEF='t7disc_geometry' coordIndex field, scene-graph level=5, element #22, 2848 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 gett7disc_geometry_5_22_coordIndex()
		{
			MFInt32 t7disc_geometry_5_22_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(gett7disc_geometry_5_22_coordIndex_1()))
				.append(new MFInt32(gett7disc_geometry_5_22_coordIndex_2()))
				.append(new MFInt32(gett7disc_geometry_5_22_coordIndex_3()));
			return t7disc_geometry_5_22_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='t7disc_coordinate' point field, scene-graph level=6, element #22, 1074 total numbers made up of 358 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 gett7disc_coordinate_6_22_point()
		{
			MFVec3f t7disc_coordinate_6_22_point = new MFVec3f(new double[] {0.0036,1.3604,-0.0893,0.0035,1.3611,-0.0868,0.0062,1.3617,-0.0866,0.0064,1.3616,-0.0868,0.0104,1.36,-0.0816,0.0086,1.3613,-0.0839,0.0091,1.3606,-0.0816,0.0065,1.3616,-0.0818,0.0065,1.3616,-0.0843,0.0033,1.3616,-0.084,0.0066,1.3614,-0.0788,0.0093,1.3609,-0.0789,0.0094,1.3598,-0.0726,0.0106,1.3599,-0.0728,0.0093,1.3604,-0.0758,0.012,1.3598,-0.0794,0.0122,1.3598,-0.0819,0.0109,1.3599,-0.0816,0.0147,1.3597,-0.0824,0.0122,1.3598,-0.079,0.0147,1.3592,-0.0797,0.0082,1.3614,-0.0844,0.0086,1.3613,-0.0845,0.0118,1.3599,-0.079,0.012,1.3598,-0.0788,0.0114,1.3562,-0.0898,0.0087,1.3537,-0.0863,0.0061,1.3541,-0.0892,0.0046,1.355,-0.0899,0.0063,1.3569,-0.0919,0.011,1.3536,-0.0825,0.0127,1.354,-0.0805,0.0102,1.3539,-0.0808,0.0143,1.3551,-0.0765,0.0122,1.3549,-0.0765,0.008,1.3549,-0.0672,0.0082,1.3554,-0.0648,0.0046,1.3551,-0.063,0.01,1.3537,-0.0847,0.0128,1.3549,-0.0871,0.0137,1.3545,-0.0854,0.0077,1.354,-0.0808,0.0046,1.3539,-0.081,0.0047,1.354,-0.0839,0.0084,1.3556,-0.0645,0.0114,1.3557,-0.0682,0.0113,1.3567,-0.0674,0.0063,1.3572,-0.0922,0.0036,1.3571,-0.0916,0.0035,1.3578,-0.0918,0.0,1.3574,-0.0915,0.0,1.3585,-0.0913,0.0035,1.3587,-0.0919,0.0066,1.3589,-0.0924,0.0096,1.359,-0.0918,0.0095,1.3582,-0.092,0.013,1.3594,-0.087,0.0129,1.3594,-0.0871,0.0127,1.3596,-0.0868,0.0132,1.3556,-0.0721,0.0131,1.3556,-0.0719,0.0129,1.3553,-0.0721,0.0,1.3565,-0.0914,-0.0036,1.3571,-0.0916,-0.0035,1.3578,-0.0918,-0.0081,1.3566,-0.064,-0.0077,1.3578,-0.0638,-0.011,1.3579,-0.0668,-0.0153,1.3578,-0.08,-0.0152,1.3564,-0.0803,-0.0148,1.3564,-0.0763,-0.0132,1.3584,-0.0878,-0.0129,1.3571,-0.0884,-0.0133,1.3565,-0.0873,-0.0102,1.3539,-0.0808,-0.0077,1.354,-0.0771,-0.0101,1.3545,-0.0767,-0.0128,1.3549,-0.0871,-0.012,1.3558,-0.0887,-0.0087,1.3537,-0.0863,-0.0039,1.3548,-0.0893,-0.0044,1.3546,-0.0894,-0.0046,1.355,-0.0899,-0.0137,1.3545,-0.0854,-0.0127,1.354,-0.0805,-0.0145,1.355,-0.0807,-0.0077,1.354,-0.0808,-0.0086,1.3538,-0.0828,-0.0078,1.3547,-0.0693,-0.008,1.3549,-0.0672,-0.0099,1.3551,-0.0693,-0.0104,1.36,-0.0816,-0.0109,1.3598,-0.0818,-0.0106,1.36,-0.0814,-0.0066,1.3616,-0.0867,-0.0062,1.3617,-0.0866,-0.0064,1.3616,-0.0868,-0.0118,1.3596,-0.0697,-0.0093,1.3596,-0.0697,-0.0106,1.3599,-0.0728,-0.0118,1.3599,-0.079,-0.0093,1.3609,-0.0789,-0.0033,1.3616,-0.084,-0.0035,1.3611,-0.0868,-0.0086,1.3613,-0.0839,-0.0091,1.3606,-0.0816,-0.0065,1.3616,-0.0818,-0.0082,1.3614,-0.0844,0.0,1.3612,-0.0864,0.0,1.3601,-0.0887,-0.0036,1.3604,-0.0893,-0.0079,1.3598,-0.068,-0.0062,1.36,-0.0664,-0.0065,1.3603,-0.0691,-0.0101,1.3593,-0.0666,-0.007,1.359,-0.0642,-0.0113,1.3599,-0.0864,-0.0127,1.3596,-0.0868,-0.0143,1.3594,-0.0845,-0.0147,1.3577,-0.0763,-0.0143,1.3587,-0.0764,-0.015,1.3589,-0.0797,-0.0071,1.3587,-0.0639,-0.0103,1.359,-0.0665,-0.0068,1.3596,-0.0921,-0.0066,1.3589,-0.0924,-0.0096,1.359,-0.0918,-0.0065,1.3616,-0.0843,-0.0066,1.3614,-0.0788,-0.0094,1.3598,-0.0726,-0.0113,1.3598,-0.0759,-0.012,1.3598,-0.0794,-0.0109,1.3599,-0.0816,-0.0122,1.3598,-0.0819,-0.0122,1.3598,-0.079,-0.0147,1.3597,-0.0824,-0.0114,1.3562,-0.0898,-0.0061,1.3541,-0.0892,-0.0048,1.3543,-0.0871,-0.0092,1.3573,-0.0917,-0.0063,1.3569,-0.0919,-0.0101,1.3547,-0.073,-0.0116,1.355,-0.0727,-0.0143,1.3551,-0.0765,-0.0082,1.3554,-0.0648,-0.0045,1.355,-0.0659,-0.0046,1.3551,-0.063,-0.01,1.3537,-0.0847,-0.011,1.3536,-0.0825,-0.0114,1.3537,-0.083,-0.0047,1.354,-0.0839,-0.0046,1.3539,-0.081,-0.0114,1.3557,-0.0682,-0.0084,1.3556,-0.0645,-0.0113,1.3567,-0.0674,-0.0063,1.3572,-0.0922,-0.0035,1.3587,-0.0919,-0.0095,1.3582,-0.092,-0.013,1.3594,-0.087,-0.0129,1.3594,-0.0871,-0.0132,1.3556,-0.0721,-0.0129,1.3553,-0.0721,-0.0131,1.3556,-0.0719,0.011,1.3579,-0.0668,0.0077,1.3578,-0.0638,0.0081,1.3566,-0.064,0.0132,1.3584,-0.0878,0.0133,1.3581,-0.0872,0.0133,1.3565,-0.0873,0.0101,1.3545,-0.0767,0.0039,1.3548,-0.0893,0.0037,1.3552,-0.09,0.0086,1.3538,-0.0828,0.0078,1.3547,-0.0693,0.0099,1.3551,-0.0693,0.0,1.3553,-0.0903,0.0,1.3561,-0.0912,0.0036,1.3567,-0.0913,0.0048,1.3543,-0.0871,0.0044,1.3546,-0.0894,0.0057,1.3538,-0.0889,0.0106,1.36,-0.0814,0.0064,1.3617,-0.0863,0.0066,1.3616,-0.0867,0.0092,1.3605,-0.0882,0.0111,1.3598,-0.09,0.0096,1.3597,-0.0912,0.0118,1.3596,-0.0697,0.0129,1.3593,-0.0732,0.0093,1.3596,-0.0697,0.0079,1.3598,-0.068,0.0101,1.3593,-0.0666,0.0065,1.3603,-0.0691,0.0062,1.36,-0.0664,0.007,1.359,-0.0642,0.0113,1.3599,-0.0864,0.0122,1.3594,-0.0838,0.0153,1.3578,-0.08,0.015,1.3589,-0.0797,0.0143,1.3587,-0.0764,0.0103,1.359,-0.0665,0.0071,1.3587,-0.0639,0.0068,1.3596,-0.0921,0.0098,1.3594,-0.0915,0.0147,1.3577,-0.0763,0.0143,1.3594,-0.0845,0.0033,1.3621,-0.0789,0.0033,1.362,-0.0816,0.0109,1.3598,-0.0818,0.0068,1.3538,-0.0849,0.012,1.3558,-0.0887,0.0077,1.354,-0.0771,0.0129,1.3571,-0.0884,0.0148,1.3553,-0.0807,0.0148,1.3553,-0.0806,0.0145,1.355,-0.0807,-0.0065,1.358,-0.0924,-0.0097,1.3535,-0.0842,-0.0122,1.3549,-0.0765,-0.012,1.3598,-0.0788,-0.0086,1.3613,-0.0845,-0.0147,1.3592,-0.0797,-0.0093,1.3604,-0.0758,-0.0033,1.362,-0.0816,-0.0064,1.3617,-0.0863,-0.0068,1.3604,-0.0891,-0.0098,1.3594,-0.0915,-0.0122,1.3594,-0.0838,-0.0129,1.3593,-0.0732,-0.0092,1.3605,-0.0882,-0.0096,1.3597,-0.0912,-0.0111,1.3598,-0.09,-0.0057,1.3538,-0.0889,-0.0068,1.3538,-0.0849,-0.0037,1.3552,-0.09,-0.0133,1.3581,-0.0872,-0.0148,1.3553,-0.0807,-0.0148,1.3553,-0.0806,0.0065,1.358,-0.0924,0.0114,1.3537,-0.083,0.0045,1.355,-0.0659,0.0101,1.3547,-0.073,0.0116,1.355,-0.0727,0.0092,1.3573,-0.0917,0.0113,1.3598,-0.0759,0.0068,1.3604,-0.0891,0.0038,1.3576,-0.0621,0.0033,1.3587,-0.0624,0.0135,1.358,-0.0726,0.0132,1.3591,-0.073,0.0146,1.3592,-0.0846,0.0147,1.3578,-0.085,0.0068,1.3598,-0.0918,0.0035,1.3597,-0.0915,0.0,1.3605,-0.0686,0.0028,1.3599,-0.0652,0.0032,1.3607,-0.0687,0.0,1.3598,-0.0653,0.0065,1.3606,-0.0724,0.0033,1.3616,-0.0756,0.0,1.3613,-0.0721,0.0034,1.3611,-0.0722,0.0,1.3616,-0.0755,0.0,1.3617,-0.0838,0.0066,1.3612,-0.0756,0.0,1.3543,-0.0845,0.0,1.3538,-0.081,0.0,1.3552,-0.0654,0.0044,1.3545,-0.0695,0.0,1.3544,-0.0694,0.0047,1.3537,-0.0773,0.0076,1.3544,-0.0733,0.0097,1.3535,-0.0842,0.0083,1.3534,-0.0859,0.0043,1.3563,-0.0622,0.0,1.3555,-0.0623,0.0047,1.3553,-0.0627,0.0,1.3564,-0.062,0.0148,1.3564,-0.0763,0.0152,1.3564,-0.0803,0.0145,1.3554,-0.0764,0.0123,1.356,-0.0887,0.0131,1.3551,-0.0872,0.0145,1.3562,-0.0853,0.0135,1.3567,-0.0722,0.0114,1.3596,-0.0901,0.015,1.3595,-0.0825,0.0121,1.3593,-0.0696,0.0112,1.3555,-0.0684,0.014,1.3548,-0.0855,0.0093,1.3577,-0.0919,0.0116,1.3565,-0.0899,-0.0036,1.3567,-0.0913,-0.0116,1.3565,-0.0899,-0.0123,1.356,-0.0887,-0.0145,1.3554,-0.0764,-0.0047,1.3553,-0.0627,0.0,1.3586,-0.0622,-0.0032,1.359,-0.0626,-0.0033,1.3587,-0.0624,0.0,1.3589,-0.0625,-0.0121,1.3593,-0.0696,-0.0132,1.3591,-0.073,-0.0146,1.3592,-0.0846,-0.015,1.3595,-0.0825,-0.0068,1.3598,-0.0918,-0.0117,1.3587,-0.0903,-0.0118,1.3575,-0.0903,-0.0093,1.3577,-0.0919,-0.0135,1.358,-0.0726,-0.0131,1.3568,-0.071,-0.0128,1.3582,-0.0702,-0.0135,1.3567,-0.0722,-0.0152,1.3566,-0.0813,0.0,1.3576,-0.062,-0.0038,1.3576,-0.0621,-0.0083,1.3534,-0.0859,0.0,1.3553,-0.0626,-0.0044,1.3545,-0.0695,0.0,1.3538,-0.0774,-0.0047,1.3537,-0.0773,-0.0066,1.3612,-0.0756,-0.0033,1.3621,-0.0789,-0.0033,1.3616,-0.0756,0.0,1.3623,-0.0787,-0.0032,1.3607,-0.0687,-0.0028,1.3599,-0.0652,-0.0114,1.3596,-0.0901,-0.0147,1.3578,-0.085,-0.0035,1.3597,-0.0915,-0.0065,1.3606,-0.0724,-0.0034,1.3611,-0.0722,-0.0044,1.3542,-0.0734,0.0,1.3541,-0.0735,-0.0076,1.3544,-0.0733,-0.0112,1.3555,-0.0684,-0.0043,1.3563,-0.0622,-0.0131,1.3551,-0.0872,-0.0145,1.3562,-0.0853,-0.014,1.3548,-0.0855,0.0032,1.359,-0.0626,0.0117,1.3587,-0.0903,0.0118,1.3575,-0.0903,0.0131,1.3568,-0.071,0.0128,1.3582,-0.0702,0.0152,1.3566,-0.0813,0.0153,1.3581,-0.0819,0.0,1.3548,-0.0873,0.014,1.359,-0.0764,0.0,1.3622,-0.0813,0.0,1.3593,-0.0911,0.0035,1.3594,-0.0917,0.0,1.3596,-0.0908,0.0044,1.3542,-0.0734,-0.014,1.359,-0.0764,-0.0035,1.3594,-0.0917,-0.0153,1.3581,-0.0819,0.0,1.355,-0.0896});
			return t7disc_coordinate_6_22_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 t7disc 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 t7disc().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.Skeleton.t7disc\" 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.Skeleton.t7disc self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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