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_molar3r.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_molar3r&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_molar3r.x3d">l_molar3r.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/lmolar3r.x3d">originals/lmolar3r.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_molar3r.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/l_molar3r.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_molar3r
{
	/** Default constructor to create this object. */
	public l_molar3r ()
	{
	  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_molar3r.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/lmolar3r.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_molar3r.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_molar3r"))
    .addChild(new Transform("lmolar3r")
      .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("lmolar3r_geometry").setDEF("lmolar3r_geometry").setCreaseAngle(1.571).setCoordIndex(getlmolar3r_geometry_5_22_coordIndex())
          .setCoord(new Coordinate("lmolar3r_coordinate").setPoint(getlmolar3r_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[] getlmolar3r_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,14,-1,15,16,17,-1,18,19,20,-1,21,22,23,-1,24,25,26,-1,2,27,28,-1,29,30,31,-1,32,33,34,-1,35,36,37,-1,38,39,17,-1,40,41,42,-1,43,44,45,-1,46,10,47,-1,48,49,50,-1,23,51,19,-1,52,53,54,-1,55,56,57,-1,58,59,60,-1,61,62,63,-1,64,65,66,-1,66,67,64,-1,68,69,55,-1,70,71,72,-1,73,74,58,-1,75,76,61,-1,77,78,79,-1,80,81,82,-1,83,77,81,-1,84,75,85,-1,84,86,75,-1,87,88,89,-1,90,91,92,-1,93,94,95,-1,96,97,98,-1,99,100,96,-1,101,102,103,-1,104,105,106,-1,107,108,109,-1,110,111,112,-1,113,114,99,-1,115,116,114,-1,117,118,115,-1,119,120,121,-1,122,123,124,-1,125,126,127,-1,128,129,130,-1,131,132,133,-1,134,132,131,-1,135,136,137,-1,127,126,138,-1,139,140,125,-1,141,142,143,-1,144,118,117,-1,145,123,122,-1,146,147,148,-1,149,150,151,-1,152,111,110,-1,153,154,104,-1,114,100,99,-1,155,110,91,-1,156,157,158,-1,159,106,160,-1,161,162,163,-1,164,99,165,-1,166,167,168,-1,91,112,169,-1,170,171,13,-1,172,173,74,-1,174,175,89,-1,87,176,177,-1,86,178,76,-1,179,180,181,-1,182,81,80,-1,98,78,77,-1,85,183,184,-1,74,70,185,-1,71,68,186,-1,69,187,56,-1,177,188,189,-1,9,12,10,-1,190,191,192,-1,193,184,194,-1,57,56,195,-1,196,197,198,-1,199,200,201,-1,202,203,204,-1,205,206,207,-1,208,209,210,-1,211,212,213,-1,28,27,198,-1,214,215,4,-1,52,216,217,-1,218,219,220,-1,161,221,222,-1,181,26,223,-1,40,224,213,-1,39,35,37,-1,54,53,225,-1,45,44,226,-1,227,194,228,-1,229,230,192,-1,30,32,231,-1,232,233,234,-1,2,235,236,-1,237,21,23,-1,238,16,18,-1,16,15,239,-1,18,240,241,-1,171,37,242,-1,243,12,14,-1,6,9,7,-1,170,8,244,-1,245,246,219,-1,247,248,249,-1,1,27,2,-1,1,250,27,-1,247,249,251,-1,244,252,170,-1,9,11,7,-1,13,171,242,-1,241,237,18,-1,15,253,239,-1,18,20,238,-1,237,23,19,-1,254,24,222,-1,24,26,222,-1,236,255,2,-1,256,232,234,-1,32,34,231,-1,229,257,230,-1,227,228,258,-1,226,258,45,-1,54,225,259,-1,39,37,260,-1,40,213,41,-1,223,42,181,-1,222,162,161,-1,261,262,263,-1,52,264,216,-1,227,258,226,-1,27,265,198,-1,213,224,211,-1,208,266,209,-1,205,267,206,-1,202,268,203,-1,199,201,269,-1,48,270,271,-1,198,265,196,-1,195,272,57,-1,193,194,227,-1,12,243,10,-1,177,273,188,-1,69,56,55,-1,71,186,72,-1,74,185,58,-1,85,75,183,-1,98,97,78,-1,182,83,81,-1,181,42,179,-1,86,76,75,-1,87,177,88,-1,174,89,187,-1,172,74,73,-1,13,6,170,-1,91,169,92,-1,166,168,97,-1,164,165,274,-1,163,275,161,-1,159,104,106,-1,156,276,157,-1,155,91,90,-1,114,277,100,-1,153,278,154,-1,152,279,111,-1,149,151,280,-1,146,148,281,-1,145,122,282,-1,117,283,144,-1,143,284,141,-1,139,125,285,-1,127,138,286,-1,137,287,135,-1,131,288,134,-1,131,133,289,-1,128,130,290,-1,127,285,125,-1,124,291,122,-1,120,292,121,-1,117,115,293,-1,116,277,114,-1,113,99,164,-1,110,112,91,-1,107,109,294,-1,104,154,105,-1,103,295,101,-1,99,96,165,-1,96,166,97,-1,93,296,94,-1,90,92,297,-1,89,175,87,-1,83,98,77,-1,80,82,298,-1,77,79,299,-1,75,61,183,-1,73,58,300,-1,70,72,185,-1,68,55,186,-1,195,216,272,-1,216,261,272,-1,61,300,62,-1,58,185,59,-1,55,57,301,-1,54,302,52,-1,51,136,19,-1,46,47,302,-1,53,189,225,-1,303,11,304,-1,42,223,40,-1,39,260,17,-1,36,242,37,-1,52,47,264,-1,52,302,47,-1,33,305,34,-1,30,231,31,-1,2,28,235,-1,306,224,40,-1,25,223,26,-1,22,307,23,-1,18,237,19,-1,16,238,17,-1,13,242,14,-1,170,6,8,-1,2,255,0,-1,197,250,200,-1,197,196,250,-1,308,309,310,-1,311,309,308,-1,312,313,314,-1,312,315,313,-1,316,317,318,-1,316,319,317,-1,249,320,256,-1,248,320,249,-1,320,232,256,-1,320,321,232,-1,219,322,323,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=2 */
		private int[] getlmolar3r_geometry_5_22_coordIndex_2()
		{
			int[] value = {246,322,219,-1,324,30,29,-1,324,325,30,-1,299,326,82,-1,327,326,299,-1,237,266,21,-1,237,241,266,-1,252,15,328,-1,15,252,253,-1,329,24,254,-1,24,329,330,-1,331,22,208,-1,332,22,331,-1,333,222,221,-1,333,254,222,-1,51,137,136,-1,137,51,334,-1,44,47,10,-1,44,43,47,-1,335,336,337,-1,335,338,336,-1,323,220,219,-1,339,220,323,-1,296,315,94,-1,296,313,315,-1,340,341,342,-1,340,343,341,-1,310,80,308,-1,182,80,310,-1,274,344,164,-1,274,345,344,-1,232,346,233,-1,232,347,346,-1,10,304,11,-1,10,46,304,-1,276,348,244,-1,348,276,349,-1,257,350,230,-1,257,301,350,-1,351,352,63,-1,352,351,353,-1,262,45,263,-1,262,43,45,-1,354,63,62,-1,63,354,351,-1,355,356,357,-1,356,355,358,-1,359,360,66,-1,360,359,361,-1,54,46,302,-1,54,362,46,-1,14,193,243,-1,363,193,14,-1,210,364,365,-1,364,210,209,-1,366,93,367,-1,368,93,366,-1,271,49,48,-1,369,49,271,-1,224,50,211,-1,224,48,50,-1,370,221,161,-1,371,221,370,-1,372,342,121,-1,342,372,340,-1,245,54,259,-1,245,362,54,-1,205,268,373,-1,205,207,268,-1,374,375,376,-1,374,326,375,-1,41,206,267,-1,41,213,206,-1,257,72,186,-1,72,257,229,-1,44,243,226,-1,10,243,44,-1,184,363,85,-1,363,184,193,-1,215,377,378,-1,377,215,357,-1,177,217,88,-1,177,189,217,-1,236,369,379,-1,236,235,369,-1,380,373,381,-1,380,205,373,-1,78,168,381,-1,97,168,78,-1,330,382,383,-1,330,384,382,-1,322,3,385,-1,322,246,3,-1,386,387,64,-1,386,297,387,-1,388,177,176,-1,388,273,177,-1,389,68,71,-1,389,390,68,-1,105,389,391,-1,105,392,389,-1,109,178,86,-1,109,393,178,-1,157,339,158,-1,157,394,339,-1,386,395,396,-1,395,386,397,-1,176,398,399,-1,398,176,87,-1,400,401,390,-1,400,102,401,-1,402,168,167,-1,402,403,168,-1,345,404,344,-1,405,404,345,-1,275,402,406,-1,275,163,402,-1,400,407,408,-1,407,400,392,-1,328,170,252,-1,328,171,170,-1,90,409,155,-1,409,90,396,-1,410,411,412,-1,411,410,399,-1,413,414,415,-1,413,406,414,-1,416,417,418,-1,417,416,368,-1,411,419,420,-1,419,411,421,-1,422,103,408,-1,422,423,103,-1,104,424,153,-1,424,104,159,-1,425,39,38,-1,425,107,39,-1,31,111,279,-1,31,231,111,-1,409,426,427,-1,426,409,428,-1,331,429,430,-1,331,431,429,-1,151,432,280,-1,151,415,432,-1,426,433,434,-1,433,426,435,-1,419,436,437,-1,436,419,438,-1,422,439,440,-1,439,422,441,-1,148,442,281,-1,148,424,442,-1,253,443,239,-1,253,348,443,-1,444,152,445,-1,444,279,152,-1,341,446,365,-1,341,447,446,-1,150,448,151,-1,150,449,448,-1,445,450,451,-1,450,445,452,-1,433,453,454,-1,453,433,455,-1,122,456,282,-1,122,436,456,-1,439,457,458,-1,457,439,459,-1,146,460,461,-1,146,281,460,-1,120,335,292,-1,120,462,335,-1,463,321,320,-1,321,463,464,-1,465,282,466,-1,465,145,282,-1,125,467,126,-1,125,457,467,-1,468,469,461,-1,135,469,468,-1,131,150,149,-1,131,289,150,-1,470,233,471,-1,470,234,233,-1,472,473,474,-1,473,472,475,-1,476,477,470,-1,476,478,477,-1,476,290,130,-1,290,476,470,-1,479,143,142,-1,479,473,143,-1,123,480,124,-1,123,481,480,-1,133,482,289,-1,133,483,482,-1,484,485,486,-1,485,484,465,-1,487,488,489,-1,487,469,488,-1,490,283,491,-1,490,144,283,-1,492,141,284,-1,492,493,141,-1,51,494,334,-1,495,494,51,-1,475,143,473,-1,143,475,454,-1,470,451,290,-1,470,471,451,-1,449,289,482,-1,289,449,150,-1,487,461,469,-1,487,146,461,-1,140,457,125,-1,140,458,457,-1,124,496,291,-1,124,492,496,-1,497,259,225,-1,497,214,259,-1,361,214,497,-1,359,214,361,-1,498,214,359,-1,499,214,498,-1,358,214,499,-1,358,355,214,-1,445,471,444,-1,451,471,445,-1,239,500,240,-1,239,443,500,-1,459,467,457,-1,467,459,501,-1,282,502,466,-1,282,456,502,-1,455,496,453,-1,496,455,503,-1,452,472,450,-1,472,452,504,-1,505,449,506,-1,449,505,448,-1,507,508,343,-1,507,317,508,-1,452,152,509,-1,452,445,152,-1,462,338,335,-1,462,349,338,-1,510,281,442,-1,460,281,510,-1,441,459,439,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=3 */
		private int[] getlmolar3r_geometry_5_22_coordIndex_3()
		{
			int[] value = {459,441,278,-1,436,511,456,-1,436,438,511,-1,435,455,433,-1,455,435,512,-1,114,293,115,-1,293,114,113,-1,448,415,151,-1,448,413,415,-1,412,420,512,-1,420,412,411,-1,155,427,509,-1,427,155,409,-1,244,253,252,-1,253,244,348,-1,159,442,424,-1,442,159,513,-1,511,103,423,-1,511,295,103,-1,514,406,413,-1,514,275,406,-1,404,319,316,-1,319,404,515,-1,101,516,517,-1,295,516,101,-1,518,412,519,-1,412,518,410,-1,231,112,111,-1,231,34,112,-1,393,108,513,-1,108,393,109,-1,102,408,103,-1,408,102,400,-1,406,167,414,-1,406,402,167,-1,310,405,345,-1,309,405,310,-1,163,403,402,-1,163,180,403,-1,390,392,400,-1,392,390,389,-1,398,175,517,-1,398,87,175,-1,397,518,395,-1,518,397,520,-1,521,385,522,-1,521,322,385,-1,172,393,160,-1,393,172,178,-1,391,71,70,-1,391,389,71,-1,523,388,520,-1,388,523,273,-1,297,524,387,-1,297,92,524,-1,303,339,394,-1,339,303,220,-1,236,95,94,-1,95,236,379,-1,381,79,78,-1,381,373,79,-1,271,383,382,-1,270,383,271,-1,82,77,299,-1,81,77,82,-1,88,195,89,-1,88,216,195,-1,88,217,216,-1,64,525,65,-1,64,387,525,-1,4,246,245,-1,3,246,4,-1,63,183,61,-1,183,63,352,-1,229,185,72,-1,185,229,59,-1,375,526,527,-1,375,203,526,-1,375,204,203,-1,375,528,204,-1,529,495,51,-1,529,506,495,-1,326,528,375,-1,326,327,528,-1,23,529,51,-1,23,307,529,-1,28,50,49,-1,28,198,50,-1,382,369,271,-1,379,369,382,-1,366,417,368,-1,417,366,429,-1,530,19,136,-1,20,19,530,-1,36,14,242,-1,36,363,14,-1,245,214,4,-1,245,259,214,-1,361,188,360,-1,188,361,497,-1,358,525,356,-1,525,358,499,-1,57,350,301,-1,57,531,350,-1,190,62,60,-1,62,190,354,-1,348,462,443,-1,348,349,462,-1,220,304,218,-1,304,220,303,-1,305,5,378,-1,33,5,305,-1,251,293,532,-1,117,293,251,-1,113,532,293,-1,113,533,532,-1,447,343,508,-1,343,447,341,-1,313,416,534,-1,313,296,416,-1,219,362,245,-1,218,362,219,-1,338,535,336,-1,338,156,535,-1,241,209,266,-1,241,536,209,-1,491,234,537,-1,491,283,234,-1,25,40,223,-1,25,306,40,-1,221,538,333,-1,538,221,371,-1,332,430,538,-1,332,331,430,-1,330,25,24,-1,25,330,383,-1,260,15,17,-1,328,15,260,-1,327,79,202,-1,327,299,79,-1,385,5,33,-1,385,3,5,-1,336,539,540,-1,539,336,535,-1,372,464,463,-1,464,372,541,-1,533,318,532,-1,316,318,533,-1,320,542,463,-1,320,248,542,-1,314,534,515,-1,314,313,534,-1,269,311,308,-1,201,311,269,-1,200,1,201,-1,200,250,1,-1,405,515,404,-1,405,314,515,-1,344,316,533,-1,404,316,344,-1,0,315,312,-1,0,255,315,-1,247,317,507,-1,247,318,317,-1,337,540,543,-1,540,337,336,-1,321,347,232,-1,321,544,347,-1,545,322,521,-1,322,545,323,-1,325,32,30,-1,325,522,32,-1,546,200,199,-1,546,197,200,-1,298,326,374,-1,326,298,82,-1,21,208,22,-1,21,266,208,-1,306,48,224,-1,306,270,48,-1,547,254,333,-1,254,547,329,-1,332,307,22,-1,332,548,307,-1,191,60,59,-1,60,191,190,-1,264,261,216,-1,264,262,261,-1,292,337,541,-1,292,335,337,-1,323,158,339,-1,158,323,545,-1,94,255,236,-1,315,255,94,-1,418,508,549,-1,508,418,447,-1,308,298,269,-1,80,298,308,-1,345,182,310,-1,274,182,345,-1,347,31,346,-1,347,29,31,-1,303,7,11,-1,7,303,394,-1,157,244,8,-1,244,157,276,-1,120,536,500,-1,536,120,119,-1,261,550,272,-1,261,263,550,-1,215,355,357,-1,215,214,355,-1,498,66,65,-1,66,498,359,-1,189,52,217,-1,53,52,189,-1,193,226,243,-1,193,227,226,-1,551,17,238,-1,551,38,17,-1,431,365,446,-1,365,431,210,-1,367,95,384,-1,93,95,367,-1,207,203,268,-1,207,526,203,-1,552,371,370,-1,548,371,552,-1,283,256,234,-1,256,283,249,-1,527,376,375,-1,527,546,376,-1,527,197,546,-1,527,198,197,-1,212,198,527,-1,211,198,212,-1,211,50,198,-1,301,186,55,-1,186,301,257,-1,300,60,62,-1,300,58,60,-1,43,264,47,-1,264,43,262,-1,258,263,45,-1,228,263,258,-1,353,263,228,-1,531,230,350,-1,531,192,230,-1,353,550,263,-1,351,550,353,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=4 */
		private int[] getlmolar3r_geometry_5_22_coordIndex_4()
		{
			int[] value = {351,531,550,-1,354,531,351,-1,190,531,354,-1,192,531,190,-1,524,357,356,-1,524,377,357,-1,66,523,67,-1,523,66,360,-1,300,76,73,-1,76,300,61,-1,201,0,311,-1,0,201,1,-1,179,205,380,-1,179,267,205,-1,403,381,168,-1,403,380,381,-1,85,36,84,-1,36,85,363,-1,169,378,377,-1,169,305,378,-1,397,64,67,-1,397,386,64,-1,69,390,401,-1,390,69,68,-1,391,106,105,-1,106,391,173,-1,294,86,84,-1,294,109,86,-1,396,297,386,-1,396,90,297,-1,410,176,399,-1,410,388,176,-1,102,174,401,-1,102,101,174,-1,330,367,384,-1,330,329,367,-1,83,96,98,-1,165,96,83,-1,296,368,416,-1,368,296,93,-1,96,553,166,-1,100,553,96,-1,392,154,407,-1,154,392,105,-1,39,294,35,-1,39,107,294,-1,396,428,409,-1,428,396,395,-1,399,421,411,-1,421,399,398,-1,553,415,414,-1,432,415,553,-1,547,429,366,-1,547,430,429,-1,419,516,438,-1,419,421,516,-1,408,441,422,-1,441,408,407,-1,510,107,425,-1,510,108,107,-1,540,325,324,-1,540,539,325,-1,428,435,426,-1,435,428,519,-1,370,505,552,-1,505,370,514,-1,277,280,432,-1,116,280,277,-1,447,417,446,-1,447,418,417,-1,420,437,503,-1,437,420,419,-1,423,440,502,-1,440,423,422,-1,153,148,501,-1,148,153,424,-1,554,38,551,-1,554,425,38,-1,279,346,31,-1,444,346,279,-1,427,434,504,-1,434,427,426,-1,431,208,210,-1,331,208,431,-1,116,118,555,-1,118,116,115,-1,454,434,433,-1,454,475,434,-1,437,122,291,-1,122,437,436,-1,440,458,556,-1,458,440,439,-1,554,461,460,-1,468,461,554,-1,464,544,321,-1,464,543,544,-1,542,343,340,-1,542,507,343,-1,454,284,143,-1,284,454,453,-1,466,485,465,-1,485,466,556,-1,126,147,138,-1,126,467,147,-1,241,500,536,-1,241,240,500,-1,288,149,555,-1,288,131,149,-1,450,474,128,-1,474,450,472,-1,469,287,488,-1,135,287,469,-1,134,144,490,-1,144,134,288,-1,481,145,557,-1,145,481,123,-1,483,495,482,-1,494,495,483,-1,145,484,557,-1,484,145,465,-1,138,489,286,-1,489,138,487,-1,129,474,558,-1,129,128,474,-1,493,124,480,-1,493,492,124,-1,558,473,479,-1,473,558,474,-1,537,470,477,-1,470,537,234,-1,485,139,486,-1,140,139,485,-1,451,128,290,-1,128,451,450,-1,144,555,118,-1,144,288,555,-1,506,482,495,-1,482,506,449,-1,138,146,487,-1,138,147,146,-1,485,458,140,-1,485,556,458,-1,453,492,284,-1,492,453,496,-1,444,233,346,-1,471,233,444,-1,551,468,554,-1,530,468,551,-1,501,147,467,-1,147,501,148,-1,502,556,466,-1,556,502,440,-1,503,291,496,-1,291,503,437,-1,504,475,472,-1,475,504,434,-1,280,555,149,-1,555,280,116,-1,506,552,505,-1,506,529,552,-1,509,504,452,-1,504,509,427,-1,543,324,544,-1,543,540,324,-1,460,425,554,-1,460,510,425,-1,278,501,459,-1,501,278,153,-1,456,423,502,-1,456,511,423,-1,512,503,455,-1,503,512,420,-1,319,508,317,-1,319,549,508,-1,448,514,413,-1,448,505,514,-1,519,512,435,-1,512,519,412,-1,110,509,152,-1,509,110,155,-1,349,156,338,-1,349,276,156,-1,510,513,108,-1,510,442,513,-1,407,278,441,-1,278,407,154,-1,295,438,516,-1,511,438,295,-1,370,275,514,-1,370,161,275,-1,100,432,553,-1,277,432,100,-1,421,517,516,-1,421,398,517,-1,395,519,428,-1,519,395,518,-1,539,522,325,-1,539,521,522,-1,160,513,159,-1,513,160,393,-1,414,166,553,-1,414,167,166,-1,329,366,367,-1,329,547,366,-1,83,274,165,-1,274,83,182,-1,162,180,163,-1,162,181,180,-1,174,517,175,-1,101,517,174,-1,520,410,518,-1,410,520,388,-1,112,305,169,-1,112,34,305,-1,35,84,36,-1,35,294,84,-1,173,160,106,-1,160,173,172,-1,70,173,391,-1,173,70,74,-1,69,174,187,-1,401,174,69,-1,67,520,397,-1,520,67,523,-1,92,377,524,-1,92,169,377,-1,9,13,12,-1,6,13,9,-1,178,73,76,-1,178,172,73,-1,311,312,309,-1,312,311,0,-1,180,380,403,-1,180,179,380,-1,42,267,179,-1,42,41,267,-1,89,56,187,-1,89,195,56,-1,360,273,523,-1,273,360,188,-1,387,356,525,-1,387,524,356,-1,218,46,362,-1,218,304,46,-1,352,184,183,-1,184,352,194,-1,135,530,136,-1,530,135,468,-1,235,49,369,-1,235,28,49,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=5 */
		private int[] getlmolar3r_geometry_5_22_coordIndex_5()
		{
			int[] value = {202,528,327,-1,202,204,528,-1,342,365,364,-1,342,341,365,-1,119,209,536,-1,209,119,364,-1,529,548,552,-1,307,548,529,-1,222,181,162,-1,222,26,181,-1,206,526,207,-1,206,527,526,-1,384,379,382,-1,95,379,384,-1,446,429,431,-1,429,446,417,-1,238,530,551,-1,530,238,20,-1,212,206,213,-1,206,212,527,-1,188,225,189,-1,188,497,225,-1,499,65,525,-1,65,499,498,-1,272,531,57,-1,272,550,531,-1,352,228,194,-1,352,353,228,-1,59,192,191,-1,59,229,192,-1,500,462,120,-1,500,443,462,-1,394,8,7,-1,8,394,157,-1,215,5,4,-1,5,215,378,-1,117,249,283,-1,251,249,117,-1,164,533,113,-1,164,344,533,-1,376,199,374,-1,199,376,546,-1,534,418,549,-1,534,416,418,-1,463,340,372,-1,463,542,340,-1,158,535,156,-1,158,545,535,-1,121,541,372,-1,541,121,292,-1,364,121,342,-1,119,121,364,-1,548,538,371,-1,332,538,548,-1,333,430,547,-1,333,538,430,-1,383,306,25,-1,306,383,270,-1,240,16,239,-1,18,16,240,-1,171,260,37,-1,171,328,260,-1,374,269,298,-1,374,199,269,-1,202,373,268,-1,202,79,373,-1,522,33,32,-1,522,385,33,-1,535,521,539,-1,521,535,545,-1,544,29,347,-1,544,324,29,-1,541,543,464,-1,543,541,337,-1,251,318,247,-1,318,251,532,-1,247,542,248,-1,247,507,542,-1,549,515,534,-1,319,515,549,-1,309,314,405,-1,309,312,314,-1,250,265,27,-1,250,196,265,-1};
			return value;
		}
		/** Large attribute array: IndexedFaceSet DEF='lmolar3r_geometry' coordIndex field, scene-graph level=5, element #22, 4336 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 getlmolar3r_geometry_5_22_coordIndex()
		{
			MFInt32 lmolar3r_geometry_5_22_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getlmolar3r_geometry_5_22_coordIndex_1()))
				.append(new MFInt32(getlmolar3r_geometry_5_22_coordIndex_2()))
				.append(new MFInt32(getlmolar3r_geometry_5_22_coordIndex_3()))
				.append(new MFInt32(getlmolar3r_geometry_5_22_coordIndex_4()))
				.append(new MFInt32(getlmolar3r_geometry_5_22_coordIndex_5()));
			return lmolar3r_geometry_5_22_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='lmolar3r_coordinate' point field, scene-graph level=6, element #22, 1677 total numbers made up of 559 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 getlmolar3r_coordinate_6_22_point()
		{
			MFVec3f lmolar3r_coordinate_6_22_point = new MFVec3f(new double[] {0.0284,1.6138,0.0474,0.0283,1.6142,0.0474,0.0279,1.6142,0.0473,0.0284,1.6141,0.0475,0.0282,1.6147,0.0476,0.0289,1.6142,0.0476,0.0266,1.6133,0.047,0.0263,1.6133,0.0472,0.0263,1.6125,0.0471,0.0268,1.6141,0.047,0.0268,1.6148,0.047,0.0266,1.6141,0.0471,0.0268,1.6142,0.0468,0.0267,1.6133,0.0467,0.0267,1.6142,0.0466,0.0267,1.6105,0.046,0.027,1.6093,0.0457,0.0265,1.6104,0.0456,0.0273,1.608,0.0451,0.0281,1.6067,0.0438,0.0273,1.608,0.0444,0.0279,1.6069,0.0445,0.0279,1.6081,0.0443,0.0282,1.6067,0.0437,0.0277,1.6132,0.0457,0.0276,1.6138,0.0462,0.0281,1.6132,0.0455,0.0278,1.6145,0.0473,0.0276,1.6145,0.0472,0.0309,1.611,0.0478,0.0302,1.612,0.0479,0.031,1.611,0.048,0.0297,1.6128,0.0478,0.0293,1.6136,0.0478,0.0299,1.6129,0.048,0.0263,1.6125,0.046,0.0265,1.6134,0.0463,0.0263,1.6125,0.0462,0.0264,1.6104,0.0454,0.0262,1.6115,0.0457,0.0277,1.6142,0.0463,0.028,1.6143,0.0463,0.0281,1.6139,0.0459,0.0266,1.615,0.0471,0.0266,1.615,0.0469,0.0265,1.6151,0.0469,0.0268,1.6147,0.0472,0.0267,1.6149,0.0472,0.0275,1.6145,0.0469,0.0275,1.6145,0.0471,0.0278,1.6146,0.0471,0.0284,1.6066,0.0436,0.0266,1.6148,0.0476,0.0273,1.6149,0.0479,0.0274,1.6147,0.0476,0.0252,1.6147,0.047,0.0253,1.6147,0.0472,0.0257,1.6151,0.0471,0.0254,1.6148,0.0465,0.0256,1.6151,0.0467,0.0257,1.6151,0.0466,0.0259,1.6147,0.0464,0.0259,1.6151,0.0466,0.0261,1.615,0.0465,0.0289,1.6145,0.0487,0.0283,1.615,0.0482,0.0281,1.615,0.0484,0.0286,1.6145,0.0488,0.0244,1.614,0.0468,0.0243,1.614,0.047,0.0245,1.614,0.0465,0.0245,1.614,0.0467,0.0252,1.6148,0.0467,0.0248,1.614,0.0463,0.0247,1.614,0.0464,0.0258,1.6141,0.0461,0.0254,1.614,0.0462,0.0297,1.6141,0.0467,0.0297,1.6141,0.0464,0.0293,1.6145,0.0468,0.0295,1.6141,0.0471,0.0297,1.6141,0.0469,0.0293,1.6145,0.0471,0.0302,1.6135,0.0466,0.026,1.6133,0.0461,0.0263,1.6141,0.0463,0.0254,1.6133,0.046,0.0258,1.6135,0.0486,0.0262,1.6142,0.0481,0.0252,1.6142,0.0479,0.0299,1.6131,0.0494,0.03,1.6131,0.0491,0.0296,1.6138,0.0487,0.0276,1.6126,0.0465,0.0279,1.6133,0.0469,0.0276,1.6133,0.0467,0.0307,1.6129,0.0458,0.0302,1.6136,0.0459,0.0302,1.6136,0.0462,0.0312,1.6121,0.046,0.0312,1.6121,0.0456,0.0234,1.6124,0.0477,0.0233,1.6125,0.0471,0.0228,1.6113,0.0472,0.0233,1.6114,0.0455,0.0235,1.6125,0.0462,0.0237,1.6125,0.0459,0.0257,1.6115,0.0455,0.0248,1.6114,0.0453,0.0251,1.6125,0.0457,0.0307,1.6121,0.0492,0.0306,1.6121,0.0487,0.03,1.613,0.0486,0.0314,1.6111,0.0461,0.0315,1.6111,0.0458,0.0317,1.6098,0.0455,0.0317,1.6097,0.045,0.0316,1.6084,0.0461,0.0316,1.6083,0.0455,0.0273,1.6067,0.0462,0.027,1.608,0.0466,0.0283,1.6068,0.047,0.0242,1.6077,0.0481,0.0241,1.6061,0.0479,0.0265,1.6064,0.0487,0.0232,1.6061,0.0441,0.0235,1.6061,0.0437,0.0235,1.6047,0.0435,0.0322,1.607,0.0483,0.0324,1.6051,0.0486,0.0327,1.6054,0.0482,0.0315,1.6069,0.0447,0.0317,1.6059,0.0449,0.0313,1.6057,0.0443,0.0321,1.6061,0.0454,0.0272,1.6065,0.0435,0.0281,1.6066,0.0436,0.0283,1.6055,0.0436,0.0238,1.6061,0.0434,0.0231,1.6043,0.0442,0.0231,1.606,0.0447,0.0297,1.6046,0.0493,0.0306,1.6047,0.0496,0.0306,1.6068,0.0495,0.0319,1.607,0.0457,0.0232,1.606,0.0471,0.0247,1.6078,0.0436,0.0235,1.6076,0.044,0.0235,1.609,0.0445,0.0313,1.6082,0.0444,0.0312,1.6082,0.044,0.0313,1.6097,0.0441,0.0312,1.611,0.0491,0.0232,1.6103,0.0453,0.0231,1.6113,0.0459,0.0306,1.6121,0.0497,0.0274,1.6116,0.0478,0.0264,1.6125,0.0472,0.0273,1.6125,0.0477,0.0235,1.6114,0.0453,0.024,1.6125,0.0458,0.0288,1.6119,0.0445,0.0287,1.6125,0.0451,0.0292,1.6127,0.0449,0.031,1.6121,0.0464,0.0307,1.6129,0.0463,0.0306,1.6129,0.0455,0.0305,1.6129,0.0451,0.03,1.6136,0.0457,0.0295,1.6138,0.0484,0.0265,1.6125,0.0468,0.0265,1.6125,0.0465,0.0243,1.6132,0.046,0.024,1.6132,0.0462,0.0237,1.6132,0.0475,0.0249,1.6133,0.0481,0.0271,1.6134,0.0489,0.0272,1.6143,0.0486,0.0249,1.6133,0.0459,0.0285,1.614,0.046,0.0288,1.6134,0.0454,0.0284,1.6132,0.0456,0.0299,1.6135,0.0469,0.0262,1.6147,0.0464,0.0265,1.6148,0.0465,0.0253,1.6148,0.0466,0.0252,1.6147,0.0468,0.0245,1.6139,0.0474,0.0277,1.6149,0.0484,0.0273,1.6148,0.0482,0.0259,1.6152,0.0468,0.0259,1.6152,0.0468,0.0258,1.6152,0.0469,0.0267,1.6148,0.0466,0.0265,1.615,0.0466,0.0257,1.6149,0.0475,0.0281,1.6146,0.0472,0.0283,1.6146,0.0473,0.0279,1.6146,0.0472,0.0288,1.6145,0.0474,0.0285,1.6145,0.0474,0.0287,1.6142,0.0474,0.029,1.6146,0.047,0.0286,1.6147,0.0471,0.0286,1.6147,0.0471,0.0287,1.6144,0.0464,0.0281,1.6146,0.0468,0.0285,1.6146,0.0468,0.0276,1.6081,0.045,0.0273,1.6067,0.0459,0.0276,1.608,0.0458,0.0279,1.6146,0.047,0.0279,1.6146,0.047,0.0278,1.6146,0.0468,0.0282,1.6149,0.0477,0.0284,1.6149,0.0477,0.0263,1.6149,0.0476,0.0264,1.6148,0.0477,0.0271,1.6142,0.0475,0.0273,1.614,0.0476,0.0271,1.6139,0.0475,0.0286,1.6118,0.0446,0.0284,1.6125,0.045,0.0279,1.6138,0.046,0.0276,1.6145,0.0468,0.0275,1.6149,0.0481,0.0266,1.615,0.0468,0.0266,1.615,0.0467,0.0264,1.6151,0.0468,0.0256,1.6151,0.0468,0.0258,1.6152,0.0469,0.0304,1.612,0.0481,0.0317,1.6085,0.0471,0.0319,1.6085,0.0473,0.0323,1.607,0.0466,0.0276,1.6142,0.0472,0.0277,1.6138,0.0471,0.0277,1.6069,0.0445,0.0269,1.6092,0.0451,0.027,1.6093,0.0463,0.0272,1.608,0.0458,0.0274,1.6069,0.0452,0.0266,1.6134,0.0464,0.0268,1.6148,0.0467,0.0265,1.6115,0.047,0.0276,1.6146,0.0476,0.0279,1.6141,0.0475,0.0306,1.6083,0.0466,0.0309,1.607,0.0467,0.032,1.6071,0.0465,0.0281,1.6145,0.0473,0.0315,1.6084,0.0463,0.0266,1.6116,0.0466,0.0268,1.6105,0.0465,0.0279,1.6125,0.0453,0.0279,1.6138,0.0472,0.0321,1.6071,0.0466,0.0256,1.6151,0.0469,0.0264,1.6151,0.0468,0.0276,1.6148,0.0477,0.0264,1.6116,0.0458,0.0263,1.615,0.0473,0.0265,1.615,0.0472,0.0263,1.6151,0.0471,0.0265,1.6149,0.0474,0.028,1.6146,0.0472,0.0276,1.6069,0.0452,0.0283,1.6143,0.0463,0.0289,1.6146,0.0469,0.0289,1.6144,0.0474,0.0275,1.6142,0.0466,0.0275,1.6142,0.0469,0.026,1.615,0.0473,0.0277,1.6144,0.0488,0.0304,1.6128,0.0467,0.0294,1.6119,0.0445,0.0266,1.6115,0.0472,0.0314,1.6111,0.0453,0.023,1.6103,0.0456,0.0312,1.611,0.0486,0.0315,1.6097,0.0445,0.0244,1.6091,0.0444,0.0231,1.6076,0.0474,0.0322,1.607,0.0464,0.0296,1.6067,0.0494,0.0233,1.6045,0.0438,0.0238,1.6049,0.0433,0.0273,1.6055,0.0433,0.0317,1.6069,0.0451,0.0313,1.6068,0.0442,0.0324,1.607,0.0478,0.0263,1.6078,0.0491,0.0281,1.6081,0.0472,0.0316,1.6098,0.046,0.0257,1.6125,0.0458,0.0232,1.6113,0.048,0.0281,1.6126,0.0468,0.0295,1.6138,0.0489,0.0292,1.6144,0.0473,0.0293,1.6145,0.047,0.0255,1.6147,0.0465,0.0255,1.6151,0.047,0.0268,1.6149,0.0473,0.0266,1.614,0.0473,0.0267,1.6142,0.0473,0.0294,1.6137,0.0479,0.0276,1.6142,0.0464,0.0285,1.608,0.0437,0.0293,1.614,0.0472,0.0292,1.6133,0.0472,0.0297,1.6134,0.047,0.0289,1.6138,0.0474,0.0287,1.6133,0.0472,0.0284,1.6126,0.0468,0.029,1.6126,0.047,0.0281,1.6133,0.047,0.0305,1.611,0.0466,0.0299,1.6098,0.0467,0.0307,1.6098,0.0465,0.0297,1.6109,0.0467,0.0309,1.607,0.0467,0.0306,1.6084,0.0471,0.028,1.6133,0.0476,0.0273,1.6133,0.0477,0.0299,1.6108,0.0477,0.0293,1.6118,0.0478,0.0291,1.6146,0.0472,0.0291,1.6146,0.0471,0.0266,1.6116,0.0462,0.0276,1.6125,0.0458,0.0275,1.6133,0.0461,0.0279,1.6096,0.045,0.0282,1.6096,0.0444,0.0281,1.6118,0.045,0.0283,1.6055,0.0436,0.0279,1.6094,0.0476,0.0279,1.6106,0.0479,0.0281,1.6094,0.0477,0.0277,1.6106,0.0478,0.027,1.6133,0.0476,0.0286,1.6069,0.0469,0.0285,1.6082,0.0467,0.0284,1.6068,0.0469,0.0288,1.6082,0.0468,0.0308,1.6121,0.0465,0.0302,1.6128,0.0468,0.0315,1.6099,0.0478,0.0314,1.6098,0.0475,0.0266,1.6105,0.0469,0.0267,1.6105,0.0472,0.0258,1.6152,0.0469,0.0261,1.6152,0.0467,0.0263,1.615,0.0466,0.0263,1.6151,0.0468,0.0259,1.6152,0.0467,0.0282,1.6149,0.0478,0.0284,1.6149,0.048,0.0284,1.6149,0.0479,0.0282,1.615,0.0479,0.028,1.615,0.0482,0.0279,1.6149,0.0484,0.0279,1.615,0.0482,0.0273,1.6146,0.0475,0.0267,1.6142,0.0464,0.0273,1.6067,0.0461,0.0276,1.6081,0.046,0.0277,1.6118,0.0462,0.0276,1.6126,0.0464,0.0277,1.6118,0.0464,0.0275,1.6142,0.047,0.029,1.6109,0.0441,0.0288,1.6109,0.0442,0.0286,1.6069,0.047,0.0291,1.6145,0.0467,0.0289,1.6145,0.0473,0.0286,1.6146,0.0472,0.0286,1.6146,0.0473,0.0291,1.6145,0.0481,0.029,1.6144,0.0477,0.0275,1.6138,0.0469,0.0291,1.6141,0.046,0.0295,1.6141,0.0462,0.0275,1.6138,0.0467,0.0275,1.6138,0.0464,0.0275,1.6133,0.0465,0.0286,1.6134,0.0476,0.0294,1.6138,0.0492,0.029,1.6145,0.0485,0.0279,1.6136,0.0493,0.0237,1.6132,0.0466,0.0237,1.6132,0.0468,0.0238,1.6132,0.0463,0.0234,1.6125,0.0464,0.0246,1.6125,0.0456,0.0264,1.6133,0.0473,0.0294,1.613,0.0499,0.0297,1.613,0.0497,0.029,1.6138,0.0493,0.0257,1.6127,0.0491,0.0272,1.6126,0.0495,0.0233,1.6125,0.0467,0.0236,1.6133,0.0471,0.0299,1.6128,0.0449,0.0295,1.6135,0.0454,0.0301,1.6119,0.0468,0.0297,1.6126,0.047,0.0303,1.612,0.0445,0.0229,1.6113,0.0464,0.0228,1.6113,0.0467,0.0303,1.6121,0.0501,0.0281,1.6128,0.0499,0.0274,1.6116,0.0498,0.0284,1.6118,0.0503,0.0304,1.611,0.0441,0.0309,1.6121,0.0448,0.0311,1.611,0.0444,0.0284,1.6119,0.0467,0.0279,1.6108,0.0462,0.0287,1.6109,0.0466,0.026,1.6104,0.0496,0.0277,1.6105,0.05,0.0258,1.6115,0.0495,0.0228,1.6102,0.0464,0.0227,1.6102,0.047,0.0234,1.6103,0.0451,0.0258,1.6104,0.0453,0.0305,1.6109,0.0503,0.0309,1.611,0.05,0.0299,1.612,0.0503,0.0278,1.6108,0.046,0.0279,1.6108,0.0453,0.0278,1.6096,0.0457,0.0313,1.6111,0.0448,0.0301,1.6096,0.0505,0.0309,1.6097,0.0502,0.0298,1.6108,0.0506,0.0242,1.609,0.0485,0.0261,1.6091,0.0495,0.0241,1.6103,0.0487,0.0229,1.609,0.0456,0.0228,1.609,0.0461,0.0229,1.6102,0.046,0.0243,1.6103,0.0449,0.0267,1.6093,0.0469,0.0317,1.6098,0.0484,0.0317,1.6098,0.0489,0.0279,1.6096,0.0459,0.0287,1.6097,0.0466,0.0305,1.6096,0.0437,0.0304,1.6081,0.0436,0.0319,1.6085,0.0489,0.032,1.6085,0.0484,0.0316,1.6098,0.0494,0.0293,1.6081,0.0499,0.0303,1.6083,0.05,0.0291,1.6094,0.0505,0.023,1.609,0.0478,0.023,1.6076,0.0446,0.0228,1.6076,0.0452,0.023,1.609,0.0451,0.025,1.6091,0.0445,0.0255,1.6079,0.0439,0.0269,1.6093,0.0471,0.0297,1.6069,0.0469,0.0295,1.6082,0.0471,0.0228,1.606,0.046,0.0226,1.6075,0.0463,0.0232,1.6076,0.0443,0.0266,1.608,0.0442,0.0262,1.6064,0.0432,0.0324,1.607,0.0472,0.032,1.6085,0.0479,0.0316,1.6085,0.0493,0.0314,1.6069,0.0492,0.032,1.6069,0.0488,0.0311,1.6084,0.0496,0.0328,1.6055,0.0474,0.0328,1.6054,0.0468,0.0328,1.6053,0.0472,0.0313,1.6048,0.0493,0.0262,1.6043,0.0487,0.0242,1.6041,0.0479,0.0303,1.6067,0.0436,0.0303,1.6056,0.0439,0.0229,1.6041,0.0459,0.0229,1.606,0.0452,0.023,1.6041,0.045,0.025,1.6063,0.0429,0.0263,1.6053,0.043,0.0249,1.6051,0.0428,0.0324,1.6058,0.0461,0.0326,1.6056,0.0466,0.0283,1.6065,0.0492,0.0285,1.6044,0.0491,0.0293,1.6056,0.0437,0.0293,1.6066,0.0436,0.0281,1.6079,0.0496,0.0277,1.6149,0.0482,0.0281,1.615,0.0481,0.0281,1.615,0.048,0.0269,1.608,0.0464,0.0232,1.609,0.0448,0.0227,1.6089,0.0468,0.0279,1.6092,0.05,0.0314,1.6098,0.0499,0.0296,1.6096,0.0437,0.0294,1.608,0.0435,0.0297,1.6083,0.0468,0.029,1.6097,0.0466,0.0312,1.611,0.0495,0.0249,1.6103,0.0451,0.023,1.6103,0.048,0.0288,1.6107,0.0504,0.0242,1.6114,0.0452,0.0296,1.6109,0.044,0.0294,1.6119,0.0469,0.0243,1.6114,0.0486,0.0245,1.6125,0.0484,0.0288,1.6129,0.05,0.0293,1.6119,0.0505,0.0285,1.6137,0.0494,0.0283,1.6126,0.0477,0.029,1.6127,0.0477,0.0282,1.6145,0.0489,0.0291,1.6145,0.0483,0.0283,1.6149,0.0481,0.0284,1.6147,0.047,0.0281,1.6147,0.047,0.0287,1.6146,0.0472,0.0287,1.608,0.0435,0.0272,1.608,0.0442,0.0258,1.6152,0.047,0.0315,1.6098,0.0462,0.0313,1.6111,0.0463,0.0286,1.6119,0.0468,0.0276,1.6116,0.0479,0.0272,1.6067,0.0459,0.0327,1.6056,0.0466,0.0282,1.6108,0.0447,0.0285,1.6117,0.0478,0.0289,1.6107,0.0477,0.0284,1.6081,0.0473,0.0298,1.6069,0.0468,0.0292,1.6096,0.0475,0.0303,1.6097,0.0475,0.0275,1.6125,0.0477,0.0285,1.6146,0.0473,0.0278,1.6118,0.0455,0.0287,1.6095,0.0439,0.0289,1.6109,0.0467,0.0262,1.6151,0.0471,0.0268,1.6093,0.0449,0.0289,1.6095,0.0438,0.0311,1.6121,0.0451,0.026,1.6092,0.0448,0.0315,1.6083,0.0449,0.0227,1.6076,0.0457,0.0231,1.604,0.047,0.032,1.6049,0.0489});
			return lmolar3r_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_molar3r 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_molar3r().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_molar3r\" 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_molar3r self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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