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

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=2 */
		private int[] getrmolar2r_geometry_5_22_coordIndex_2()
		{
			int[] value = {300,301,302,-1,303,301,300,-1,140,304,201,-1,304,140,305,-1,275,2,92,-1,229,2,275,-1,63,97,189,-1,122,97,63,-1,306,101,307,-1,101,306,141,-1,69,203,70,-1,308,203,69,-1,271,309,310,-1,271,311,309,-1,312,164,313,-1,167,164,312,-1,309,314,315,-1,309,312,314,-1,84,156,316,-1,156,84,129,-1,317,292,213,-1,317,318,292,-1,319,320,215,-1,319,315,320,-1,257,321,322,-1,256,321,257,-1,323,324,325,-1,323,91,324,-1,87,326,127,-1,87,128,326,-1,90,53,327,-1,90,293,53,-1,324,328,329,-1,324,327,328,-1,326,330,331,-1,326,332,330,-1,333,334,335,-1,333,331,334,-1,336,328,52,-1,328,336,337,-1,330,338,339,-1,330,340,338,-1,341,339,342,-1,334,339,341,-1,262,291,290,-1,291,262,343,-1,136,344,147,-1,344,136,345,-1,342,346,347,-1,342,348,346,-1,260,290,138,-1,290,260,262,-1,349,350,158,-1,350,349,351,-1,352,126,353,-1,352,124,126,-1,354,355,356,-1,349,355,354,-1,357,354,358,-1,359,354,357,-1,244,295,360,-1,361,295,244,-1,241,238,362,-1,238,241,237,-1,363,364,365,-1,363,357,364,-1,366,367,95,-1,366,365,367,-1,368,66,146,-1,369,66,368,-1,370,368,187,-1,371,368,370,-1,177,193,178,-1,372,193,177,-1,373,374,375,-1,374,373,376,-1,377,378,379,-1,284,378,377,-1,16,172,18,-1,172,16,252,-1,250,380,248,-1,303,380,250,-1,381,376,382,-1,383,376,381,-1,384,377,98,-1,385,377,384,-1,386,387,15,-1,387,386,388,-1,389,390,382,-1,389,391,390,-1,390,392,393,-1,390,394,392,-1,395,396,397,-1,395,100,396,-1,398,399,400,-1,398,301,399,-1,401,402,403,-1,401,307,402,-1,392,404,405,-1,392,406,404,-1,298,407,408,-1,298,397,407,-1,229,409,0,-1,229,410,409,-1,275,410,229,-1,275,159,410,-1,23,159,275,-1,23,160,159,-1,227,160,23,-1,411,160,227,-1,411,47,160,-1,192,47,411,-1,182,47,192,-1,239,47,182,-1,239,240,47,-1,412,413,414,-1,412,370,413,-1,190,64,189,-1,64,190,230,-1,114,346,415,-1,346,114,113,-1,416,417,406,-1,416,418,417,-1,109,419,420,-1,407,419,109,-1,115,421,422,-1,421,115,114,-1,423,424,420,-1,425,424,423,-1,426,427,428,-1,426,230,427,-1,190,429,430,-1,190,431,429,-1,432,433,434,-1,432,414,433,-1,107,420,424,-1,420,107,109,-1,117,113,209,-1,208,113,117,-1,211,435,104,-1,211,103,435,-1,417,436,437,-1,417,438,436,-1,437,425,423,-1,437,436,425,-1,420,439,423,-1,419,439,420,-1,418,440,106,-1,416,440,418,-1,203,116,204,-1,203,441,116,-1,415,421,114,-1,415,442,421,-1,431,97,96,-1,97,431,190,-1,413,187,111,-1,370,187,413,-1,276,443,444,-1,276,280,443,-1,276,135,280,-1,278,135,276,-1,171,20,19,-1,171,186,20,-1,194,186,171,-1,194,285,186,-1,231,285,194,-1,231,283,285,-1,133,283,231,-1,133,445,283,-1,133,278,445,-1,133,135,278,-1,21,181,5,-1,181,21,13,-1,439,405,404,-1,446,405,439,-1,403,440,447,-1,403,402,440,-1,302,403,448,-1,302,401,403,-1,299,397,298,-1,299,395,397,-1,393,405,449,-1,393,392,405,-1,382,393,381,-1,382,390,393,-1,399,303,250,-1,301,303,399,-1,384,100,395,-1,384,98,100,-1,98,379,212,-1,377,379,98,-1,373,382,376,-1,373,389,382,-1,15,252,16,-1,252,15,387,-1,385,284,377,-1,282,284,385,-1,383,374,376,-1,279,374,383,-1,202,248,380,-1,202,232,248,-1,412,371,370,-1,450,371,412,-1,371,369,368,-1,451,369,371,-1,95,294,366,-1,294,95,148,-1,365,452,363,-1,452,365,366,-1,369,67,66,-1,453,67,369,-1,454,362,238,-1,454,455,362,-1,363,359,357,-1,125,359,363,-1,351,354,359,-1,351,349,354,-1,94,361,244,-1,93,361,94,-1,351,456,350,-1,456,351,207,-1,11,184,183,-1,11,10,184,-1,341,347,441,-1,341,342,347,-1,442,344,345,-1,457,344,442,-1,147,337,336,-1,337,147,344,-1,335,341,308,-1,335,334,341,-1,331,339,334,-1,331,330,339,-1,337,329,328,-1,329,337,458,-1,304,335,201,-1,304,333,335,-1,127,331,333,-1,127,326,331,-1,325,329,459,-1,325,324,329,-1,91,327,324,-1,91,90,327,-1,128,332,326,-1,128,214,332,-1,215,460,214,-1,215,320,460,-1,213,293,90,-1,213,292,293,-1,216,215,85,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=3 */
		private int[] getrmolar2r_geometry_5_22_coordIndex_3()
		{
			int[] value = {216,319,215,-1,213,461,317,-1,461,213,89,-1,318,462,286,-1,462,318,317,-1,310,315,319,-1,310,309,315,-1,309,167,312,-1,311,167,309,-1,76,316,156,-1,76,197,316,-1,112,463,218,-1,463,112,77,-1,204,102,70,-1,204,103,102,-1,48,240,60,-1,48,47,240,-1,73,88,71,-1,88,73,464,-1,301,401,302,-1,301,398,401,-1,408,3,298,-1,408,4,3,-1,52,465,336,-1,51,465,52,-1,56,246,54,-1,246,56,242,-1,296,361,353,-1,296,295,361,-1,222,293,255,-1,222,53,293,-1,138,270,36,-1,270,138,290,-1,225,141,306,-1,141,225,31,-1,19,172,171,-1,19,18,172,-1,444,279,276,-1,444,374,279,-1,182,183,239,-1,182,11,183,-1,410,158,350,-1,410,159,158,-1,466,268,265,-1,466,153,268,-1,467,37,269,-1,467,174,37,-1,268,38,266,-1,38,268,39,-1,43,74,80,-1,74,43,42,-1,51,468,465,-1,51,264,468,-1,468,262,259,-1,343,262,468,-1,256,82,321,-1,82,256,469,-1,322,288,155,-1,288,322,321,-1,35,388,224,-1,388,35,470,-1,232,251,248,-1,232,173,251,-1,400,32,225,-1,400,35,32,-1,471,247,246,-1,471,472,247,-1,29,26,28,-1,157,26,29,-1,245,360,472,-1,244,360,245,-1,473,15,228,-1,386,15,473,-1,10,221,455,-1,57,221,10,-1,372,65,237,-1,145,65,372,-1,119,236,233,-1,142,236,119,-1,411,25,151,-1,227,25,411,-1,3,235,234,-1,3,5,235,-1,149,238,220,-1,149,454,238,-1,242,362,474,-1,242,241,362,-1,243,24,94,-1,24,243,25,-1,247,123,176,-1,475,123,247,-1,226,260,27,-1,226,261,260,-1,58,245,59,-1,58,243,245,-1,470,250,249,-1,399,250,470,-1,251,387,249,-1,252,387,251,-1,222,257,263,-1,222,255,257,-1,195,83,170,-1,205,83,195,-1,264,476,477,-1,476,264,263,-1,199,261,137,-1,199,259,261,-1,263,322,476,-1,263,257,322,-1,40,130,223,-1,130,40,168,-1,267,478,265,-1,267,479,478,-1,478,270,289,-1,270,478,269,-1,152,40,39,-1,152,287,40,-1,273,311,271,-1,273,480,311,-1,0,456,1,-1,0,409,456,-1,278,378,445,-1,278,277,378,-1,281,443,280,-1,443,281,375,-1,481,282,144,-1,481,285,282,-1,288,196,287,-1,196,288,217,-1,466,291,482,-1,466,289,291,-1,258,318,483,-1,258,292,318,-1,352,92,2,-1,352,93,92,-1,121,294,148,-1,294,121,297,-1,474,59,471,-1,59,474,221,-1,299,236,484,-1,299,234,236,-1,380,300,485,-1,380,303,300,-1,72,305,219,-1,72,304,305,-1,79,129,206,-1,156,129,79,-1,191,144,143,-1,191,481,144,-1,31,132,141,-1,132,31,174,-1,274,310,486,-1,274,271,310,-1,313,163,462,-1,164,163,313,-1,312,461,314,-1,312,313,461,-1,316,216,84,-1,316,486,216,-1,258,469,256,-1,258,483,469,-1,315,487,320,-1,315,314,487,-1,38,464,73,-1,464,38,223,-1,487,91,323,-1,487,89,91,-1,325,460,323,-1,460,325,488,-1,476,155,154,-1,155,476,322,-1,327,52,328,-1,327,53,52,-1,332,340,330,-1,332,488,340,-1,267,219,305,-1,219,267,266,-1,343,482,291,-1,482,343,477,-1,338,459,489,-1,340,459,338,-1,342,338,348,-1,339,338,342,-1,140,467,479,-1,140,68,467,-1,490,458,457,-1,489,458,490,-1,346,490,415,-1,348,490,346,-1,68,174,467,-1,68,132,174,-1,158,355,349,-1,158,49,355,-1,2,124,352,-1,2,1,124,-1,356,150,198,-1,355,150,356,-1,358,356,453,-1,354,356,358,-1,452,353,126,-1,353,452,296,-1,360,297,475,-1,295,297,360,-1,358,364,357,-1,358,451,364,-1,365,450,367,-1,365,364,450,-1,193,237,241,-1,237,193,372,-1,187,146,188,-1,368,146,187,-1,95,491,96,-1,95,367,491,-1,281,373,375,-1,281,492,373,-1,379,277,493,-1,378,277,379,-1,484,385,384,-1,200,385,484,-1,494,485,300,-1,492,485,494,-1,383,495,493,-1,383,381,495,-1,99,495,449,-1,212,495,99,-1,228,235,473,-1,228,233,235,-1,494,391,389,-1,494,448,391,-1,391,394,390,-1,391,447,394,-1,446,100,99,-1,100,446,396,-1,224,386,180,-1,388,386,224,-1,225,398,400,-1,306,398,225,-1,394,406,392,-1,394,416,406,-1,419,397,396,-1,397,419,407,-1,481,186,285,-1,481,191,186,-1,166,45,44,-1,75,272,162,-1,161,272,75,-1,161,273,272,-1,254,273,161,-1,254,480,273,-1,253,480,254,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=4 */
		private int[] getrmolar2r_geometry_5_22_coordIndex_4()
		{
			int[] value = {45,480,253,-1,45,165,480,-1,45,166,165,-1,491,414,432,-1,491,412,414,-1,230,345,136,-1,345,230,426,-1,347,113,208,-1,347,346,113,-1,402,103,211,-1,402,101,103,-1,402,307,101,-1,406,437,404,-1,406,417,437,-1,109,408,407,-1,109,463,408,-1,463,109,218,-1,431,434,429,-1,432,434,431,-1,418,105,496,-1,418,106,105,-1,103,497,435,-1,103,204,497,-1,422,426,428,-1,421,426,422,-1,430,230,190,-1,427,230,430,-1,110,413,111,-1,413,110,498,-1,108,218,109,-1,108,210,218,-1,438,418,496,-1,417,418,438,-1,204,118,497,-1,116,118,204,-1,414,498,433,-1,413,498,414,-1,226,63,62,-1,63,226,26,-1,404,423,439,-1,404,437,423,-1,106,402,211,-1,440,402,106,-1,441,208,116,-1,441,347,208,-1,442,426,421,-1,442,345,426,-1,96,432,431,-1,96,491,432,-1,77,111,188,-1,111,77,112,-1,34,180,12,-1,224,180,34,-1,439,396,446,-1,396,439,419,-1,447,416,394,-1,447,440,416,-1,448,447,391,-1,448,403,447,-1,5,473,235,-1,473,5,181,-1,405,99,449,-1,99,405,446,-1,449,381,393,-1,495,381,449,-1,448,300,302,-1,494,300,448,-1,484,395,299,-1,484,384,395,-1,493,212,379,-1,493,495,212,-1,389,492,494,-1,373,492,389,-1,17,233,228,-1,17,119,233,-1,200,282,385,-1,144,282,200,-1,493,279,383,-1,277,279,493,-1,485,281,134,-1,281,485,492,-1,367,412,491,-1,367,450,412,-1,364,371,450,-1,364,451,371,-1,475,121,123,-1,297,121,475,-1,366,296,452,-1,296,366,294,-1,451,453,369,-1,358,453,451,-1,453,198,67,-1,356,198,453,-1,363,126,125,-1,126,363,452,-1,207,359,125,-1,207,351,359,-1,184,455,454,-1,184,10,455,-1,207,1,456,-1,1,207,124,-1,48,355,49,-1,48,150,355,-1,308,441,203,-1,308,341,441,-1,415,457,442,-1,490,457,415,-1,344,458,337,-1,458,344,457,-1,201,308,69,-1,201,335,308,-1,348,489,490,-1,338,489,348,-1,459,458,489,-1,459,329,458,-1,305,479,267,-1,305,140,479,-1,72,333,304,-1,72,127,333,-1,488,459,340,-1,488,325,459,-1,477,154,482,-1,154,477,476,-1,266,73,219,-1,73,266,38,-1,214,488,332,-1,214,460,488,-1,320,323,460,-1,320,487,323,-1,314,89,487,-1,314,461,89,-1,206,223,130,-1,206,464,223,-1,486,319,216,-1,486,310,319,-1,313,317,461,-1,313,462,317,-1,163,286,462,-1,163,46,286,-1,197,486,316,-1,197,274,486,-1,77,6,463,-1,77,7,6,-1,6,408,463,-1,408,6,4,-1,192,151,9,-1,411,151,192,-1,88,206,129,-1,88,464,206,-1,401,306,307,-1,398,306,401,-1,134,380,485,-1,202,380,134,-1,142,484,236,-1,200,484,142,-1,336,199,147,-1,465,199,336,-1,471,242,474,-1,471,246,242,-1,353,93,352,-1,353,361,93,-1,483,286,169,-1,483,318,286,-1,153,482,154,-1,153,466,482,-1,41,217,81,-1,41,196,217,-1,137,226,62,-1,137,261,226,-1,20,185,120,-1,20,186,185,-1,444,375,374,-1,444,443,375,-1,445,284,283,-1,445,378,284,-1,409,350,456,-1,409,410,350,-1,162,274,197,-1,162,272,274,-1,311,165,167,-1,480,165,311,-1,287,168,40,-1,287,196,168,-1,289,265,478,-1,289,466,265,-1,479,269,478,-1,479,467,269,-1,168,80,130,-1,80,168,43,-1,483,170,469,-1,483,169,170,-1,465,259,199,-1,465,468,259,-1,264,343,468,-1,477,343,264,-1,469,83,82,-1,83,469,170,-1,321,217,288,-1,217,321,82,-1,470,387,388,-1,387,470,249,-1,232,194,173,-1,232,231,194,-1,400,470,35,-1,400,399,470,-1,59,472,471,-1,59,245,472,-1,27,138,50,-1,138,27,260,-1,472,475,247,-1,360,475,472,-1,181,386,473,-1,180,386,181,-1,455,474,362,-1,221,474,455,-1,184,149,61,-1,149,184,454,-1,78,372,177,-1,78,145,372,-1,185,142,119,-1,143,142,185,-1};
			return value;
		}
		/** Large attribute array: IndexedFaceSet DEF='rmolar2r_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 getrmolar2r_geometry_5_22_coordIndex()
		{
			MFInt32 rmolar2r_geometry_5_22_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getrmolar2r_geometry_5_22_coordIndex_1()))
				.append(new MFInt32(getrmolar2r_geometry_5_22_coordIndex_2()))
				.append(new MFInt32(getrmolar2r_geometry_5_22_coordIndex_3()))
				.append(new MFInt32(getrmolar2r_geometry_5_22_coordIndex_4()));
			return rmolar2r_geometry_5_22_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='rmolar2r_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 getrmolar2r_coordinate_6_22_point()
		{
			MFVec3f rmolar2r_coordinate_6_22_point = new MFVec3f(new double[] {-0.028,1.6148,0.0554,-0.0282,1.6146,0.0554,-0.0281,1.6146,0.0555,-0.0239,1.6083,0.0514,-0.0245,1.6068,0.0512,-0.0243,1.6083,0.0521,-0.0248,1.6064,0.0512,-0.0252,1.6063,0.0513,-0.0252,1.6066,0.0521,-0.0269,1.6142,0.0552,-0.0266,1.6136,0.0548,-0.0268,1.6142,0.055,-0.0252,1.6069,0.0541,-0.0249,1.6068,0.0531,-0.0251,1.6068,0.0531,-0.0231,1.6117,0.0531,-0.0228,1.6134,0.053,-0.0228,1.6134,0.0526,-0.0226,1.6142,0.0526,-0.0224,1.6144,0.0526,-0.0224,1.6144,0.0525,-0.0247,1.6068,0.0521,-0.0249,1.6067,0.0521,-0.0276,1.6146,0.0555,-0.0276,1.6144,0.0556,-0.0273,1.6143,0.0555,-0.0285,1.607,0.0549,-0.0269,1.6069,0.0549,-0.0269,1.6068,0.0546,-0.027,1.6071,0.0545,-0.0255,1.6068,0.0542,-0.0235,1.6064,0.056,-0.0243,1.6067,0.0551,-0.0243,1.6065,0.0553,-0.0251,1.6069,0.0545,-0.0239,1.608,0.0551,-0.025,1.6067,0.0546,-0.0242,1.6066,0.0553,-0.0253,1.6124,0.0573,-0.0256,1.6125,0.057,-0.026,1.6134,0.057,-0.0269,1.6145,0.057,-0.027,1.6146,0.0572,-0.0267,1.6144,0.0571,-0.0277,1.6148,0.0575,-0.0277,1.6148,0.0574,-0.0279,1.6147,0.0574,-0.027,1.6147,0.0549,-0.0269,1.6145,0.0546,-0.0272,1.6147,0.0547,-0.0253,1.6068,0.0544,-0.0284,1.6111,0.0574,-0.0286,1.6111,0.0578,-0.0284,1.6121,0.0578,-0.0264,1.6081,0.0541,-0.0253,1.6069,0.0539,-0.0262,1.6082,0.054,-0.0269,1.6136,0.0551,-0.0271,1.6136,0.0552,-0.027,1.6129,0.0551,-0.0268,1.6144,0.0547,-0.0266,1.6136,0.054,-0.0299,1.6072,0.0558,-0.0299,1.6071,0.0553,-0.0303,1.6068,0.056,-0.0261,1.6098,0.0521,-0.0265,1.61,0.0522,-0.0266,1.6114,0.0527,-0.0234,1.6073,0.0572,-0.0235,1.6073,0.0575,-0.0232,1.6062,0.0572,-0.025,1.6122,0.058,-0.0245,1.6111,0.0581,-0.025,1.6123,0.0577,-0.0269,1.6146,0.0573,-0.0271,1.6147,0.0574,-0.0269,1.6146,0.0574,-0.0252,1.6061,0.0509,-0.0255,1.6069,0.0513,-0.0266,1.6143,0.0574,-0.0266,1.6144,0.0573,-0.0271,1.6145,0.057,-0.0273,1.614,0.0569,-0.0274,1.6145,0.057,-0.0262,1.6139,0.0578,-0.0261,1.6132,0.0582,-0.0256,1.6132,0.058,-0.0253,1.6123,0.0583,-0.0256,1.6132,0.0578,-0.028,1.6135,0.0585,-0.0283,1.6129,0.0583,-0.028,1.6127,0.0588,-0.028,1.6145,0.0556,-0.0282,1.6137,0.0555,-0.0279,1.6136,0.0556,-0.0295,1.6088,0.0539,-0.0299,1.6073,0.0538,-0.0301,1.6072,0.0547,-0.0212,1.6117,0.0516,-0.0211,1.6098,0.0518,-0.0214,1.6098,0.0514,-0.0226,1.6059,0.0566,-0.0229,1.6059,0.0571,-0.0226,1.6042,0.0568,-0.0214,1.6025,0.056,-0.0211,1.6023,0.055,-0.0214,1.6041,0.0551,-0.0234,1.6025,0.0494,-0.0244,1.6028,0.0495,-0.0236,1.6047,0.0503,-0.0273,1.6031,0.0508,-0.0267,1.6051,0.0509,-0.0253,1.6049,0.0507,-0.0284,1.6048,0.059,-0.0291,1.6049,0.0589,-0.0295,1.603,0.059,-0.0249,1.6044,0.0579,-0.0267,1.6033,0.0583,-0.0246,1.6032,0.0579,-0.0227,1.6134,0.0522,-0.0226,1.6142,0.0524,-0.0291,1.6087,0.0546,-0.0297,1.6074,0.0549,-0.0283,1.6085,0.0546,-0.0286,1.6139,0.0552,-0.0286,1.6134,0.0545,-0.0287,1.6133,0.0549,-0.0248,1.6112,0.0584,-0.0258,1.6124,0.0585,-0.0261,1.6139,0.0577,-0.0262,1.6139,0.0572,-0.0272,1.6146,0.0571,-0.0231,1.6062,0.057,-0.022,1.6142,0.0532,-0.0218,1.6141,0.0535,-0.0219,1.6142,0.0532,-0.0302,1.6072,0.0566,-0.0298,1.6073,0.0562,-0.0253,1.6069,0.0546,-0.0279,1.6147,0.0573,-0.0237,1.6086,0.0576,-0.0228,1.6062,0.0566,-0.0224,1.6135,0.0519,-0.0224,1.6142,0.0522,-0.0223,1.6142,0.052,-0.0258,1.6081,0.0517,-0.0262,1.6082,0.0516,-0.0298,1.6083,0.0573,-0.0294,1.6087,0.0545,-0.0265,1.6129,0.0536,-0.0268,1.6137,0.0539,-0.0271,1.6142,0.0554,-0.026,1.6126,0.0568,-0.0257,1.6117,0.0567,-0.0259,1.6118,0.0567,-0.0263,1.6126,0.0568,-0.0266,1.6144,0.0576,-0.0284,1.6073,0.0548,-0.0278,1.6147,0.0549,-0.0277,1.6148,0.0551,-0.0272,1.6147,0.0549,-0.0272,1.6147,0.0573,-0.0271,1.6147,0.0574,-0.0279,1.6147,0.0576,-0.0278,1.6147,0.0578,-0.0276,1.6148,0.0575,-0.0277,1.6148,0.0575,-0.0277,1.6147,0.0578,-0.0264,1.614,0.057,-0.028,1.6146,0.0572,-0.0277,1.6146,0.0571,-0.0224,1.6143,0.0527,-0.0226,1.6142,0.0529,-0.0225,1.6142,0.0533,-0.0236,1.6064,0.0561,-0.0258,1.607,0.0541,-0.0273,1.6083,0.0545,-0.0254,1.6069,0.0522,-0.0253,1.6069,0.0531,-0.0252,1.6066,0.053,-0.0246,1.6081,0.0537,-0.0246,1.6082,0.0528,-0.027,1.6145,0.0551,-0.0267,1.6143,0.0549,-0.0265,1.6136,0.0544,-0.0225,1.6142,0.0523,-0.0223,1.6144,0.0523,-0.027,1.607,0.0514,-0.0258,1.6068,0.0512,-0.0302,1.6069,0.0552,-0.0304,1.6053,0.0545,-0.0223,1.6144,0.0523,-0.0271,1.6145,0.0553,-0.0259,1.6082,0.0532,-0.0223,1.6143,0.053,-0.0276,1.6147,0.0572,-0.0267,1.614,0.0569,-0.0269,1.6146,0.0576,-0.0268,1.613,0.0535,-0.0295,1.6083,0.0567,-0.0222,1.6134,0.0517,-0.0237,1.6086,0.0579,-0.022,1.6141,0.0535,-0.0239,1.6062,0.0577,-0.0237,1.6043,0.0574,-0.0274,1.6147,0.0572,-0.0261,1.6138,0.0575,-0.0284,1.6139,0.0548,-0.0269,1.6046,0.0585,-0.0286,1.6031,0.059,-0.0255,1.6031,0.05,-0.0215,1.6041,0.0559,-0.021,1.6116,0.0521,-0.0282,1.6136,0.0581,-0.0266,1.6125,0.0588,-0.0268,1.6134,0.0585,-0.0265,1.6139,0.058,-0.0269,1.614,0.0569,-0.0247,1.6048,0.0506,-0.0244,1.6112,0.0578,-0.0262,1.6112,0.0527,-0.0268,1.6129,0.0549,-0.0283,1.6121,0.0575,-0.0257,1.6132,0.0572,-0.0245,1.6081,0.0543,-0.0235,1.6065,0.0558,-0.0285,1.6071,0.0554,-0.0273,1.6145,0.0554,-0.0231,1.6118,0.0526,-0.0279,1.6148,0.0555,-0.0305,1.6053,0.0561,-0.0221,1.6143,0.0532,-0.0222,1.6141,0.0535,-0.0229,1.6118,0.0521,-0.0232,1.61,0.0515,-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.0275,1.6136,0.0555,-0.028,1.6131,0.0554,-0.0275,1.613,0.0553,-0.0266,1.6099,0.0544,-0.0273,1.6101,0.0547,-0.0221,1.6131,0.0546,-0.0227,1.6115,0.0545,-0.0222,1.6114,0.0551,-0.0224,1.6132,0.0541,-0.0227,1.6133,0.0535,-0.0275,1.6148,0.0574,-0.0274,1.6148,0.0573,-0.0282,1.613,0.0574,-0.0276,1.6135,0.0571,-0.0276,1.6129,0.0571,-0.0281,1.6136,0.0574,-0.0283,1.6083,0.0562,-0.0269,1.607,0.0552,-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.0248,1.6106,0.0569,-0.0247,1.6114,0.0573,-0.0243,1.6103,0.0573,-0.0251,1.6116,0.057,-0.0245,1.6078,0.056,-0.0252,1.608,0.0555,-0.0273,1.6147,0.0578,-0.0271,1.6147,0.0575,-0.0274,1.6148,0.0575,-0.027,1.6146,0.0577,-0.0278,1.6147,0.0555,-0.0218,1.6143,0.0527,-0.0217,1.6142,0.0524,-0.0219,1.6143,0.0525,-0.0217,1.6142,0.0526,-0.0218,1.6142,0.0532,-0.0216,1.6141,0.0533,-0.0221,1.6142,0.052,-0.022,1.6143,0.0522,-0.0219,1.6142,0.0521,-0.0221,1.6144,0.0522,-0.0281,1.6146,0.0574,-0.0264,1.6134,0.0568,-0.0266,1.6134,0.0569,-0.0253,1.6094,0.0561,-0.0254,1.608,0.0554,-0.0256,1.6094,0.0561,-0.0282,1.6137,0.0576,-0.0283,1.6129,0.0577,-0.029,1.6105,0.0547,-0.0286,1.6118,0.055,-0.0288,1.6118,0.0548,-0.0288,1.6104,0.0548,-0.0236,1.6082,0.0511,-0.0228,1.6099,0.0513,-0.0212,1.6111,0.0556,-0.0219,1.6092,0.056,-0.0215,1.6091,0.056,-0.0217,1.6111,0.0556,-0.024,1.6099,0.0582,-0.024,1.61,0.0579,-0.0227,1.6063,0.0565,-0.0224,1.6061,0.0565,-0.0241,1.6073,0.058,-0.0276,1.6146,0.0581,-0.0272,1.6146,0.0579,-0.0276,1.6147,0.0579,-0.0278,1.6146,0.0581,-0.0279,1.6146,0.058,-0.0278,1.6141,0.0584,-0.0276,1.614,0.0584,-0.0267,1.6145,0.0577,-0.0281,1.6142,0.0579,-0.0282,1.6142,0.0575,-0.027,1.614,0.0582,-0.0275,1.6134,0.0587,-0.0271,1.6134,0.0569,-0.0269,1.6127,0.0569,-0.0277,1.6127,0.0589,-0.0281,1.6117,0.059,-0.0277,1.6117,0.0592,-0.0255,1.6113,0.0587,-0.0284,1.6119,0.0585,-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.0245,1.61,0.0585,-0.0252,1.6087,0.0587,-0.0243,1.6086,0.0583,-0.0292,1.6097,0.0576,-0.0292,1.6095,0.0586,-0.0277,1.609,0.0596,-0.0266,1.6089,0.0592,-0.0274,1.6104,0.0595,-0.0252,1.6074,0.0584,-0.0268,1.6076,0.0589,-0.0267,1.6096,0.0563,-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.028,1.6147,0.055,-0.0282,1.6139,0.0546,-0.0285,1.6138,0.0554,-0.0286,1.6132,0.0552,-0.0282,1.6133,0.0541,-0.0273,1.6138,0.054,-0.0274,1.6131,0.0536,-0.0285,1.6119,0.0536,-0.0283,1.6118,0.0534,-0.0284,1.6133,0.0543,-0.028,1.6116,0.055,-0.0284,1.6132,0.0553,-0.0263,1.6113,0.0539,-0.0288,1.6119,0.0539,-0.0287,1.6105,0.0531,-0.029,1.6105,0.0535,-0.0291,1.6105,0.0541,-0.0294,1.6088,0.0532,-0.0271,1.6084,0.0517,-0.0273,1.6102,0.0523,-0.0287,1.6072,0.0521,-0.0286,1.6087,0.0525,-0.0257,1.6082,0.0525,-0.0209,1.613,0.0541,-0.0216,1.6141,0.0529,-0.0216,1.6142,0.0531,-0.0209,1.6131,0.0537,-0.0214,1.6133,0.0519,-0.0218,1.6142,0.0522,-0.0213,1.6133,0.0522,-0.0217,1.6128,0.0549,-0.0207,1.6115,0.0533,-0.0206,1.6114,0.054,-0.021,1.6132,0.0531,-0.0219,1.6118,0.0513,-0.0219,1.6134,0.0517,-0.0239,1.6097,0.0534,-0.023,1.6117,0.0538,-0.0237,1.6097,0.054,-0.0206,1.6113,0.0545,-0.0205,1.6095,0.0541,-0.0206,1.6094,0.0548,-0.0212,1.6079,0.0532,-0.0207,1.6096,0.0533,-0.021,1.6077,0.0542,-0.0223,1.6099,0.0511,-0.0219,1.6081,0.0512,-0.0229,1.6082,0.0509,-0.0224,1.6076,0.0563,-0.0226,1.6094,0.0555,-0.0232,1.6079,0.0557,-0.022,1.6075,0.0563,-0.0213,1.6059,0.0557,-0.0212,1.6075,0.0556,-0.0216,1.6062,0.0521,-0.0214,1.608,0.0522,-0.0215,1.6061,0.0531,-0.0233,1.6065,0.0506,-0.0242,1.6066,0.0509,-0.0279,1.6148,0.0553,-0.0278,1.6148,0.0552,-0.0272,1.6145,0.0553,-0.0292,1.6073,0.0525,-0.0289,1.6053,0.0519,-0.0295,1.6053,0.0523,-0.0288,1.6067,0.0591,-0.0212,1.606,0.0542,-0.0216,1.6042,0.0531,-0.0213,1.6041,0.0542,-0.0222,1.6063,0.051,-0.0224,1.6045,0.0508,-0.0298,1.605,0.0588,-0.0302,1.6029,0.0588,-0.0221,1.6044,0.0514,-0.0223,1.6022,0.05,-0.022,1.6022,0.0506,-0.0304,1.6051,0.0579,-0.0313,1.6032,0.0559,-0.0312,1.603,0.0576,-0.0309,1.6032,0.0533,-0.0312,1.6032,0.0542,-0.0302,1.6054,0.0536,-0.03,1.6054,0.0528,-0.0299,1.6032,0.0519,-0.0306,1.6033,0.0525,-0.0222,1.6028,0.0567,-0.0216,1.6022,0.0514,-0.0217,1.6043,0.0521,-0.0213,1.6024,0.0529,-0.0219,1.6063,0.0516,-0.0213,1.6059,0.055,-0.025,1.6063,0.0582,-0.0295,1.6069,0.0589,-0.0218,1.6142,0.0531,-0.0218,1.6143,0.0529,-0.0219,1.6143,0.0523,-0.0216,1.6081,0.0517,-0.0211,1.6076,0.0549,-0.0207,1.6092,0.0554,-0.0208,1.6098,0.0524,-0.029,1.6087,0.0528,-0.0284,1.6105,0.0529,-0.0289,1.6119,0.0544,-0.0272,1.6116,0.0528,-0.0264,1.6129,0.0541,-0.0265,1.6129,0.0545,-0.0281,1.6147,0.0552,-0.0292,1.6079,0.0591,-0.0288,1.6093,0.0593,-0.0279,1.6105,0.0594,-0.0274,1.6125,0.059,-0.028,1.6141,0.0582,-0.0281,1.6145,0.0577,-0.0247,1.606,0.0508,-0.0256,1.6131,0.0575,-0.0289,1.6097,0.0571,-0.0254,1.6108,0.0566,-0.0238,1.6076,0.0566,-0.0279,1.6097,0.0567,-0.0277,1.6141,0.0571,-0.0232,1.6096,0.0548,-0.0268,1.6113,0.0546,-0.0274,1.6115,0.0549,-0.0238,1.6099,0.0527,-0.0266,1.6114,0.0545,-0.0281,1.6103,0.0549,-0.0267,1.6119,0.0568,-0.0266,1.6109,0.0568,-0.0246,1.6092,0.0565,-0.024,1.6089,0.057,-0.0275,1.6148,0.0576,-0.0222,1.6144,0.0522,-0.0257,1.6108,0.0566,-0.0281,1.6142,0.0573,-0.0223,1.6118,0.0514,-0.0212,1.6129,0.0549,-0.0269,1.6145,0.0578,-0.0278,1.6135,0.0586,-0.0273,1.6116,0.0593,-0.0282,1.6091,0.0594,-0.0286,1.6078,0.0592,-0.0297,1.6073,0.053,-0.021,1.6129,0.0545,-0.0211,1.6132,0.0526,-0.0207,1.6111,0.055,-0.0208,1.6116,0.0526,-0.021,1.6022,0.0541,-0.0234,1.603,0.0573,-0.0291,1.6031,0.0514});
			return rmolar2r_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 r_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 r_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.r_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.r_molar2r self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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