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> tooth (TODO fix name). </p>
 <p> Related links:  source l_molar3c.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.l_molar3c&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/l_molar3c.x3d">l_molar3c.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> tooth (TODO fix name) </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/lmolar3c.x3d">originals/lmolar3c.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> *enter reference citation or relative/online url here* </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/l_molar3c.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/l_molar3c.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 l_molar3c
{
	/** Default constructor to create this object. */
	public l_molar3c ()
	{
	  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("l_molar3c.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("tooth (TODO fix name)"))
    .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/lmolar3c.x3d"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("*enter reference citation or relative/online url here*"))
    .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/l_molar3c.x3d"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../license.html")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setTitle("*TODO_add_title*"))
    .addChild(new TouchSensor().setDescription("tooth l_molar3c"))
    .addChild(new Transform("lmolar3c")
      .addChild(new Shape()
        .setAppearance(new Appearance()
          .setMaterial(new Material("ToothMaterial").setAmbientIntensity(0.4).setDiffuseColor(1.0,0.9843,0.9843).setShininess(0.05)))
        .setGeometry(new IndexedFaceSet("lmolar3c_geometry").setDEF("lmolar3c_geometry").setCreaseAngle(1.571).setCoordIndex(getlmolar3c_geometry_5_22_coordIndex())
          .setCoord(new Coordinate("lmolar3c_coordinate").setPoint(getlmolar3c_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[] getlmolar3c_geometry_5_22_coordIndex_1()
		{
			int[] value = {0,1,2,-1,3,4,5,-1,6,7,8,-1,9,10,11,-1,12,13,11,-1,14,15,16,-1,17,18,16,-1,19,20,21,-1,22,23,24,-1,25,26,27,-1,27,23,28,-1,29,26,25,-1,30,31,32,-1,33,34,35,-1,36,37,38,-1,39,40,41,-1,42,43,44,-1,45,46,47,-1,15,48,49,-1,50,49,51,-1,52,53,54,-1,55,56,53,-1,57,58,59,-1,60,58,61,-1,32,62,63,-1,64,65,66,-1,52,67,55,-1,68,30,69,-1,70,71,72,-1,73,74,75,-1,76,77,78,-1,62,79,80,-1,81,82,83,-1,84,85,86,-1,43,87,44,-1,88,89,90,-1,91,92,93,-1,94,95,96,-1,97,98,99,-1,100,60,101,-1,102,22,103,-1,104,99,105,-1,106,107,108,-1,109,110,111,-1,96,112,113,-1,114,115,116,-1,114,117,118,-1,111,110,118,-1,42,119,120,-1,120,121,42,-1,122,55,123,-1,124,103,125,-1,126,127,128,-1,129,130,131,-1,131,12,10,-1,132,73,133,-1,67,65,134,-1,135,51,136,-1,137,47,46,-1,138,139,140,-1,141,142,143,-1,144,145,146,-1,147,88,148,-1,85,84,7,-1,49,48,51,-1,149,150,80,-1,101,151,28,-1,152,24,153,-1,154,41,117,-1,35,36,155,-1,156,40,39,-1,157,156,34,-1,120,119,156,-1,158,35,34,-1,36,158,37,-1,159,118,41,-1,160,41,161,-1,23,22,102,-1,162,163,122,-1,163,164,165,-1,166,15,167,-1,31,30,82,-1,138,168,169,-1,170,124,125,-1,171,172,173,-1,174,137,175,-1,66,52,176,-1,73,177,133,-1,178,179,180,-1,181,182,183,-1,10,9,184,-1,185,186,187,-1,152,188,189,-1,190,22,24,-1,191,192,193,-1,120,85,194,-1,95,154,112,-1,82,30,83,-1,195,109,88,-1,148,111,159,-1,110,196,115,-1,117,114,197,-1,191,198,199,-1,116,92,193,-1,115,93,92,-1,200,201,202,-1,203,77,204,-1,102,103,124,-1,205,91,93,-1,206,207,208,-1,207,209,87,-1,210,211,212,-1,86,213,214,-1,85,120,213,-1,8,84,144,-1,215,208,216,-1,217,218,219,-1,131,127,220,-1,129,221,222,-1,81,146,79,-1,162,80,150,-1,31,223,62,-1,62,223,79,-1,128,127,131,-1,30,224,83,-1,176,52,225,-1,224,226,83,-1,65,52,66,-1,69,32,63,-1,227,228,229,-1,230,57,229,-1,135,231,54,-1,165,50,56,-1,232,48,15,-1,233,168,234,-1,41,40,119,-1,44,87,209,-1,119,44,235,-1,61,230,155,-1,26,236,27,-1,25,27,28,-1,124,237,100,-1,238,14,16,-1,239,18,240,-1,11,13,201,-1,10,12,11,-1,241,182,70,-1,241,70,72,-1,124,170,237,-1,201,242,11,-1,200,243,244,-1,240,19,239,-1,245,246,16,-1,142,141,247,-1,185,22,190,-1,151,25,28,-1,160,161,248,-1,155,36,61,-1,157,34,33,-1,44,209,235,-1,235,41,119,-1,43,207,87,-1,233,249,168,-1,250,47,21,-1,232,15,14,-1,165,49,50,-1,53,56,54,-1,50,54,56,-1,231,225,54,-1,57,245,229,-1,227,166,228,-1,69,63,123,-1,65,67,52,-1,52,54,225,-1,30,68,224,-1,128,131,251,-1,150,163,162,-1,81,79,223,-1,129,184,221,-1,219,179,217,-1,215,252,253,-1,8,144,254,-1,85,213,86,-1,86,214,145,-1,210,212,255,-1,42,44,119,-1,215,89,208,-1,207,43,208,-1,3,256,178,-1,113,94,96,-1,101,102,124,-1,22,185,103,-1,77,221,204,-1,115,92,116,-1,192,116,193,-1,191,257,198,-1,115,114,110,-1,159,235,148,-1,195,88,106,-1,258,116,192,-1,7,6,244,-1,95,112,96,-1,63,122,123,-1,190,24,189,-1,191,259,192,-1,189,24,152,-1,97,260,261,-1,187,103,185,-1,10,184,129,-1,4,181,183,-1,180,3,178,-1,73,262,177,-1,176,175,66,-1,137,263,175,-1,173,46,171,-1,169,264,138,-1,57,265,245,-1,265,246,245,-1,166,227,15,-1,165,56,163,-1,23,102,28,-1,196,109,205,-1,160,26,41,-1,41,235,159,-1,40,156,119,-1,34,266,158,-1,156,157,120,-1,156,266,34,-1,39,266,156,-1,35,158,36,-1,154,117,112,-1,41,118,117,-1,26,29,41,-1,153,94,152,-1,28,102,101,-1,80,267,149,-1,122,163,56,-1,85,7,194,-1,147,148,206,-1,81,144,146,-1,138,268,139,-1,46,173,137,-1,136,231,135,-1,67,134,269,-1,132,133,270,-1,10,129,131,-1,202,218,255,-1,180,4,3,-1,181,126,128,-1,25,151,38,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=2 */
		private int[] getlmolar3c_geometry_5_22_coordIndex_2()
		{
			int[] value = {120,194,121,-1,118,159,111,-1,150,164,163,-1,243,7,244,-1,114,118,110,-1,114,116,197,-1,109,196,110,-1,108,195,106,-1,104,105,271,-1,101,124,100,-1,154,95,153,-1,97,99,104,-1,153,95,94,-1,272,259,273,-1,89,147,208,-1,88,147,89,-1,208,147,206,-1,42,121,216,-1,274,81,83,-1,80,162,62,-1,62,32,31,-1,203,274,83,-1,77,226,78,-1,73,132,74,-1,70,275,71,-1,55,53,52,-1,64,66,276,-1,245,227,229,-1,265,57,59,-1,50,135,54,-1,55,122,56,-1,51,135,50,-1,49,167,15,-1,47,250,45,-1,39,41,29,-1,35,228,33,-1,32,69,30,-1,25,38,29,-1,27,236,23,-1,236,26,160,-1,16,246,17,-1,9,11,242,-1,6,277,244,-1,7,84,8,-1,278,177,279,-1,278,280,177,-1,2,281,0,-1,2,282,281,-1,283,284,285,-1,283,286,284,-1,287,288,289,-1,290,288,287,-1,291,292,172,-1,291,293,292,-1,294,233,234,-1,294,295,233,-1,296,297,298,-1,299,297,296,-1,300,19,240,-1,20,19,300,-1,301,19,21,-1,301,239,19,-1,136,225,231,-1,225,136,302,-1,228,149,33,-1,166,149,228,-1,0,303,304,-1,281,303,0,-1,176,302,305,-1,176,225,302,-1,251,70,128,-1,70,251,275,-1,223,82,81,-1,223,31,82,-1,79,267,80,-1,146,267,79,-1,130,222,270,-1,130,129,222,-1,306,200,202,-1,306,243,200,-1,219,180,179,-1,180,219,126,-1,253,306,212,-1,252,306,253,-1,217,255,218,-1,217,210,255,-1,89,253,90,-1,89,215,253,-1,272,152,258,-1,188,152,272,-1,105,199,307,-1,273,199,105,-1,272,105,99,-1,272,273,105,-1,308,9,277,-1,308,184,9,-1,191,309,257,-1,191,193,309,-1,310,107,311,-1,310,108,107,-1,309,109,195,-1,309,205,109,-1,205,309,91,-1,274,144,81,-1,144,274,254,-1,312,313,314,-1,313,312,271,-1,97,315,98,-1,97,261,315,-1,316,261,260,-1,186,261,316,-1,317,103,187,-1,317,125,103,-1,198,108,310,-1,108,198,257,-1,254,203,204,-1,254,274,203,-1,217,178,311,-1,217,179,178,-1,221,76,222,-1,221,77,76,-1,226,318,78,-1,224,318,226,-1,281,319,303,-1,281,320,319,-1,175,305,174,-1,305,175,176,-1,292,321,322,-1,292,323,321,-1,21,305,301,-1,21,174,305,-1,142,17,324,-1,142,247,17,-1,140,168,138,-1,140,234,168,-1,59,60,100,-1,60,59,58,-1,154,161,41,-1,154,248,161,-1,158,39,37,-1,158,266,39,-1,60,151,101,-1,60,61,151,-1,249,250,143,-1,249,45,250,-1,174,47,137,-1,21,47,174,-1,322,276,263,-1,322,321,276,-1,136,325,302,-1,232,325,136,-1,326,304,327,-1,326,0,304,-1,68,318,224,-1,328,318,68,-1,320,75,319,-1,75,320,329,-1,132,222,76,-1,132,270,222,-1,219,202,220,-1,202,219,218,-1,126,220,127,-1,220,126,219,-1,330,3,5,-1,331,3,330,-1,316,298,332,-1,316,296,298,-1,296,260,290,-1,316,260,296,-1,307,271,105,-1,307,313,271,-1,164,49,165,-1,49,164,167,-1,90,106,88,-1,90,211,106,-1,257,195,108,-1,257,309,195,-1,188,315,189,-1,188,98,315,-1,333,313,307,-1,313,333,331,-1,333,199,198,-1,199,333,307,-1,248,153,24,-1,248,154,153,-1,260,104,334,-1,260,97,104,-1,94,197,116,-1,94,113,197,-1,208,42,216,-1,208,43,42,-1,128,182,181,-1,182,128,70,-1,204,8,254,-1,308,8,204,-1,76,74,132,-1,76,78,74,-1,283,4,183,-1,283,5,4,-1,335,303,336,-1,303,335,304,-1,267,33,149,-1,267,214,33,-1,265,337,324,-1,265,59,337,-1,136,48,232,-1,136,51,48,-1,239,325,238,-1,301,325,239,-1,21,300,250,-1,21,20,300,-1,169,142,338,-1,143,142,169,-1,229,155,230,-1,228,155,229,-1,35,155,228,-1,24,160,248,-1,23,160,24,-1,23,236,160,-1,247,18,17,-1,247,240,18,-1,243,252,7,-1,243,306,252,-1,299,290,287,-1,299,296,290,-1,140,294,234,-1,140,339,294,-1,172,340,291,-1,340,172,171,-1,326,1,0,-1,341,1,326,-1,284,342,285,-1,284,343,342,-1,281,344,320,-1,281,282,344,-1,177,345,279,-1,345,177,262,-1,280,346,275,-1,280,278,346,-1,320,347,329,-1,344,347,320,-1,286,183,348,-1,286,283,183,-1,349,289,288,-1,350,289,349,-1,293,323,292,-1,323,293,351,-1,295,352,233,-1,295,353,352,-1,298,354,139,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=3 */
		private int[] getlmolar3c_geometry_5_22_coordIndex_3()
		{
			int[] value = {298,297,354,-1,9,244,277,-1,9,242,244,-1,29,37,39,-1,37,29,38,-1,352,46,45,-1,171,46,352,-1,61,57,230,-1,57,61,58,-1,321,64,276,-1,327,64,321,-1,269,328,68,-1,328,269,134,-1,301,302,325,-1,301,305,302,-1,73,329,262,-1,73,75,329,-1,226,203,83,-1,77,203,226,-1,63,162,122,-1,63,62,162,-1,355,270,133,-1,355,130,270,-1,220,12,131,-1,220,13,12,-1,180,181,4,-1,180,126,181,-1,196,93,115,-1,93,196,205,-1,188,99,98,-1,188,272,99,-1,113,117,197,-1,113,112,117,-1,330,342,314,-1,342,330,285,-1,271,334,104,-1,334,271,312,-1,107,211,210,-1,211,107,106,-1,258,94,116,-1,152,94,258,-1,235,206,148,-1,235,207,206,-1,235,209,207,-1,314,349,312,-1,314,342,349,-1,315,186,185,-1,186,315,261,-1,187,268,317,-1,332,268,187,-1,333,310,256,-1,198,310,333,-1,210,311,107,-1,210,217,311,-1,251,130,355,-1,251,131,130,-1,308,6,8,-1,308,277,6,-1,356,78,318,-1,78,356,74,-1,336,319,356,-1,303,319,336,-1,134,64,335,-1,65,64,134,-1,15,245,16,-1,227,245,15,-1,172,322,173,-1,322,172,292,-1,264,268,138,-1,264,317,268,-1,170,337,237,-1,170,338,337,-1,121,7,252,-1,121,194,7,-1,167,149,166,-1,164,149,167,-1,149,164,150,-1,143,300,141,-1,143,250,300,-1,45,233,352,-1,249,233,45,-1,264,338,170,-1,264,169,338,-1,264,125,317,-1,170,125,264,-1,173,263,137,-1,263,173,322,-1,263,66,175,-1,263,276,66,-1,327,335,64,-1,327,304,335,-1,328,356,318,-1,336,356,328,-1,74,319,75,-1,74,356,319,-1,275,355,280,-1,275,251,355,-1,256,331,333,-1,256,3,331,-1,332,139,268,-1,298,139,332,-1,332,186,316,-1,187,186,332,-1,290,334,288,-1,290,260,334,-1,199,259,191,-1,199,273,259,-1,285,5,283,-1,5,285,330,-1,146,214,267,-1,214,146,145,-1,109,148,88,-1,109,111,148,-1,193,91,309,-1,193,92,91,-1,258,259,272,-1,258,192,259,-1,255,306,202,-1,255,212,306,-1,288,312,349,-1,288,334,312,-1,190,315,185,-1,190,189,315,-1,314,331,330,-1,314,313,331,-1,311,256,310,-1,256,311,178,-1,90,212,211,-1,90,253,212,-1,144,86,145,-1,84,86,144,-1,201,220,202,-1,220,201,13,-1,204,184,308,-1,184,204,221,-1,133,280,355,-1,280,133,177,-1,123,67,269,-1,55,67,123,-1,246,324,17,-1,265,324,246,-1,134,336,328,-1,336,134,335,-1,323,327,321,-1,326,327,323,-1,69,269,68,-1,69,123,269,-1,324,338,142,-1,324,337,338,-1,14,325,232,-1,325,14,238,-1,168,143,169,-1,249,143,168,-1,38,61,36,-1,38,151,61,-1,214,157,33,-1,213,157,214,-1,120,157,213,-1,59,237,337,-1,237,59,100,-1,240,141,300,-1,247,141,240,-1,18,238,16,-1,239,238,18,-1,201,244,242,-1,201,200,244,-1,252,216,121,-1,252,215,216,-1,357,275,346,-1,275,357,71,-1,354,140,139,-1,354,339,140,-1,171,353,340,-1,353,171,352,-1,351,326,323,-1,351,341,326,-1,342,350,349,-1,343,350,342,-1,182,348,183,-1,241,348,182,-1,347,262,329,-1,347,345,262,-1};
			return value;
		}
		/** Large attribute array: IndexedFaceSet DEF='lmolar3c_geometry' coordIndex field, scene-graph level=5, element #22, 2728 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 getlmolar3c_geometry_5_22_coordIndex()
		{
			MFInt32 lmolar3c_geometry_5_22_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getlmolar3c_geometry_5_22_coordIndex_1()))
				.append(new MFInt32(getlmolar3c_geometry_5_22_coordIndex_2()))
				.append(new MFInt32(getlmolar3c_geometry_5_22_coordIndex_3()));
			return lmolar3c_geometry_5_22_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='lmolar3c_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 getlmolar3c_coordinate_6_22_point()
		{
			MFVec3f lmolar3c_coordinate_6_22_point = new MFVec3f(new double[] {0.0283,1.6051,0.0435,0.0283,1.6055,0.0436,0.0283,1.6055,0.0436,0.0326,1.6016,0.049,0.0331,1.6035,0.0483,0.0326,1.6034,0.0488,0.0314,1.5986,0.0454,0.0313,1.5988,0.0456,0.0313,1.5982,0.0447,0.0317,1.5993,0.0454,0.0323,1.6009,0.0454,0.0323,1.6009,0.0458,0.0324,1.6014,0.0458,0.0324,1.6007,0.0462,0.0254,1.5981,0.0437,0.0259,1.5981,0.0439,0.0254,1.598,0.0439,0.0246,1.5982,0.044,0.0247,1.5985,0.0437,0.0242,1.599,0.0433,0.024,1.5994,0.0433,0.0243,1.5993,0.0428,0.0266,1.5984,0.0486,0.027,1.5981,0.0483,0.0278,1.5986,0.0488,0.0264,1.5979,0.0473,0.0273,1.5986,0.0473,0.0267,1.5979,0.0476,0.0263,1.5976,0.0478,0.0273,1.5986,0.047,0.0302,1.5991,0.0425,0.0301,1.5992,0.0429,0.0296,1.5995,0.0427,0.0286,1.5996,0.0443,0.0282,1.5992,0.0454,0.0273,1.5982,0.0451,0.027,1.5979,0.0454,0.0272,1.5981,0.0456,0.0267,1.598,0.0468,0.028,1.599,0.0459,0.029,1.6001,0.0457,0.0285,1.5994,0.0467,0.03,1.5995,0.0461,0.0299,1.5995,0.0466,0.0291,1.6,0.046,0.0232,1.6024,0.0434,0.0234,1.6027,0.043,0.0237,1.6006,0.0428,0.0259,1.5984,0.0433,0.0266,1.5994,0.0432,0.0266,1.5995,0.0427,0.026,1.5988,0.0428,0.027,1.5996,0.0421,0.0272,1.5995,0.0423,0.027,1.5994,0.0423,0.0279,1.5995,0.0422,0.0275,1.6005,0.0434,0.0255,1.5973,0.0445,0.0254,1.5972,0.0451,0.025,1.5973,0.0449,0.0253,1.5971,0.0455,0.0258,1.5971,0.0453,0.0296,1.6,0.0431,0.029,1.5998,0.0424,0.0276,1.6019,0.0423,0.0279,1.6004,0.0421,0.027,1.6002,0.042,0.0279,1.5999,0.0421,0.0298,1.5998,0.0424,0.0295,1.5995,0.0424,0.0329,1.6051,0.0474,0.0328,1.6054,0.0468,0.0328,1.6053,0.0472,0.0319,1.6045,0.0445,0.0316,1.6024,0.0433,0.0314,1.6045,0.0439,0.032,1.6007,0.0437,0.0316,1.5994,0.0435,0.0316,1.6006,0.0431,0.0297,1.5995,0.0432,0.0281,1.6004,0.0438,0.0306,1.5985,0.0433,0.0304,1.5988,0.0428,0.0309,1.5988,0.0428,0.0311,1.5984,0.0449,0.0306,1.599,0.0453,0.0303,1.5988,0.045,0.0289,1.5998,0.0462,0.0311,1.5974,0.0479,0.031,1.5979,0.0471,0.0312,1.5976,0.0472,0.0307,1.5981,0.0494,0.0305,1.5984,0.0497,0.0304,1.5984,0.0492,0.0286,1.5987,0.0492,0.0282,1.5987,0.0488,0.0285,1.5988,0.0489,0.0285,1.6014,0.0496,0.0285,1.5997,0.0495,0.0293,1.5996,0.0498,0.0248,1.5972,0.0458,0.0251,1.5974,0.047,0.0257,1.5979,0.048,0.0252,1.5983,0.048,0.0293,1.6014,0.0498,0.0304,1.5994,0.0501,0.0315,1.5973,0.0481,0.032,1.5976,0.0483,0.0316,1.5977,0.0491,0.0307,1.5978,0.0486,0.0297,1.5987,0.0486,0.0299,1.5982,0.0482,0.0283,1.5991,0.0477,0.0288,1.5988,0.0488,0.0293,1.5989,0.0487,0.0301,1.5986,0.0492,0.0299,1.5986,0.0495,0.0284,1.5992,0.0475,0.0284,1.5993,0.0473,0.0292,1.6002,0.0457,0.0292,1.6002,0.0456,0.0307,1.5989,0.0461,0.0277,1.6006,0.0435,0.0287,1.5999,0.0422,0.0247,1.5975,0.0469,0.0243,1.598,0.047,0.033,1.6015,0.0475,0.0328,1.6019,0.0467,0.0332,1.6037,0.047,0.0323,1.6008,0.0451,0.0325,1.6025,0.0453,0.0326,1.6024,0.046,0.032,1.6025,0.0439,0.0324,1.6044,0.0451,0.0288,1.6006,0.0422,0.0265,1.5993,0.0426,0.0255,1.5986,0.0426,0.0239,1.601,0.0422,0.0226,1.6019,0.0458,0.0231,1.6036,0.047,0.0228,1.6037,0.0459,0.0239,1.5992,0.0439,0.0241,1.5985,0.0442,0.0233,1.6001,0.0442,0.0308,1.5982,0.044,0.03,1.5987,0.0442,0.0298,1.5992,0.0436,0.0307,1.5979,0.0473,0.0301,1.5979,0.0476,0.0282,1.6001,0.044,0.0277,1.6006,0.0438,0.0256,1.5974,0.047,0.0286,1.5987,0.0493,0.0279,1.5987,0.0488,0.0282,1.5989,0.0483,0.0269,1.598,0.0452,0.029,1.6002,0.0456,0.029,1.6002,0.0455,0.0273,1.5982,0.0454,0.0285,1.5993,0.0471,0.0276,1.5986,0.0476,0.0284,1.5993,0.047,0.028,1.6006,0.0437,0.0276,1.6006,0.0436,0.0274,1.6004,0.0437,0.0274,1.6005,0.0436,0.0269,1.5988,0.044,0.0266,1.5993,0.0438,0.0227,1.6022,0.0449,0.0231,1.5999,0.0448,0.024,1.5979,0.0461,0.0235,1.6043,0.0433,0.0238,1.6045,0.0431,0.0237,1.6029,0.0426,0.0245,1.5994,0.0422,0.0252,1.5996,0.0418,0.0256,1.5991,0.0419,0.0322,1.6056,0.0453,0.0326,1.5999,0.0488,0.0327,1.6,0.048,0.0329,1.6015,0.0482,0.0333,1.6034,0.0477,0.0329,1.6051,0.0475,0.0329,1.605,0.0481,0.0318,1.5993,0.0449,0.0263,1.5991,0.0488,0.0264,1.6011,0.049,0.0247,1.6008,0.0483,0.0286,1.5989,0.0494,0.0278,1.5989,0.049,0.0273,1.5987,0.0489,0.0309,1.5984,0.05,0.03,1.5984,0.0498,0.0306,1.5983,0.0498,0.0307,1.5991,0.0458,0.0312,1.5976,0.0489,0.0303,1.5983,0.049,0.029,1.5988,0.0487,0.0314,1.5983,0.0498,0.0309,1.5987,0.05,0.0316,1.5987,0.0457,0.0318,1.5992,0.0459,0.032,1.5988,0.0464,0.0313,1.5988,0.0435,0.0316,1.5988,0.0442,0.0306,1.598,0.049,0.0303,1.5982,0.0471,0.0297,1.5991,0.0467,0.0305,1.5987,0.0469,0.0288,1.5997,0.0464,0.0321,1.5979,0.0476,0.0315,1.5975,0.0474,0.0316,1.5979,0.0467,0.0292,1.6,0.045,0.0288,1.5996,0.0443,0.0311,1.5982,0.0466,0.0307,1.5987,0.0465,0.0325,1.5984,0.0479,0.0325,1.5989,0.0473,0.0328,1.6001,0.0474,0.0326,1.6005,0.0466,0.0318,1.5994,0.0442,0.0321,1.6008,0.0444,0.0301,1.5992,0.0431,0.0308,1.5994,0.0427,0.0258,1.5989,0.042,0.0312,1.5995,0.0429,0.0259,1.5978,0.0441,0.0272,1.5984,0.0442,0.0259,1.5975,0.0444,0.0258,1.5972,0.0447,0.026,1.599,0.0422,0.0255,1.5983,0.0432,0.0231,1.6039,0.0441,0.0229,1.6036,0.045,0.0286,1.5994,0.0469,0.0271,1.5984,0.0476,0.0245,1.5975,0.0459,0.0253,1.598,0.0437,0.0247,1.5985,0.0434,0.0243,1.5989,0.0437,0.0328,1.6055,0.0474,0.0317,1.5993,0.0456,0.0315,1.5986,0.0457,0.0315,1.5988,0.0456,0.0255,1.5977,0.0441,0.0252,1.5978,0.0441,0.0242,1.5987,0.0439,0.0281,1.5989,0.0482,0.0229,1.6023,0.0441,0.0236,1.6002,0.0436,0.033,1.604,0.0465,0.0313,1.5984,0.0461,0.0314,1.598,0.0466,0.0311,1.5981,0.044,0.0321,1.5984,0.047,0.0323,1.5998,0.0492,0.0312,1.5981,0.0496,0.0295,1.5987,0.0497,0.0302,1.5988,0.0501,0.0283,1.603,0.0494,0.0281,1.6013,0.0495,0.0318,1.6055,0.0449,0.025,1.6016,0.0419,0.0231,1.6,0.046,0.0251,1.5976,0.0443,0.0281,1.5991,0.0456,0.0284,1.6001,0.044,0.0231,1.6018,0.047,0.0287,1.6001,0.0422,0.0323,1.6027,0.0447,0.0306,1.6015,0.05,0.0294,1.599,0.0498,0.0303,1.599,0.0501,0.0309,1.5984,0.0433,0.0328,1.6052,0.0466,0.0265,1.6018,0.0419,0.0315,1.5987,0.0454,0.0324,1.6058,0.0461,0.0321,1.6061,0.0454,0.0325,1.6054,0.0459,0.0293,1.6052,0.0436,0.0293,1.6056,0.0437,0.0326,1.6047,0.0486,0.032,1.6049,0.0489,0.0322,1.6045,0.0489,0.0324,1.6051,0.0486,0.0285,1.6044,0.0491,0.0297,1.6042,0.0494,0.0297,1.6046,0.0493,0.0285,1.604,0.0492,0.0238,1.6049,0.0433,0.025,1.6047,0.0426,0.0249,1.6051,0.0428,0.023,1.6041,0.045,0.0231,1.6043,0.0442,0.0262,1.6039,0.0487,0.0242,1.6041,0.0479,0.0242,1.6037,0.0479,0.0262,1.6043,0.0487,0.0239,1.5995,0.0436,0.0248,1.5986,0.0429,0.0252,1.5986,0.0423,0.0293,1.6039,0.0431,0.0283,1.6038,0.0429,0.025,1.5988,0.0422,0.0315,1.5983,0.0462,0.0311,1.5995,0.05,0.0316,1.5987,0.0449,0.0308,1.598,0.0495,0.0319,1.598,0.0492,0.0324,1.5981,0.0485,0.0305,1.603,0.0498,0.0313,1.6015,0.0498,0.0314,1.6032,0.0495,0.0279,1.5999,0.0493,0.0264,1.6028,0.049,0.0236,1.6003,0.0471,0.0305,1.6004,0.0426,0.0302,1.604,0.0433,0.0304,1.6052,0.0438,0.0264,1.6034,0.0425,0.0249,1.6032,0.0422,0.0263,1.6049,0.0429,0.0245,1.598,0.0442,0.0253,1.5983,0.0431,0.0273,1.6051,0.0432,0.0273,1.6036,0.0427,0.0296,1.6005,0.0424,0.0314,1.6053,0.0443,0.0321,1.6033,0.0491,0.0319,1.6015,0.0496,0.0242,1.6023,0.048,0.0318,1.5997,0.0496,0.0295,1.603,0.0496,0.0287,1.6022,0.0425,0.0296,1.6023,0.0426,0.0244,1.5976,0.0449,0.024,1.598,0.045,0.0229,1.6041,0.0459,0.0235,1.6047,0.0435,0.0273,1.6055,0.0433,0.0314,1.6044,0.0493,0.0313,1.6048,0.0493,0.0303,1.6056,0.0439,0.0317,1.6059,0.0449,0.0326,1.6056,0.0466,0.0313,1.6057,0.0443,0.0327,1.6054,0.0482,0.0306,1.6042,0.0497,0.0306,1.6047,0.0496,0.0263,1.6053,0.043,0.0233,1.6042,0.0436,0.0233,1.6045,0.0438,0.0231,1.604,0.047,0.0327,1.6042,0.0458,0.0304,1.6023,0.0427,0.0327,1.6056,0.0466});
			return lmolar3c_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 l_molar3c 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 l_molar3c().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.l_molar3c\" 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.l_molar3c self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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