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

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=2 */
		private int[] getlmolar2r_geometry_5_22_coordIndex_2()
		{
			int[] value = {154,57,155,-1,151,305,152,-1,305,151,306,-1,307,146,245,-1,146,307,147,-1,213,135,308,-1,135,213,205,-1,309,310,311,-1,310,309,312,-1,81,127,129,-1,81,80,127,-1,157,181,11,-1,181,157,313,-1,314,8,228,-1,4,8,314,-1,315,316,317,-1,315,282,316,-1,195,318,319,-1,318,195,192,-1,320,315,321,-1,320,318,315,-1,199,128,322,-1,129,128,199,-1,91,320,323,-1,91,324,320,-1,325,267,124,-1,267,325,265,-1,326,327,328,-1,326,89,327,-1,329,88,209,-1,329,85,88,-1,50,226,330,-1,50,331,226,-1,332,326,333,-1,332,330,326,-1,334,329,335,-1,334,336,329,-1,337,338,339,-1,337,335,338,-1,332,305,51,-1,340,305,332,-1,341,334,342,-1,341,343,334,-1,342,344,345,-1,344,342,337,-1,346,271,347,-1,348,271,346,-1,349,138,152,-1,350,138,349,-1,351,345,352,-1,351,353,345,-1,347,256,203,-1,271,256,347,-1,286,354,197,-1,355,354,286,-1,356,188,357,-1,356,10,188,-1,358,359,360,-1,358,355,359,-1,95,361,360,-1,362,361,95,-1,154,363,57,-1,363,154,364,-1,363,365,366,-1,365,363,367,-1,368,369,362,-1,370,369,368,-1,153,252,121,-1,252,153,371,-1,372,373,374,-1,372,365,373,-1,375,376,377,-1,375,374,376,-1,296,378,294,-1,379,378,296,-1,293,380,381,-1,380,293,290,-1,243,15,238,-1,243,214,15,-1,382,383,384,-1,383,382,378,-1,105,385,381,-1,105,386,385,-1,387,307,388,-1,387,389,307,-1,390,391,392,-1,391,390,384,-1,393,394,395,-1,394,393,386,-1,104,396,394,-1,397,396,104,-1,398,3,244,-1,177,3,398,-1,399,391,400,-1,399,401,391,-1,402,399,403,-1,402,404,399,-1,405,406,397,-1,407,406,405,-1,178,32,14,-1,32,178,234,-1,111,74,70,-1,71,74,111,-1,408,223,409,-1,408,377,223,-1,410,411,412,-1,410,350,411,-1,215,413,115,-1,215,352,413,-1,414,220,109,-1,220,414,404,-1,415,416,406,-1,415,417,416,-1,162,27,204,-1,161,27,162,-1,418,419,420,-1,419,418,421,-1,116,206,422,-1,206,116,115,-1,423,424,425,-1,424,423,426,-1,73,218,217,-1,73,72,218,-1,421,110,111,-1,418,110,421,-1,240,427,184,-1,427,240,428,-1,410,429,430,-1,429,410,412,-1,422,221,431,-1,422,206,221,-1,107,423,425,-1,107,220,423,-1,432,409,433,-1,409,432,408,-1,314,217,434,-1,228,217,314,-1,73,217,228,-1,417,435,416,-1,417,426,435,-1,221,414,109,-1,145,414,221,-1,145,311,414,-1,113,352,215,-1,113,351,352,-1,350,240,138,-1,410,240,350,-1,419,377,408,-1,419,375,377,-1,202,193,42,-1,285,167,166,-1,285,67,167,-1,436,67,285,-1,436,264,67,-1,283,264,436,-1,283,263,264,-1,283,202,263,-1,194,202,283,-1,194,193,202,-1,437,407,405,-1,434,407,437,-1,435,403,438,-1,435,402,403,-1,312,259,439,-1,259,312,309,-1,440,234,178,-1,234,440,441,-1,222,397,104,-1,405,397,222,-1,403,400,442,-1,403,399,400,-1,400,384,383,-1,400,391,384,-1,244,238,398,-1,244,243,238,-1,386,104,394,-1,104,386,105,-1,386,443,385,-1,386,393,443,-1,308,384,390,-1,384,308,382,-1,444,307,389,-1,307,444,147,-1,445,381,385,-1,381,445,293,-1,378,446,294,-1,378,382,446,-1,377,98,223,-1,377,376,98,-1,149,186,70,-1,186,149,447,-1,246,101,250,-1,102,101,246,-1,374,448,376,-1,374,373,448,-1,373,367,449,-1,373,365,367,-1,371,255,252,-1,255,371,450,-1,94,362,95,-1,368,362,94,-1,364,367,363,-1,367,364,451,-1,200,364,154,-1,364,200,452,-1,360,96,95,-1,360,359,96,-1,288,355,286,-1,359,355,288,-1,188,9,182,-1,188,10,9,-1,352,344,413,-1,352,345,344,-1,349,411,350,-1,411,349,453,-1,340,152,305,-1,349,152,340,-1,344,339,454,-1,344,337,339,-1,342,335,337,-1,342,334,335,-1,333,340,332,-1,455,340,333,-1,339,456,144,-1,339,338,456,-1,335,209,338,-1,335,329,209,-1,333,328,457,-1,333,326,328,-1,330,89,326,-1,330,226,89,-1,458,328,327,-1,459,328,458,-1,89,323,327,-1,89,91,323,-1,80,233,229,-1,41,233,80,-1,323,321,460,-1,323,320,321,-1,461,268,265,-1,461,300,268,-1,84,322,128,-1,84,462,322,-1,324,318,320,-1,324,319,318,-1,43,319,463,-1,319,43,195,-1,317,284,462,-1,317,316,284,-1,133,206,61,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=3 */
		private int[] getlmolar2r_geometry_5_22_coordIndex_3()
		{
			int[] value = {133,221,206,-1,249,232,183,-1,249,45,232,-1,129,76,81,-1,76,129,199,-1,464,64,63,-1,464,456,64,-1,390,213,308,-1,390,465,213,-1,245,388,307,-1,245,242,388,-1,55,303,257,-1,230,303,55,-1,370,153,99,-1,371,153,370,-1,92,224,2,-1,92,225,224,-1,301,268,300,-1,301,466,268,-1,346,280,298,-1,346,279,280,-1,132,259,309,-1,131,259,132,-1,297,446,467,-1,294,446,297,-1,293,468,291,-1,293,445,468,-1,288,0,239,-1,288,287,0,-1,66,167,67,-1,66,75,167,-1,42,195,43,-1,195,42,193,-1,39,159,40,-1,39,281,159,-1,469,276,279,-1,274,276,469,-1,276,470,278,-1,276,275,470,-1,37,39,41,-1,36,39,37,-1,124,272,210,-1,124,267,272,-1,270,151,137,-1,270,269,151,-1,210,273,471,-1,272,273,210,-1,77,171,170,-1,171,77,208,-1,267,49,272,-1,267,266,49,-1,472,262,260,-1,262,472,103,-1,261,473,260,-1,473,261,474,-1,258,56,55,-1,258,475,56,-1,235,53,28,-1,235,476,53,-1,161,235,25,-1,235,161,122,-1,255,258,253,-1,258,255,477,-1,17,398,238,-1,398,17,440,-1,230,10,356,-1,10,230,54,-1,58,102,246,-1,102,58,150,-1,244,5,242,-1,244,3,5,-1,21,313,157,-1,313,21,24,-1,245,214,243,-1,214,245,146,-1,4,6,8,-1,236,6,4,-1,247,155,59,-1,247,357,155,-1,478,251,303,-1,478,250,251,-1,22,475,93,-1,21,475,22,-1,121,254,476,-1,254,121,252,-1,256,27,26,-1,256,270,27,-1,254,257,304,-1,254,253,257,-1,31,439,259,-1,31,30,439,-1,262,212,211,-1,262,173,212,-1,441,30,234,-1,473,30,441,-1,479,124,126,-1,325,124,479,-1,227,265,325,-1,461,265,227,-1,271,480,269,-1,480,271,348,-1,480,231,306,-1,480,273,231,-1,75,191,38,-1,66,191,75,-1,233,481,482,-1,40,481,233,-1,34,277,274,-1,34,130,277,-1,481,280,278,-1,481,158,280,-1,282,436,316,-1,282,283,436,-1,197,289,286,-1,197,165,289,-1,182,180,248,-1,182,9,180,-1,483,295,484,-1,483,296,295,-1,174,237,175,-1,174,18,237,-1,169,479,281,-1,78,479,169,-1,469,203,35,-1,347,203,469,-1,331,49,266,-1,331,50,49,-1,302,368,94,-1,302,450,368,-1,304,179,53,-1,251,179,304,-1,306,51,305,-1,51,306,231,-1,5,314,485,-1,5,4,314,-1,310,486,392,-1,310,312,486,-1,127,229,65,-1,80,229,127,-1,148,119,187,-1,148,164,119,-1,228,71,73,-1,74,71,228,-1,322,160,199,-1,322,196,160,-1,192,315,318,-1,315,192,282,-1,321,317,487,-1,321,315,317,-1,463,301,299,-1,488,301,463,-1,324,90,488,-1,91,90,324,-1,87,84,83,-1,87,487,84,-1,85,82,88,-1,85,83,82,-1,331,90,226,-1,331,466,90,-1,458,87,86,-1,458,460,87,-1,336,85,329,-1,336,86,85,-1,51,330,332,-1,51,50,330,-1,343,336,334,-1,343,459,336,-1,63,470,464,-1,482,470,63,-1,298,348,346,-1,471,348,298,-1,457,341,489,-1,341,457,343,-1,341,345,353,-1,345,341,342,-1,277,142,275,-1,277,143,142,-1,455,490,453,-1,490,455,489,-1,490,351,491,-1,351,490,353,-1,130,143,277,-1,130,60,143,-1,452,197,354,-1,452,47,197,-1,96,2,224,-1,96,239,2,-1,302,93,477,-1,93,302,225,-1,451,355,358,-1,451,354,355,-1,358,361,449,-1,361,358,360,-1,478,357,247,-1,478,356,357,-1,57,366,201,-1,366,57,363,-1,362,448,361,-1,369,448,362,-1,370,98,369,-1,99,98,370,-1,366,372,447,-1,372,366,365,-1,372,375,492,-1,375,372,374,-1,296,443,379,-1,443,296,483,-1,290,444,380,-1,444,290,163,-1,103,17,16,-1,472,17,103,-1,493,378,379,-1,493,383,378,-1,381,106,105,-1,106,381,380,-1,222,389,387,-1,222,106,389,-1,465,474,261,-1,474,465,486,-1,395,493,393,-1,395,442,493,-1,396,395,394,-1,396,438,395,-1,437,388,485,-1,437,387,388,-1,401,392,391,-1,401,310,392,-1,404,401,399,-1,404,414,401,-1,396,406,416,-1,406,396,397,-1,177,236,3,-1,13,236,177,-1,297,484,295,-1,467,484,297,-1,134,484,467,-1,134,468,484,-1,20,175,237,-1,119,175,20,-1,119,189,175,-1,136,468,134,-1,136,291,468,-1,241,291,136,-1,241,292,291,-1,241,198,292,-1,189,198,241,-1,189,164,198,-1,119,164,189,-1,186,421,111,-1,421,186,492,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=4 */
		private int[] getlmolar2r_geometry_5_22_coordIndex_4()
		{
			int[] value = {97,409,223,-1,184,409,97,-1,412,491,216,-1,412,411,491,-1,115,207,206,-1,115,413,207,-1,404,423,220,-1,423,404,402,-1,406,494,415,-1,494,406,407,-1,495,417,415,-1,495,496,417,-1,496,426,417,-1,496,424,426,-1,431,109,108,-1,431,221,109,-1,113,117,114,-1,117,113,215,-1,494,219,497,-1,217,219,494,-1,420,408,432,-1,420,419,408,-1,433,184,427,-1,433,409,184,-1,428,410,430,-1,428,240,410,-1,497,415,494,-1,415,497,495,-1,412,112,429,-1,216,112,412,-1,407,217,494,-1,217,407,434,-1,426,402,435,-1,426,423,402,-1,351,216,491,-1,113,216,351,-1,139,184,185,-1,240,184,139,-1,421,375,419,-1,421,492,375,-1,287,1,0,-1,289,1,287,-1,289,498,1,-1,165,498,289,-1,165,23,498,-1,46,23,165,-1,46,24,23,-1,46,313,24,-1,45,313,46,-1,45,181,313,-1,45,180,181,-1,45,248,180,-1,45,249,248,-1,434,485,314,-1,434,437,485,-1,416,438,396,-1,416,435,438,-1,414,310,401,-1,414,311,310,-1,474,312,439,-1,474,486,312,-1,405,387,437,-1,405,222,387,-1,438,442,395,-1,438,403,442,-1,442,383,493,-1,442,400,383,-1,472,440,17,-1,441,440,472,-1,380,389,106,-1,389,380,444,-1,379,393,493,-1,393,379,443,-1,213,261,211,-1,261,213,465,-1,163,147,444,-1,147,163,148,-1,483,385,443,-1,385,483,445,-1,446,308,135,-1,382,308,446,-1,447,492,186,-1,492,447,372,-1,201,447,149,-1,447,201,366,-1,376,369,98,-1,376,448,369,-1,373,361,448,-1,373,449,361,-1,247,250,478,-1,246,250,247,-1,450,477,255,-1,477,450,302,-1,451,449,367,-1,449,451,358,-1,452,451,364,-1,451,452,354,-1,239,359,288,-1,96,359,239,-1,452,232,47,-1,452,200,232,-1,413,454,207,-1,413,344,454,-1,453,491,411,-1,491,453,490,-1,455,349,340,-1,453,349,455,-1,454,144,62,-1,454,339,144,-1,489,353,490,-1,353,489,341,-1,455,457,489,-1,455,333,457,-1,275,464,470,-1,275,142,464,-1,338,64,456,-1,338,209,64,-1,457,459,343,-1,457,328,459,-1,125,471,298,-1,210,471,125,-1,229,482,63,-1,233,482,229,-1,459,86,336,-1,459,458,86,-1,327,460,458,-1,327,323,460,-1,460,487,87,-1,460,321,487,-1,466,488,90,-1,466,301,488,-1,487,462,84,-1,487,317,462,-1,488,319,324,-1,488,463,319,-1,299,43,463,-1,299,44,43,-1,462,196,322,-1,462,284,196,-1,207,62,61,-1,62,207,454,-1,145,309,311,-1,132,309,145,-1,97,162,185,-1,162,97,123,-1,2,498,92,-1,498,2,1,-1,456,142,144,-1,464,142,456,-1,486,390,392,-1,390,486,465,-1,485,242,5,-1,242,485,388,-1,70,150,149,-1,70,69,150,-1,185,204,139,-1,185,162,204,-1,200,183,232,-1,200,156,183,-1,450,370,368,-1,450,371,370,-1,266,466,331,-1,466,266,268,-1,347,279,346,-1,347,469,279,-1,281,126,159,-1,479,126,281,-1,190,44,299,-1,44,190,172,-1,292,163,290,-1,163,292,198,-1,135,467,446,-1,135,134,467,-1,445,484,468,-1,445,483,484,-1,498,22,92,-1,23,22,498,-1,264,68,67,-1,264,208,68,-1,285,316,436,-1,284,316,285,-1,158,40,159,-1,481,40,158,-1,35,274,469,-1,34,274,35,-1,482,278,470,-1,481,278,482,-1,170,300,461,-1,170,190,300,-1,269,306,151,-1,269,480,306,-1,348,273,480,-1,273,348,471,-1,77,461,227,-1,170,461,77,-1,78,325,479,-1,227,325,78,-1,472,473,441,-1,260,473,472,-1,189,212,173,-1,189,241,212,-1,473,439,30,-1,473,474,439,-1,21,56,475,-1,21,157,56,-1,476,304,53,-1,476,254,304,-1,122,476,235,-1,476,122,121,-1,477,475,258,-1,475,477,93,-1,440,177,398,-1,177,440,178,-1,303,356,478,-1,356,303,230,-1,155,188,156,-1,357,188,155,-1,102,69,100,-1,102,150,69,-1,146,120,214,-1,120,146,187,-1};
			return value;
		}
		/** Large attribute array: IndexedFaceSet DEF='lmolar2r_geometry' coordIndex field, scene-graph level=5, element #22, 3884 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 getlmolar2r_geometry_5_22_coordIndex()
		{
			MFInt32 lmolar2r_geometry_5_22_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getlmolar2r_geometry_5_22_coordIndex_1()))
				.append(new MFInt32(getlmolar2r_geometry_5_22_coordIndex_2()))
				.append(new MFInt32(getlmolar2r_geometry_5_22_coordIndex_3()))
				.append(new MFInt32(getlmolar2r_geometry_5_22_coordIndex_4()));
			return lmolar2r_geometry_5_22_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='lmolar2r_coordinate' point field, scene-graph level=6, element #22, 1497 total numbers made up of 499 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 getlmolar2r_coordinate_6_22_point()
		{
			MFVec3f lmolar2r_coordinate_6_22_point = new MFVec3f(new double[] {0.028,1.6148,0.0555,0.0279,1.6148,0.0555,0.0281,1.6146,0.0556,0.0243,1.6083,0.0521,0.0245,1.6068,0.0512,0.0239,1.6083,0.0514,0.0249,1.6067,0.0521,0.0252,1.6063,0.0513,0.0248,1.6064,0.0512,0.0268,1.6142,0.0551,0.0266,1.6136,0.0548,0.0269,1.6142,0.0552,0.0251,1.6068,0.0531,0.0249,1.6068,0.0531,0.0252,1.6069,0.0541,0.0228,1.6134,0.0526,0.0228,1.6134,0.0531,0.0231,1.6117,0.0531,0.0226,1.6142,0.0527,0.0226,1.6142,0.0525,0.0224,1.6144,0.0525,0.0273,1.6143,0.0556,0.0276,1.6144,0.0556,0.0276,1.6146,0.0555,0.0273,1.6145,0.0554,0.0269,1.6068,0.0546,0.0269,1.6069,0.0549,0.0285,1.6071,0.0554,0.0258,1.607,0.0541,0.0255,1.6068,0.0542,0.0239,1.608,0.0551,0.0243,1.6067,0.0551,0.0251,1.6069,0.0545,0.0243,1.6065,0.0553,0.0242,1.6066,0.0553,0.025,1.6067,0.0546,0.0264,1.614,0.0571,0.0262,1.6139,0.0573,0.0266,1.6144,0.0573,0.026,1.6134,0.057,0.0256,1.6125,0.0571,0.0257,1.6132,0.0573,0.0277,1.6148,0.0575,0.0279,1.6147,0.0576,0.0279,1.6147,0.0574,0.027,1.6147,0.0549,0.0272,1.6147,0.0549,0.0272,1.6147,0.0547,0.0253,1.6068,0.0544,0.0283,1.6121,0.0575,0.0284,1.6121,0.0578,0.0286,1.6111,0.0578,0.0253,1.6069,0.0539,0.0264,1.6081,0.0541,0.0269,1.6136,0.0551,0.027,1.6129,0.0551,0.0271,1.6136,0.0553,0.0266,1.6114,0.0527,0.0261,1.6098,0.0521,0.0262,1.6112,0.0527,0.0231,1.6062,0.057,0.0232,1.6062,0.0572,0.0235,1.6073,0.0575,0.0244,1.6112,0.0579,0.0245,1.6111,0.0582,0.025,1.6122,0.058,0.027,1.6146,0.0572,0.0272,1.6147,0.0574,0.0272,1.6146,0.0572,0.0255,1.6069,0.0513,0.0258,1.6068,0.0512,0.0253,1.6049,0.0507,0.0255,1.6031,0.05,0.0247,1.6048,0.0506,0.0252,1.6061,0.0509,0.0269,1.6146,0.0574,0.0266,1.6143,0.0575,0.0274,1.6145,0.0571,0.0269,1.614,0.057,0.0271,1.6145,0.0571,0.0256,1.6131,0.0576,0.0261,1.6138,0.0575,0.0256,1.6132,0.0581,0.0261,1.6132,0.0583,0.0265,1.6139,0.0581,0.0258,1.6124,0.0586,0.0266,1.6125,0.0589,0.0268,1.6134,0.0586,0.0253,1.6123,0.0583,0.028,1.6127,0.0588,0.0282,1.6136,0.0581,0.028,1.6135,0.0585,0.028,1.6145,0.0556,0.0279,1.6136,0.0556,0.0286,1.6132,0.0552,0.0287,1.6133,0.055,0.0286,1.6139,0.0552,0.0301,1.6072,0.0547,0.0295,1.6088,0.0539,0.0294,1.6087,0.0545,0.0254,1.6069,0.0522,0.0259,1.6082,0.0532,0.0257,1.6082,0.0525,0.0227,1.6133,0.0535,0.0211,1.6098,0.0518,0.021,1.6116,0.0521,0.0212,1.6117,0.0516,0.0211,1.6023,0.055,0.0214,1.6025,0.056,0.0215,1.6041,0.0559,0.0273,1.6031,0.0508,0.0267,1.6051,0.0509,0.0295,1.603,0.059,0.0284,1.6048,0.059,0.0286,1.6031,0.059,0.0249,1.6044,0.0579,0.0246,1.6032,0.0579,0.0267,1.6033,0.0583,0.0223,1.6144,0.0524,0.0223,1.6144,0.0523,0.0225,1.6142,0.0523,0.0283,1.6085,0.0546,0.0284,1.6073,0.0548,0.0297,1.6074,0.0549,0.0269,1.6127,0.0569,0.0259,1.6118,0.0567,0.0263,1.6126,0.0569,0.0256,1.6132,0.0578,0.0262,1.6139,0.0579,0.0261,1.6139,0.0578,0.0236,1.6064,0.0561,0.0235,1.6064,0.056,0.0228,1.6062,0.0566,0.0229,1.6059,0.0571,0.0219,1.6142,0.0533,0.0218,1.6141,0.0535,0.022,1.6142,0.0533,0.0298,1.6073,0.0562,0.0302,1.6072,0.0566,0.0303,1.6068,0.056,0.0252,1.6066,0.053,0.0252,1.6066,0.0521,0.0237,1.6086,0.0576,0.0234,1.6073,0.0572,0.0237,1.6086,0.0579,0.0226,1.6059,0.0566,0.0224,1.6135,0.0519,0.0222,1.6134,0.0518,0.0223,1.6142,0.052,0.0262,1.6082,0.0516,0.0258,1.6081,0.0517,0.0295,1.6083,0.0567,0.0298,1.6083,0.0573,0.0291,1.6087,0.0546,0.0268,1.613,0.0535,0.0265,1.6129,0.0536,0.0266,1.6136,0.054,0.0271,1.6142,0.0554,0.0257,1.6117,0.0568,0.026,1.6126,0.0568,0.0269,1.6146,0.0575,0.0285,1.607,0.0549,0.0299,1.6071,0.0553,0.0221,1.6142,0.052,0.0222,1.6144,0.0522,0.0277,1.6148,0.0552,0.0271,1.6147,0.0575,0.0271,1.6147,0.0574,0.0269,1.6145,0.0571,0.0267,1.614,0.0569,0.0277,1.6146,0.0571,0.0276,1.6147,0.0573,0.0279,1.6147,0.0573,0.0225,1.6142,0.0533,0.0226,1.6142,0.0529,0.0224,1.6143,0.0528,0.0253,1.6069,0.0531,0.0246,1.6082,0.0528,0.0246,1.6081,0.0537,0.0262,1.6082,0.054,0.027,1.6145,0.0552,0.0271,1.6145,0.0553,0.0267,1.6143,0.0549,0.0268,1.6144,0.0547,0.0304,1.6053,0.0545,0.0302,1.6069,0.0552,0.027,1.607,0.0514,0.0224,1.6142,0.0522,0.0265,1.6136,0.0544,0.0223,1.6143,0.053,0.028,1.6146,0.0573,0.0267,1.6144,0.0572,0.0277,1.6147,0.0579,0.0277,1.6148,0.0576,0.0276,1.6148,0.0576,0.0278,1.6147,0.0578,0.0269,1.6146,0.0577,0.0278,1.6147,0.055,0.0221,1.6144,0.0522,0.0266,1.6144,0.0577,0.0268,1.6137,0.0539,0.0265,1.61,0.0522,0.0277,1.6148,0.0575,0.0253,1.6069,0.0546,0.0299,1.6072,0.0558,0.022,1.6141,0.0535,0.0237,1.6043,0.0574,0.0239,1.6062,0.0578,0.0274,1.6147,0.0572,0.0248,1.6112,0.0585,0.0267,1.6119,0.0569,0.0221,1.6131,0.0546,0.0222,1.6141,0.0535,0.0217,1.6128,0.0549,0.0227,1.6134,0.0523,0.0269,1.6046,0.0585,0.0291,1.6049,0.0589,0.0236,1.6047,0.0503,0.0244,1.6028,0.0495,0.0234,1.6025,0.0494,0.0214,1.6041,0.0551,0.0226,1.6042,0.0568,0.0214,1.6098,0.0514,0.0299,1.6073,0.0538,0.0285,1.6138,0.0554,0.0282,1.6137,0.0555,0.0283,1.6129,0.0584,0.0273,1.614,0.057,0.0247,1.606,0.0508,0.025,1.6123,0.0577,0.0268,1.6129,0.0549,0.0284,1.6111,0.0575,0.0269,1.6145,0.0546,0.0253,1.6124,0.0573,0.0245,1.6081,0.0543,0.027,1.6071,0.0545,0.0247,1.6068,0.0521,0.0224,1.6144,0.0526,0.0231,1.6118,0.0526,0.0282,1.6146,0.0554,0.0305,1.6053,0.0561,0.0221,1.6143,0.0532,0.0232,1.61,0.0515,0.0229,1.6118,0.0521,0.0236,1.61,0.0521,0.0225,1.6118,0.0516,0.026,1.6099,0.0529,0.0261,1.6113,0.0534,0.0269,1.6146,0.055,0.0269,1.6146,0.0549,0.0261,1.6099,0.0536,0.0264,1.6099,0.0543,0.0281,1.6103,0.0549,0.0274,1.6115,0.0549,0.0273,1.6101,0.0547,0.028,1.6116,0.0551,0.0269,1.607,0.0552,0.0268,1.6113,0.0546,0.0275,1.613,0.0554,0.0235,1.6065,0.0558,0.0227,1.6115,0.0545,0.0222,1.6114,0.0552,0.0224,1.6132,0.0541,0.0275,1.6148,0.0574,0.0274,1.6148,0.0574,0.0276,1.6135,0.0571,0.0282,1.613,0.0575,0.0276,1.6129,0.0571,0.0281,1.6136,0.0574,0.0283,1.6083,0.0562,0.0284,1.6072,0.0557,0.0269,1.6081,0.0558,0.0275,1.612,0.0571,0.0276,1.611,0.0571,0.0245,1.6078,0.056,0.024,1.6089,0.057,0.0246,1.6092,0.0565,0.0238,1.6076,0.0566,0.0248,1.6106,0.0569,0.0253,1.6094,0.0561,0.0254,1.6108,0.0566,0.0264,1.6134,0.0569,0.0276,1.6147,0.0579,0.0275,1.6148,0.0576,0.027,1.6146,0.0577,0.0271,1.6147,0.0575,0.028,1.6147,0.0551,0.0279,1.6148,0.0554,0.0281,1.6147,0.0552,0.0278,1.6148,0.0553,0.0219,1.6142,0.0521,0.0219,1.6143,0.0524,0.022,1.6143,0.0523,0.0218,1.6142,0.0522,0.0216,1.6142,0.0531,0.0218,1.6143,0.0529,0.0216,1.6141,0.0529,0.0218,1.6142,0.0531,0.0257,1.6108,0.0566,0.0281,1.6146,0.0575,0.0281,1.6142,0.0573,0.0282,1.6142,0.0576,0.0284,1.6132,0.0554,0.0266,1.6114,0.0545,0.0266,1.6099,0.0544,0.0292,1.6097,0.0576,0.0289,1.6097,0.0571,0.0223,1.6118,0.0515,0.0212,1.6129,0.0549,0.0227,1.6063,0.0565,0.022,1.6075,0.0563,0.0224,1.6061,0.0565,0.0224,1.6076,0.0563,0.0272,1.6145,0.0553,0.0242,1.6066,0.0509,0.0276,1.6146,0.0582,0.0273,1.6147,0.0578,0.0272,1.6146,0.058,0.0278,1.6146,0.0581,0.0279,1.6146,0.0581,0.0278,1.6141,0.0584,0.0276,1.614,0.0585,0.0267,1.6145,0.0578,0.0278,1.6135,0.0587,0.028,1.6141,0.0583,0.0271,1.6134,0.057,0.0281,1.6117,0.0591,0.0277,1.6127,0.059,0.0277,1.6117,0.0593,0.0255,1.6113,0.0588,0.0284,1.6119,0.0586,0.0283,1.6129,0.0577,0.0287,1.6109,0.0587,0.0283,1.6107,0.0593,0.0265,1.6102,0.0593,0.0253,1.6101,0.0589,0.0265,1.6114,0.0591,0.0252,1.6087,0.0587,0.0245,1.61,0.0586,0.0243,1.6086,0.0584,0.0292,1.6095,0.0586,0.0277,1.609,0.0596,0.0266,1.6089,0.0592,0.0274,1.6104,0.0596,0.0252,1.6074,0.0584,0.0268,1.6076,0.059,0.0256,1.6094,0.0561,0.0254,1.608,0.0554,0.0267,1.6096,0.0564,0.0297,1.6081,0.0584,0.0301,1.607,0.0581,0.0281,1.6066,0.0593,0.0269,1.6065,0.0587,0.028,1.6077,0.0594,0.028,1.6139,0.0544,0.0282,1.6139,0.0546,0.0265,1.6129,0.0545,0.0264,1.6129,0.0541,0.0284,1.6133,0.0543,0.0284,1.6139,0.0549,0.0286,1.6134,0.0545,0.0288,1.6119,0.0539,0.0289,1.6119,0.0544,0.0272,1.6116,0.0528,0.0274,1.6131,0.0536,0.0284,1.6105,0.0529,0.0273,1.6102,0.0523,0.0283,1.6118,0.0534,0.0288,1.6118,0.0548,0.0291,1.6105,0.0541,0.029,1.6105,0.0547,0.0288,1.6104,0.0548,0.0286,1.6087,0.0525,0.0287,1.6105,0.0531,0.029,1.6087,0.0528,0.0292,1.6073,0.0525,0.0294,1.6088,0.0532,0.0297,1.6073,0.053,0.0209,1.613,0.0542,0.0209,1.6131,0.0537,0.0214,1.6133,0.0519,0.0213,1.6133,0.0522,0.021,1.6129,0.0546,0.0206,1.6113,0.0546,0.0207,1.6111,0.0551,0.0211,1.6132,0.0526,0.0208,1.6116,0.0526,0.0223,1.6099,0.0511,0.0228,1.6099,0.0513,0.0219,1.6118,0.0513,0.0212,1.6111,0.0557,0.0207,1.6092,0.0554,0.0215,1.6091,0.0561,0.0207,1.6115,0.0533,0.0208,1.6098,0.0524,0.0207,1.6096,0.0533,0.0214,1.608,0.0522,0.0216,1.6081,0.0517,0.0238,1.6099,0.0527,0.0211,1.6076,0.0549,0.0206,1.6094,0.0548,0.0212,1.6075,0.0556,0.0212,1.606,0.0542,0.021,1.6077,0.0542,0.0213,1.6059,0.055,0.0219,1.6081,0.0512,0.0219,1.6063,0.0516,0.0222,1.6063,0.051,0.03,1.6054,0.0528,0.0302,1.6054,0.0536,0.0304,1.6051,0.0579,0.0295,1.6069,0.0589,0.0298,1.605,0.0588,0.025,1.6063,0.0582,0.0213,1.6059,0.0557,0.0221,1.6044,0.0514,0.0216,1.6062,0.0521,0.0217,1.6043,0.0521,0.0291,1.6031,0.0514,0.0295,1.6053,0.0523,0.0299,1.6032,0.0519,0.0289,1.6053,0.0519,0.0234,1.603,0.0573,0.0213,1.6041,0.0542,0.0213,1.6024,0.0529,0.021,1.6022,0.0541,0.0216,1.6042,0.0531,0.0312,1.6032,0.0542,0.0313,1.6032,0.0559,0.0302,1.6029,0.0588,0.0312,1.603,0.0576,0.0222,1.6028,0.0567,0.0306,1.6033,0.0525,0.0309,1.6032,0.0533,0.0233,1.6065,0.0506,0.0215,1.6061,0.0531,0.0274,1.6148,0.0576,0.0229,1.6082,0.0509,0.0212,1.6079,0.0532,0.0232,1.6079,0.0557,0.0239,1.6097,0.0534,0.0237,1.6097,0.054,0.0205,1.6095,0.0541,0.021,1.6132,0.0532,0.0219,1.6134,0.0517,0.0217,1.6142,0.0524,0.0216,1.6141,0.0533,0.0271,1.6084,0.0517,0.029,1.6105,0.0535,0.0285,1.6119,0.0536,0.0286,1.6118,0.055,0.0282,1.6133,0.0541,0.0273,1.6138,0.054,0.0292,1.6079,0.0591,0.0241,1.6073,0.058,0.0288,1.6093,0.0593,0.024,1.6099,0.0582,0.0279,1.6105,0.0594,0.0274,1.6125,0.0591,0.0273,1.6116,0.0594,0.0275,1.6134,0.0588,0.0277,1.6141,0.0571,0.0269,1.6145,0.0579,0.0281,1.6145,0.0578,0.024,1.61,0.0579,0.0217,1.6111,0.0556,0.0282,1.6137,0.0576,0.0218,1.6142,0.0532,0.0219,1.6143,0.0525,0.0252,1.608,0.0555,0.0243,1.6103,0.0573,0.0266,1.6109,0.0568,0.023,1.6117,0.0538,0.0232,1.6096,0.0548,0.0226,1.6094,0.0555,0.0275,1.6136,0.0555,0.0273,1.6083,0.0545,0.028,1.6131,0.0554,0.0263,1.6113,0.0539,0.0266,1.6134,0.0569,0.0279,1.6097,0.0567,0.0251,1.6116,0.057,0.0247,1.6114,0.0574,0.0217,1.6142,0.0526,0.0218,1.6143,0.0527,0.0236,1.6082,0.0511,0.0219,1.6092,0.056,0.027,1.614,0.0583,0.0281,1.6142,0.0579,0.0282,1.6091,0.0594,0.0286,1.6078,0.0593,0.0288,1.6067,0.0591,0.0287,1.6072,0.0521,0.0206,1.6114,0.054,0.0224,1.6045,0.0508,0.022,1.6022,0.0506,0.0216,1.6022,0.0514,0.0223,1.6022,0.05,0.0278,1.6147,0.0556});
			return lmolar2r_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_molar2r 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_molar2r().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_molar2r\" 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_molar2r self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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