package HumanoidAnimation.Bones;

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.Lighting.*;
import org.web3d.x3d.jsail.Navigation.*;
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_molar_2_17, lower left Universal Numbering System (UNS) #2, ISO 3950 standard designation #17. </p>
 <p> Related links:  source tooth_molar_2_17.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.Bones.tooth_molar_2_17&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/Bones/tooth_molar_2_17.x3d">tooth_molar_2_17.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> tooth_molar_2_17, lower left Universal Numbering System (UNS) #2, ISO 3950 standard designation #17 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> creator </i> </td>
			<td> Don Brutzman, Joe Williams, John Carlson, Damon Hernandez </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> created </i> </td>
			<td> 14 March 2026 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> modified </i> </td>
			<td> 20 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/Bones/originals/rmolar2c.x3d">originals/rmolar2c.x3d</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/Bones/originals/rmolar2r.x3d">originals/rmolar2r.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="https://en.wikipedia.org/wiki/Human_tooth" target="_blank">https://en.wikipedia.org/wiki/Human_tooth</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> United States, <a href="https://en.wikipedia.org/wiki/Universal_Numbering_System" target="_blank">https://en.wikipedia.org/wiki/Universal_Numbering_System</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> ISO 3950, <a href="https://en.wikipedia.org/wiki/FDI_World_Dental_Federation_notation" target="_blank">https://en.wikipedia.org/wiki/FDI_World_Dental_Federation_notation</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="https://en.wikipedia.org/wiki/FDI_World_Dental_Federation_notation#/media/File:Comparison_of_dental_notations.svg" target="_blank">https://en.wikipedia.org/wiki/FDI_World_Dental_Federation_notation#/media/File:Comparison_of_dental_notations.svg</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="https://en.wikipedia.org/wiki/List_of_bones_of_the_human_skeleton" target="_blank">https://en.wikipedia.org/wiki/List_of_bones_of_the_human_skeleton</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> usage examples <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/Bones/tooth_molar_2_17.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_2_17.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/Bones/../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 Don Brutzman, Joe Williams, John Carlson, Damon Hernandez
 */

public class tooth_molar_2_17
{
	/** Default constructor to create this object. */
	public tooth_molar_2_17 ()
	{
	  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_4_0)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("tooth_molar_2_17.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("tooth_molar_2_17, lower left Universal Numbering System (UNS) #2, ISO 3950 standard designation #17"))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Don Brutzman, Joe Williams, John Carlson, Damon Hernandez"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("14 March 2026"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("20 March 2026"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("originals/rmolar2c.x3d"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("originals/rmolar2r.x3d"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://en.wikipedia.org/wiki/Human_tooth"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("United States, https://en.wikipedia.org/wiki/Universal_Numbering_System"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("ISO 3950, https://en.wikipedia.org/wiki/FDI_World_Dental_Federation_notation"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://en.wikipedia.org/wiki/FDI_World_Dental_Federation_notation#/media/File:Comparison_of_dental_notations.svg"))
    .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("usage examples 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/Bones/tooth_molar_2_17.x3d"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../license.html")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setTitle("tooth_molar_2_17.x3d"))
    .addComments(" user hover lights bone and reveals description, user selection/deselection temporarily binds/unbinds hidden close-up viewpoint ")
    .addChild(new TouchSensor("UserTouchSensor").setDescription("tooth_molar_2_17 upper right"))
    .addChild(new Transform("rmolar2c").setTranslation(-0.0263,1.5995,0.0541)
      .addChild(new Viewpoint("HiddenViewpoint").setPosition(0.0,0.0,0.3).setRetainUserOffsets(true)
        .setNavigationInfo(new NavigationInfo().setTransitionType(new String[] {"ANIMATE"}).setType(new String[] {"EXAMINE"})))
      .addChild(new ROUTE().setFromNode("UserTouchSensor").setFromField("isActive").setToNode("HiddenViewpoint").setToField("set_bind"))
      .addChild(new DirectionalLight("HiddenLight").setAmbientIntensity(1).setColor(0.1,0.1,1.0).setOn(false))
      .addChild(new ROUTE().setFromNode("UserTouchSensor").setFromField("isOver").setToNode("HiddenLight").setToField("on"))
      .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("tooth_molar_2_17_cap_geometry").setDEF("tooth_molar_2_17_cap_geometry").setCreaseAngle(1.571).setCoordIndex(gettooth_molar_2_17_cap_geometry_5_28_coordIndex())
          .setCoord(new Coordinate("tooth_molar_2_17_cap_coordinate").setPoint(gettooth_molar_2_17_cap_coordinate_6_28_point())))))
    .addChild(new Transform("rmolar2r").setTranslation(-0.0259,1.6085,0.0545)
      .addChild(new Shape()
        .setAppearance(new Appearance()
          .setMaterial(new Material().setUSE("ToothMaterial")))
        .setGeometry(new IndexedFaceSet("tooth_molar_2_17_root_geometry").setDEF("tooth_molar_2_17_root_geometry").setCreaseAngle(1.571).setCoordIndex(gettooth_molar_2_17_root_geometry_5_34_coordIndex())
          .setCoord(new Coordinate("tooth_molar_2_17_root_coordinate").setPoint(gettooth_molar_2_17_root_coordinate_6_34_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[] gettooth_molar_2_17_cap_geometry_5_28_coordIndex_1()
		{
			int[] value = {0,1,2,-1,0,3,4,-1,5,6,7,-1,8,9,10,-1,11,12,13,-1,14,15,16,-1,17,18,19,-1,20,21,22,-1,23,24,25,-1,26,27,28,-1,25,21,29,-1,30,31,32,-1,30,33,34,-1,31,35,32,-1,11,36,12,-1,37,38,39,-1,28,40,41,-1,42,43,2,-1,44,45,46,-1,47,48,49,-1,50,51,52,-1,53,54,50,-1,54,55,56,-1,57,58,59,-1,55,60,61,-1,62,63,64,-1,65,66,67,-1,68,69,70,-1,71,72,73,-1,25,74,75,-1,12,36,29,-1,47,76,77,-1,76,78,79,-1,80,81,82,-1,83,84,85,-1,86,87,88,-1,89,90,91,-1,83,92,93,-1,94,95,96,-1,90,97,91,-1,97,98,99,-1,100,101,52,-1,101,100,102,-1,103,74,9,-1,96,55,104,-1,105,106,107,-1,71,108,109,-1,110,111,112,-1,113,114,115,-1,113,116,117,-1,42,2,1,-1,118,119,120,-1,121,122,123,-1,124,125,69,-1,96,126,97,-1,95,127,96,-1,128,77,86,-1,129,89,130,-1,105,107,131,-1,132,133,134,-1,8,135,136,-1,25,30,34,-1,137,138,139,-1,140,41,141,-1,53,134,142,-1,61,143,144,-1,145,146,103,-1,85,84,147,-1,128,148,149,-1,91,126,127,-1,150,151,152,-1,153,154,155,-1,156,122,121,-1,121,157,158,-1,159,160,161,-1,162,163,164,-1,113,165,166,-1,167,168,169,-1,58,57,148,-1,101,102,170,-1,90,171,172,-1,90,98,97,-1,94,173,95,-1,129,147,90,-1,174,100,51,-1,44,175,45,-1,85,81,80,-1,176,177,85,-1,129,81,147,-1,79,178,87,-1,36,179,10,-1,75,180,181,-1,182,183,160,-1,176,3,184,-1,140,185,151,-1,78,49,63,-1,61,60,143,-1,144,67,66,-1,96,56,55,-1,174,51,50,-1,47,149,65,-1,105,131,186,-1,187,186,131,-1,188,28,41,-1,185,140,175,-1,11,179,36,-1,28,189,26,-1,23,34,190,-1,26,190,27,-1,103,191,50,-1,33,32,190,-1,192,193,194,-1,12,29,13,-1,73,195,196,-1,197,8,10,-1,198,158,157,-1,199,196,195,-1,200,201,202,-1,0,4,1,-1,88,203,204,-1,205,117,116,-1,206,207,166,-1,34,33,190,-1,206,166,208,-1,209,205,116,-1,204,210,88,-1,201,211,202,-1,212,13,213,-1,199,214,196,-1,71,73,196,-1,11,212,215,-1,29,21,13,-1,216,18,17,-1,193,217,194,-1,32,27,190,-1,103,136,191,-1,26,23,190,-1,31,181,35,-1,181,180,218,-1,175,219,185,-1,188,41,220,-1,221,187,131,-1,221,45,187,-1,222,223,161,-1,65,48,47,-1,99,174,50,-1,104,58,96,-1,148,57,66,-1,78,47,49,-1,61,144,59,-1,28,188,224,-1,176,184,46,-1,182,160,159,-1,179,225,10,-1,148,94,96,-1,87,76,79,-1,128,94,148,-1,129,82,81,-1,85,226,176,-1,80,226,85,-1,175,227,45,-1,174,172,100,-1,127,126,96,-1,89,129,90,-1,172,98,90,-1,90,147,171,-1,148,96,58,-1,50,191,53,-1,108,71,196,-1,169,211,167,-1,113,166,116,-1,164,228,162,-1,161,229,159,-1,161,223,229,-1,121,230,156,-1,124,14,16,-1,231,50,232,-1,127,95,173,-1,149,77,128,-1,85,147,81,-1,233,145,103,-1,54,53,142,-1,134,53,191,-1,191,132,134,-1,137,139,197,-1,20,13,21,-1,23,25,34,-1,8,136,9,-1,153,155,19,-1,134,133,142,-1,129,130,82,-1,234,128,86,-1,235,91,127,-1,97,56,96,-1,101,93,92,-1,69,14,124,-1,123,157,121,-1,229,223,119,-1,1,236,42,-1,114,113,117,-1,115,237,113,-1,112,238,110,-1,173,235,127,-1,105,233,106,-1,103,9,136,-1,92,232,52,-1,52,101,92,-1,52,51,100,-1,99,56,97,-1,170,93,101,-1,126,91,97,-1,84,83,93,-1,88,239,86,-1,177,83,85,-1,82,240,80,-1,76,47,78,-1,80,240,241,-1,47,77,149,-1,75,30,25,-1,74,180,75,-1,71,109,72,-1,69,199,70,-1,65,67,242,-1,62,78,63,-1,61,104,55,-1,99,54,56,-1,99,50,54,-1,52,232,50,-1,149,148,66,-1,66,65,149,-1,198,119,223,-1,45,221,46,-1,43,184,2,-1,177,221,131,-1,188,220,243,-1,185,219,244,-1,11,121,179,-1,153,217,193,-1,231,106,50,-1,30,32,33,-1,25,24,192,-1,189,245,24,-1,193,245,153,-1,17,19,155,-1,11,13,212,-1,198,225,158,-1,119,198,157,-1,121,11,230,-1,5,246,6,-1,215,230,11,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=2 */
		private int[] gettooth_molar_2_17_cap_geometry_5_28_coordIndex_2()
		{
			int[] value = {3,247,4,-1,248,249,7,-1,250,249,248,-1,251,202,252,-1,202,251,253,-1,254,238,255,-1,238,254,256,-1,208,257,206,-1,208,258,257,-1,163,259,260,-1,163,162,259,-1,261,262,263,-1,262,261,264,-1,116,207,209,-1,207,116,166,-1,244,151,185,-1,244,152,151,-1,118,182,159,-1,182,118,265,-1,199,156,70,-1,199,195,156,-1,266,212,213,-1,215,212,266,-1,108,246,267,-1,108,214,246,-1,214,108,196,-1,157,120,119,-1,120,157,123,-1,268,269,270,-1,268,16,269,-1,28,32,40,-1,28,27,32,-1,163,271,164,-1,272,271,163,-1,177,107,83,-1,131,107,177,-1,146,186,187,-1,146,145,186,-1,142,55,54,-1,142,60,55,-1,273,274,112,-1,273,275,274,-1,153,276,154,-1,153,277,276,-1,151,41,140,-1,151,220,41,-1,277,269,276,-1,277,278,269,-1,64,160,183,-1,64,63,160,-1,226,241,247,-1,241,226,80,-1,203,87,178,-1,87,203,88,-1,82,210,240,-1,210,82,130,-1,83,232,92,-1,83,231,232,-1,125,279,6,-1,125,124,279,-1,167,280,168,-1,167,265,280,-1,183,281,282,-1,281,183,182,-1,282,64,183,-1,282,275,64,-1,111,283,165,-1,110,283,111,-1,207,284,285,-1,206,284,207,-1,1,285,286,-1,285,1,287,-1,278,270,269,-1,278,288,270,-1,289,228,164,-1,236,228,289,-1,290,37,39,-1,291,37,290,-1,178,115,114,-1,115,178,79,-1,266,292,68,-1,266,216,292,-1,293,150,152,-1,293,294,150,-1,295,247,241,-1,295,4,247,-1,61,58,104,-1,61,59,58,-1,158,179,121,-1,179,158,225,-1,21,217,22,-1,21,194,217,-1,193,24,245,-1,193,192,24,-1,213,216,266,-1,18,216,213,-1,239,89,296,-1,89,239,130,-1,241,205,295,-1,205,241,204,-1,79,62,115,-1,62,79,78,-1,263,288,290,-1,263,262,288,-1,294,271,297,-1,293,271,294,-1,236,244,42,-1,244,236,289,-1,279,16,268,-1,124,16,279,-1,4,287,1,-1,4,295,287,-1,237,165,113,-1,111,165,237,-1,275,298,274,-1,282,298,275,-1,252,267,299,-1,252,169,267,-1,248,6,279,-1,6,248,7,-1,146,218,180,-1,187,218,146,-1,174,98,172,-1,98,174,99,-1,171,100,172,-1,171,102,100,-1,87,77,76,-1,87,86,77,-1,240,204,241,-1,240,210,204,-1,222,137,223,-1,222,242,137,-1,123,73,72,-1,73,123,122,-1,150,220,151,-1,150,243,220,-1,48,242,222,-1,48,65,242,-1,255,112,274,-1,238,112,255,-1,133,60,142,-1,133,143,60,-1,139,143,133,-1,139,138,143,-1,105,145,233,-1,186,145,105,-1,106,83,107,-1,231,83,106,-1,243,37,188,-1,37,243,38,-1,218,35,181,-1,218,300,35,-1,23,189,24,-1,23,26,189,-1,19,217,153,-1,19,22,217,-1,29,10,9,-1,10,29,36,-1,17,154,301,-1,17,155,154,-1,302,270,303,-1,302,268,270,-1,292,15,14,-1,292,301,15,-1,108,168,109,-1,108,169,168,-1,267,169,108,-1,215,68,70,-1,215,266,68,-1,70,230,215,-1,70,156,230,-1,281,265,167,-1,281,182,265,-1,304,39,297,-1,305,39,304,-1,306,305,304,-1,305,306,307,-1,162,308,259,-1,308,162,309,-1,310,208,283,-1,208,310,258,-1,255,311,254,-1,255,312,311,-1,299,251,252,-1,299,313,251,-1,302,250,248,-1,314,250,302,-1,315,7,249,-1,5,7,315,-1,253,200,202,-1,200,253,316,-1,110,256,317,-1,110,238,256,-1,206,318,284,-1,206,257,318,-1,260,272,163,-1,272,260,319,-1,263,307,261,-1,307,263,305,-1,152,289,293,-1,244,289,152,-1,294,243,150,-1,38,243,294,-1,247,176,226,-1,3,176,247,-1,119,159,229,-1,159,119,118,-1,214,6,246,-1,214,125,6,-1,123,280,120,-1,280,123,72,-1,225,197,10,-1,198,197,225,-1,15,269,16,-1,15,276,269,-1,20,19,18,-1,20,22,19,-1,41,300,141,-1,300,41,40,-1,153,189,28,-1,153,245,189,-1,25,194,21,-1,25,192,194,-1,13,18,213,-1,18,13,20,-1,164,293,289,-1,271,293,164,-1,140,227,175,-1,140,141,227,-1,43,46,184,-1,43,44,46,-1,66,59,144,-1,66,57,59,-1,132,136,135,-1,136,132,191,-1,275,62,64,-1,273,62,275,-1,68,14,69,-1,14,68,292,-1,125,199,69,-1,125,214,199,-1,25,9,74,-1,25,29,9,-1,130,88,210,-1,88,130,239,-1,84,170,147,-1,84,93,170,-1,91,296,89,-1,296,91,235,-1,296,86,239,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=3 */
		private int[] gettooth_molar_2_17_cap_geometry_5_28_coordIndex_3()
		{
			int[] value = {234,86,296,-1,282,201,298,-1,201,282,281,-1,111,273,112,-1,111,237,273,-1,285,209,207,-1,285,287,209,-1,284,286,285,-1,284,309,286,-1,303,288,262,-1,270,288,303,-1,1,228,236,-1,1,286,228,-1,290,305,263,-1,290,39,305,-1,178,117,203,-1,178,114,117,-1,291,188,37,-1,291,224,188,-1,3,2,184,-1,3,0,2,-1,50,233,103,-1,50,106,233,-1,139,8,197,-1,139,135,8,-1,180,103,146,-1,74,103,180,-1,227,187,45,-1,187,227,218,-1,242,138,137,-1,138,242,67,-1,42,219,43,-1,42,244,219,-1,277,291,278,-1,291,277,224,-1,63,161,160,-1,63,49,161,-1,278,290,288,-1,278,291,290,-1,272,297,271,-1,272,304,297,-1,286,162,228,-1,286,309,162,-1,268,248,279,-1,268,302,248,-1,209,295,205,-1,209,287,295,-1,165,208,166,-1,165,283,208,-1,237,62,273,-1,62,237,115,-1,312,274,298,-1,312,255,274,-1,200,298,201,-1,200,312,298,-1,211,252,202,-1,169,252,211,-1,267,5,299,-1,5,267,246,-1,235,234,296,-1,234,235,173,-1,170,171,147,-1,171,170,102,-1,176,221,177,-1,176,46,221,-1,234,94,128,-1,234,173,94,-1,137,198,223,-1,198,137,197,-1,120,265,118,-1,280,265,120,-1,175,43,219,-1,44,43,175,-1,153,224,277,-1,153,28,224,-1,49,222,161,-1,48,222,49,-1,133,135,139,-1,135,133,132,-1,67,143,138,-1,67,144,143,-1,218,141,300,-1,141,218,227,-1,75,31,30,-1,31,75,181,-1,35,40,32,-1,35,300,40,-1,154,15,301,-1,15,154,276,-1,216,301,292,-1,216,17,301,-1,195,122,156,-1,73,122,195,-1,280,109,168,-1,280,72,109,-1,167,201,281,-1,201,167,211,-1,38,297,39,-1,38,294,297,-1,203,205,204,-1,205,203,117,-1,320,262,264,-1,320,303,262,-1,319,304,272,-1,304,319,306,-1,318,309,284,-1,309,318,308,-1,283,317,310,-1,283,110,317,-1,316,312,200,-1,312,316,311,-1,299,315,313,-1,299,5,315,-1,303,314,302,-1,303,320,314,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=1 */
		private int[] gettooth_molar_2_17_root_geometry_5_34_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[] gettooth_molar_2_17_root_geometry_5_34_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[] gettooth_molar_2_17_root_geometry_5_34_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[] gettooth_molar_2_17_root_geometry_5_34_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='tooth_molar_2_17_cap_geometry' coordIndex field, scene-graph level=5, element #28, 2460 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 gettooth_molar_2_17_cap_geometry_5_28_coordIndex()
		{
			MFInt32 tooth_molar_2_17_cap_geometry_5_28_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(gettooth_molar_2_17_cap_geometry_5_28_coordIndex_1()))
				.append(new MFInt32(gettooth_molar_2_17_cap_geometry_5_28_coordIndex_2()))
				.append(new MFInt32(gettooth_molar_2_17_cap_geometry_5_28_coordIndex_3()));
			return tooth_molar_2_17_cap_geometry_5_28_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='tooth_molar_2_17_cap_coordinate' point field, scene-graph level=6, element #28, 963 total numbers made up of 321 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 gettooth_molar_2_17_cap_coordinate_6_28_point()
		{
			MFVec3f tooth_molar_2_17_cap_coordinate_6_28_point = new MFVec3f(new double[] {-0.0047,-0.0014,0.0006,-0.0052,-0.0004,0.0008,-0.0049,-0.0016,-0.0003,-0.0040,-0.0026,0.0004,-0.0047,-0.0016,0.0014,0.0047,0.0023,-0.0027,0.0043,0.0008,-0.0038,0.0044,0.0023,-0.0036,0.0007,-0.0027,-0.0018,-0.0007,-0.0016,-0.0022,0.0011,-0.0028,-0.0021,0.0018,-0.0028,-0.0024,0.0013,-0.0025,-0.0025,0.0011,-0.0024,-0.0032,0.0027,-0.0023,-0.0048,0.0019,-0.0021,-0.0052,0.0025,-0.0006,-0.0055,0.0015,-0.0027,-0.0049,0.0013,-0.0028,-0.0042,0.0006,-0.0021,-0.0048,0.0009,-0.0023,-0.0038,-0.0002,-0.0012,-0.0028,0.0004,-0.0019,-0.0043,-0.0005,-0.0010,-0.0030,-0.0004,-0.0010,-0.0029,-0.0003,-0.0010,-0.0027,-0.0016,-0.0009,-0.0045,-0.0017,-0.0010,-0.0042,-0.0017,-0.0009,-0.0046,-0.0001,-0.0012,-0.0027,-0.0005,-0.0011,-0.0027,-0.0019,-0.0016,-0.0034,-0.0018,-0.0014,-0.0037,-0.0013,-0.0010,-0.0032,-0.0005,-0.0011,-0.0029,-0.0026,-0.0022,-0.0033,0.0013,-0.0025,-0.0024,-0.0027,0.0001,-0.0042,-0.0034,0.0001,-0.0040,-0.0030,0.0022,-0.0033,-0.0022,-0.0015,-0.0040,-0.0029,-0.0015,-0.0042,-0.0051,-0.0019,-0.0011,-0.0042,-0.0030,-0.0017,-0.0040,-0.0031,-0.0017,-0.0034,-0.0031,-0.0021,-0.0039,-0.0031,-0.0007,0.0009,-0.0023,0.0039,0.0014,-0.0029,0.0030,0.0018,-0.0028,0.0031,-0.0012,-0.0010,0.0002,-0.0011,-0.0011,0.0006,-0.0012,-0.0010,0.0005,-0.0011,-0.0010,0.0001,-0.0011,-0.0010,0.0002,-0.0005,-0.0014,0.0020,-0.0008,-0.0013,0.0015,0.0004,-0.0026,0.0027,-0.0004,-0.0015,0.0021,0.0003,-0.0025,0.0019,0.0003,-0.0024,0.0014,0.0004,-0.0025,0.0016,0.0011,-0.0012,0.0042,0.0020,-0.0026,0.0032,0.0023,-0.0016,0.0034,0.0010,-0.0029,0.0029,0.0005,-0.0026,0.0028,0.0011,-0.0030,0.0021,0.0029,-0.0027,-0.0040,0.0032,-0.0024,-0.0040,0.0031,-0.0026,-0.0031,0.0042,-0.0008,-0.0014,0.0037,-0.0022,-0.0009,0.0033,-0.0020,-0.0017,-0.0010,-0.0014,-0.0021,-0.0007,-0.0013,-0.0026,-0.0006,-0.0024,0.0046,-0.0007,-0.0027,0.0044,0.0010,-0.0022,0.0040,-0.0006,-0.0022,0.0047,-0.0040,-0.0034,0.0015,-0.0034,-0.0034,0.0014,-0.0036,-0.0039,0.0022,-0.0028,-0.0022,0.0005,-0.0031,-0.0028,0.0010,-0.0033,-0.0030,0.0007,-0.0021,-0.0030,0.0047,-0.0022,-0.0028,0.0050,-0.0028,-0.0034,0.0045,-0.0030,-0.0035,0.0032,-0.0025,-0.0030,0.0022,-0.0025,-0.0029,0.0034,-0.0028,-0.0024,0.0011,-0.0029,-0.0025,0.0011,-0.0012,-0.0026,0.0039,-0.0017,-0.0022,0.0036,-0.0006,-0.0014,0.0021,-0.0020,-0.0024,0.0027,-0.0022,-0.0028,0.0020,-0.0009,-0.0013,0.0011,-0.0027,-0.0025,0.0013,-0.0027,-0.0025,0.0012,-0.0027,-0.0026,0.0014,-0.0011,-0.0015,-0.0020,-0.0005,-0.0014,0.0021,-0.0029,-0.0026,-0.0010,-0.0013,-0.0011,-0.0002,-0.0028,-0.0025,-0.0005,0.0046,0.0004,-0.0013,0.0045,-0.0008,-0.0007,-0.0004,0.0034,0.0043,-0.0004,0.0020,0.0046,0.0016,0.0021,0.0039,-0.0026,-0.0001,0.0055,-0.0026,-0.0014,0.0053,-0.0007,-0.0011,0.0050,-0.0035,-0.0004,0.0050,-0.0034,-0.0019,0.0048,0.0037,-0.0029,0.0004,0.0033,-0.0033,0.0002,0.0037,-0.0028,0.0002,0.0028,-0.0025,-0.0018,0.0031,-0.0022,-0.0017,0.0034,-0.0026,-0.0009,0.0035,-0.0008,-0.0048,0.0038,-0.0009,-0.0041,-0.0020,-0.0022,0.0033,-0.0019,-0.0023,0.0036,-0.0008,-0.0028,0.0041,-0.0032,-0.0038,0.0023,-0.0033,-0.0036,0.0034,-0.0031,-0.0028,-0.0009,0.0001,-0.0023,-0.0005,0.0004,-0.0025,-0.0003,0.0001,-0.0022,-0.0003,0.0005,-0.0026,-0.0016,-0.0009,-0.0016,-0.0020,0.0020,-0.0035,0.0010,0.0017,-0.0032,0.0011,0.0017,-0.0032,-0.0002,-0.0041,-0.0022,-0.0036,-0.0034,-0.0023,-0.0035,0.0001,-0.0023,0.0001,0.0007,-0.0027,0.0015,0.0006,-0.0026,0.0018,-0.0013,-0.0012,-0.0005,-0.0013,-0.0016,-0.0021,-0.0031,-0.0031,0.0016,0.0004,-0.0025,0.0030,0.0006,-0.0026,0.0035,-0.0042,-0.0010,-0.0038,-0.0041,-0.0019,-0.0037,-0.0044,-0.0011,-0.0036,-0.0004,-0.0011,-0.0049,0.0008,-0.0020,-0.0051,0.0007,-0.0021,-0.0051,0.0031,-0.0024,-0.0024,0.0031,-0.0029,-0.0010,0.0026,-0.0030,-0.0012,0.0037,-0.0030,0.0012,0.0030,-0.0029,0.0023,0.0028,-0.0031,0.0022,-0.0050,0.0033,0.0001,-0.0047,0.0033,-0.0008,-0.0051,0.0019,-0.0012,-0.0025,0.0019,0.0052,-0.0035,0.0018,0.0051,0.0048,-0.0008,0.0007,0.0047,-0.0007,-0.0001,0.0052,0.0010,-0.0002,-0.0029,-0.0028,0.0014,-0.0027,-0.0028,0.0018,-0.0024,-0.0026,0.0016,-0.0019,-0.0026,0.0040,-0.0010,-0.0011,0.0008,-0.0041,-0.0029,-0.0027,-0.0039,-0.0029,0.0003,-0.0033,-0.0026,0.0004,-0.0023,-0.0026,0.0051,0.0020,-0.0028,-0.0022,-0.0011,-0.0015,-0.0022,-0.0018,-0.0018,-0.0031,0.0041,-0.0023,0.0014,0.0035,-0.0020,0.0024,-0.0042,-0.0029,-0.0006,-0.0042,-0.0021,-0.0034,-0.0029,-0.0027,-0.0013,-0.0029,-0.0030,-0.0023,-0.0019,-0.0007,-0.0045,-0.0013,-0.0010,-0.0045,-0.0012,-0.0010,-0.0033,-0.0011,-0.0010,0.0000,-0.0003,-0.0010,-0.0029,-0.0004,-0.0011,-0.0046,-0.0003,-0.0011,-0.0029,0.0033,-0.0021,-0.0024,0.0042,-0.0008,-0.0022,0.0020,-0.0033,-0.0004,0.0024,-0.0034,-0.0005,0.0034,-0.0023,-0.0031,0.0049,0.0027,0.0019,0.0050,0.0010,0.0017,0.0052,0.0025,0.0009,-0.0030,-0.0030,0.0045,-0.0036,-0.0034,0.0038,-0.0040,-0.0022,0.0040,-0.0040,0.0030,0.0047,-0.0042,0.0017,0.0046,-0.0032,0.0031,0.0050,-0.0043,-0.0007,0.0044,-0.0035,-0.0036,0.0037,0.0051,0.0010,0.0008,0.0016,-0.0029,-0.0032,0.0015,-0.0029,-0.0037,0.0040,-0.0009,-0.0031,0.0025,-0.0030,-0.0031,0.0020,-0.0029,-0.0046,-0.0002,-0.0013,-0.0045,-0.0029,-0.0028,-0.0027,-0.0043,-0.0027,-0.0026,-0.0030,-0.0012,-0.0042,-0.0033,-0.0030,-0.0009,0.0019,-0.0032,0.0022,0.0025,-0.0036,0.0010,-0.0017,-0.0007,-0.0046,0.0022,-0.0030,-0.0013,-0.0039,-0.0031,0.0009,-0.0034,-0.0028,-0.0028,-0.0052,0.0017,-0.0001,0.0032,-0.0033,0.0010,0.0027,-0.0028,-0.0025,-0.0013,-0.0010,0.0002,-0.0012,-0.0010,0.0004,-0.0013,-0.0012,-0.0003,-0.0020,-0.0030,0.0044,-0.0023,-0.0030,0.0038,-0.0054,-0.0006,-0.0009,-0.0005,0.0001,0.0048,0.0017,0.0033,0.0038,-0.0026,-0.0034,0.0042,-0.0040,-0.0038,0.0023,-0.0042,-0.0035,0.0023,0.0014,-0.0031,0.0022,-0.0031,-0.0008,-0.0043,-0.0049,-0.0014,-0.0027,-0.0006,-0.0011,-0.0046,0.0046,0.0010,-0.0030,-0.0041,-0.0029,0.0010,0.0040,0.0023,-0.0043,0.0043,0.0028,-0.0035,0.0040,0.0028,-0.0041,0.0053,0.0028,0.0000,0.0054,0.0023,0.0000,0.0052,0.0029,0.0009,0.0029,0.0035,0.0032,0.0029,0.0031,0.0033,0.0017,0.0037,0.0038,-0.0039,0.0034,0.0047,-0.0032,0.0035,0.0049,-0.0049,0.0037,0.0001,-0.0046,0.0037,-0.0008,-0.0010,0.0036,-0.0033,0.0008,0.0032,-0.0043,-0.0010,0.0032,-0.0035,0.0008,0.0036,-0.0041,0.0041,-0.0023,0.0007,0.0023,-0.0030,-0.0038,0.0048,0.0010,-0.0013,0.0027,0.0010,-0.0055,0.0013,-0.0004,-0.0055,0.0015,0.0012,-0.0054,-0.0047,0.0020,-0.0022,-0.0044,0.0034,-0.0017,0.0014,0.0002,0.0042,0.0029,0.0017,0.0034,0.0026,-0.0001,0.0035,0.0009,-0.0015,-0.0052,-0.0003,-0.0010,-0.0050,0.0001,-0.0001,-0.0053,0.0038,0.0007,-0.0047,0.0040,-0.0022,0.0001,0.0047,-0.0008,0.0015,0.0037,-0.0004,0.0027,-0.0023,0.0032,0.0049,-0.0050,0.0031,0.0035,-0.0052,0.0013,0.0032,-0.0052,0.0017,0.0015,-0.0050,-0.0009,0.0030,0.0005,0.0013,-0.0052,-0.0051,-0.0005,-0.0023,-0.0014,0.0016,-0.0043,-0.0017,0.0001,-0.0047,0.0024,-0.0026,-0.0048,-0.0046,0.0000,-0.0031,-0.0041,0.0001,-0.0036,-0.0048,-0.0019,0.0026,-0.0026,-0.0034,0.0040,-0.0039,0.0022,-0.0028,0.0041,0.0014,0.0027,0.0051,0.0025,-0.0012,-0.0028,-0.0023,-0.0033,0.0018,-0.0024,-0.0051,0.0028,0.0027,-0.0048,0.0017,0.0030,-0.0047,-0.0037,0.0033,-0.0024,-0.0029,0.0032,-0.0028,-0.0036,0.0037,-0.0022,-0.0028,0.0036,-0.0027,-0.0050,0.0037,0.0018,-0.0051,0.0033,0.0018,-0.0023,0.0036,0.0049,0.0041,0.0033,0.0026,0.0041,0.0030,0.0027,0.0050,0.0030,-0.0012,0.0029,0.0030,-0.0047,0.0047,0.0028,-0.0027,0.0049,0.0030,0.0019,-0.0004,0.0038,0.0042,-0.0049,0.0035,0.0035,-0.0043,0.0038,-0.0016,0.0019,0.0033,-0.0046});
			return tooth_molar_2_17_cap_coordinate_6_28_point;
		}
		/** Large attribute array: IndexedFaceSet DEF='tooth_molar_2_17_root_geometry' coordIndex field, scene-graph level=5, element #34, 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 gettooth_molar_2_17_root_geometry_5_34_coordIndex()
		{
			MFInt32 tooth_molar_2_17_root_geometry_5_34_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(gettooth_molar_2_17_root_geometry_5_34_coordIndex_1()))
				.append(new MFInt32(gettooth_molar_2_17_root_geometry_5_34_coordIndex_2()))
				.append(new MFInt32(gettooth_molar_2_17_root_geometry_5_34_coordIndex_3()))
				.append(new MFInt32(gettooth_molar_2_17_root_geometry_5_34_coordIndex_4()));
			return tooth_molar_2_17_root_geometry_5_34_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='tooth_molar_2_17_root_coordinate' point field, scene-graph level=6, element #34, 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 gettooth_molar_2_17_root_coordinate_6_34_point()
		{
			MFVec3f tooth_molar_2_17_root_coordinate_6_34_point = new MFVec3f(new double[] {-0.0021,0.0063,0.0009,-0.0023,0.0061,0.0009,-0.0022,0.0061,0.0010,0.0020,-0.0002,-0.0031,0.0014,-0.0017,-0.0033,0.0016,-0.0002,-0.0024,0.0011,-0.0021,-0.0033,0.0007,-0.0022,-0.0032,0.0007,-0.0019,-0.0024,-0.0010,0.0057,0.0007,-0.0007,0.0051,0.0003,-0.0009,0.0057,0.0005,0.0007,-0.0016,-0.0004,0.0010,-0.0017,-0.0014,0.0008,-0.0017,-0.0014,0.0028,0.0032,-0.0014,0.0031,0.0049,-0.0015,0.0031,0.0049,-0.0019,0.0033,0.0057,-0.0019,0.0035,0.0059,-0.0019,0.0035,0.0059,-0.0020,0.0012,-0.0017,-0.0024,0.0010,-0.0018,-0.0024,-0.0017,0.0061,0.0010,-0.0017,0.0059,0.0011,-0.0014,0.0058,0.0010,-0.0026,-0.0015,0.0004,-0.0010,-0.0016,0.0004,-0.0010,-0.0017,0.0001,-0.0011,-0.0014,0.0000,0.0004,-0.0017,-0.0003,0.0024,-0.0021,0.0015,0.0016,-0.0018,0.0006,0.0016,-0.0020,0.0008,0.0008,-0.0016,0.0000,0.0020,-0.0005,0.0006,0.0009,-0.0018,0.0001,0.0017,-0.0019,0.0008,0.0006,0.0039,0.0028,0.0003,0.0040,0.0025,-0.0001,0.0049,0.0025,-0.0010,0.0060,0.0025,-0.0011,0.0061,0.0027,-0.0008,0.0059,0.0026,-0.0018,0.0063,0.0030,-0.0018,0.0063,0.0029,-0.0020,0.0062,0.0029,-0.0011,0.0062,0.0004,-0.0010,0.0060,0.0001,-0.0013,0.0062,0.0002,0.0006,-0.0017,-0.0001,-0.0025,0.0026,0.0029,-0.0027,0.0026,0.0033,-0.0025,0.0036,0.0033,-0.0005,-0.0004,-0.0004,0.0006,-0.0016,-0.0006,-0.0003,-0.0003,-0.0005,-0.0010,0.0051,0.0006,-0.0012,0.0051,0.0007,-0.0011,0.0044,0.0006,-0.0009,0.0059,0.0002,-0.0007,0.0051,-0.0005,-0.0040,-0.0013,0.0013,-0.0040,-0.0014,0.0008,-0.0044,-0.0017,0.0015,-0.0002,0.0013,-0.0024,-0.0006,0.0015,-0.0023,-0.0007,0.0029,-0.0018,0.0025,-0.0012,0.0027,0.0024,-0.0012,0.0030,0.0027,-0.0023,0.0027,0.0009,0.0037,0.0035,0.0014,0.0026,0.0036,0.0009,0.0038,0.0032,-0.0010,0.0061,0.0028,-0.0012,0.0062,0.0029,-0.0010,0.0061,0.0029,0.0007,-0.0024,-0.0036,0.0004,-0.0016,-0.0032,-0.0007,0.0058,0.0029,-0.0007,0.0059,0.0028,-0.0012,0.0060,0.0025,-0.0014,0.0055,0.0024,-0.0015,0.0060,0.0025,-0.0003,0.0054,0.0033,-0.0002,0.0047,0.0037,0.0003,0.0047,0.0035,0.0006,0.0038,0.0038,0.0003,0.0047,0.0033,-0.0021,0.0050,0.0040,-0.0024,0.0044,0.0038,-0.0021,0.0042,0.0043,-0.0021,0.0060,0.0011,-0.0023,0.0052,0.0010,-0.0020,0.0051,0.0011,-0.0036,0.0003,-0.0006,-0.0040,-0.0012,-0.0007,-0.0042,-0.0013,0.0002,0.0047,0.0032,-0.0029,0.0048,0.0013,-0.0027,0.0045,0.0013,-0.0031,0.0033,-0.0026,0.0021,0.0030,-0.0026,0.0026,0.0033,-0.0043,0.0023,0.0045,-0.0060,0.0015,0.0048,-0.0062,0.0005,0.0045,-0.0044,0.0006,0.0025,-0.0060,-0.0051,0.0015,-0.0057,-0.0050,0.0023,-0.0038,-0.0042,-0.0014,-0.0054,-0.0037,-0.0008,-0.0034,-0.0036,0.0006,-0.0036,-0.0038,-0.0025,-0.0037,0.0045,-0.0032,-0.0036,0.0044,-0.0036,-0.0055,0.0045,0.0010,-0.0041,0.0034,-0.0008,-0.0052,0.0038,0.0013,-0.0053,0.0034,0.0032,0.0049,-0.0023,0.0033,0.0057,-0.0021,-0.0032,0.0002,0.0001,-0.0038,-0.0011,0.0004,-0.0024,0.0000,0.0001,-0.0027,0.0054,0.0007,-0.0027,0.0049,0.0000,-0.0028,0.0048,0.0004,0.0011,0.0027,0.0039,0.0001,0.0039,0.0040,-0.0002,0.0054,0.0032,-0.0003,0.0054,0.0027,-0.0013,0.0061,0.0026,0.0028,-0.0023,0.0025,0.0039,0.0057,-0.0013,0.0041,0.0056,-0.0010,0.0040,0.0057,-0.0013,-0.0043,-0.0013,0.0021,-0.0039,-0.0012,0.0017,0.0006,-0.0016,0.0001,-0.0020,0.0062,0.0028,0.0022,0.0001,0.0031,0.0031,-0.0023,0.0021,0.0035,0.0050,-0.0026,0.0035,0.0057,-0.0023,0.0036,0.0057,-0.0025,0.0001,-0.0004,-0.0028,-0.0003,-0.0003,-0.0029,-0.0039,-0.0002,0.0028,-0.0035,0.0002,0.0000,-0.0006,0.0044,-0.0009,-0.0009,0.0052,-0.0006,-0.0012,0.0057,0.0009,-0.0001,0.0041,0.0023,0.0002,0.0032,0.0022,0.0000,0.0033,0.0022,-0.0004,0.0041,0.0023,-0.0007,0.0059,0.0031,-0.0025,-0.0012,0.0003,-0.0019,0.0062,0.0004,-0.0018,0.0063,0.0006,-0.0013,0.0062,0.0004,-0.0013,0.0062,0.0028,-0.0012,0.0062,0.0029,-0.0020,0.0062,0.0031,-0.0019,0.0062,0.0033,-0.0017,0.0063,0.0030,-0.0018,0.0063,0.0030,-0.0018,0.0062,0.0033,-0.0005,0.0055,0.0025,-0.0021,0.0061,0.0027,-0.0018,0.0061,0.0026,0.0035,0.0058,-0.0018,0.0033,0.0057,-0.0016,0.0034,0.0057,-0.0012,0.0023,-0.0021,0.0016,0.0001,-0.0015,-0.0004,-0.0014,-0.0002,0.0000,0.0005,-0.0016,-0.0023,0.0006,-0.0016,-0.0014,0.0007,-0.0019,-0.0015,0.0013,-0.0004,-0.0008,0.0013,-0.0003,-0.0017,-0.0011,0.0060,0.0006,-0.0008,0.0058,0.0004,-0.0006,0.0051,-0.0001,0.0034,0.0057,-0.0022,0.0036,0.0059,-0.0022,-0.0011,-0.0015,-0.0031,0.0001,-0.0017,-0.0033,-0.0043,-0.0016,0.0007,-0.0045,-0.0032,0.0000,0.0036,0.0059,-0.0022,-0.0012,0.0060,0.0008,0.0000,-0.0003,-0.0013,0.0036,0.0058,-0.0015,-0.0017,0.0062,0.0027,-0.0008,0.0055,0.0024,-0.0010,0.0061,0.0031,-0.0009,0.0045,-0.0010,-0.0036,-0.0002,0.0022,0.0037,0.0049,-0.0028,0.0022,0.0001,0.0034,0.0039,0.0056,-0.0010,0.0020,-0.0023,0.0032,0.0022,-0.0042,0.0029,-0.0015,0.0062,0.0027,-0.0002,0.0053,0.0030,-0.0025,0.0054,0.0003,-0.0010,-0.0039,0.0040,-0.0027,-0.0054,0.0045,0.0004,-0.0054,-0.0045,0.0044,-0.0044,0.0014,0.0049,0.0031,-0.0024,-0.0023,0.0051,0.0036,-0.0007,0.0040,0.0043,-0.0009,0.0049,0.0040,-0.0006,0.0054,0.0035,-0.0010,0.0055,0.0024,0.0012,-0.0037,-0.0039,0.0015,0.0027,0.0033,-0.0003,0.0027,-0.0018,-0.0009,0.0044,0.0004,-0.0024,0.0036,0.0030,0.0002,0.0047,0.0027,0.0014,-0.0004,-0.0002,0.0024,-0.0020,0.0013,-0.0026,-0.0014,0.0009,-0.0014,0.0060,0.0009,0.0028,0.0033,-0.0019,-0.0020,0.0063,0.0010,-0.0046,-0.0032,0.0016,0.0038,0.0058,-0.0013,0.0037,0.0056,-0.0010,0.0030,0.0033,-0.0024,0.0027,0.0015,-0.0030,0.0023,0.0015,-0.0024,0.0034,0.0033,-0.0029,-0.0001,0.0014,-0.0016,-0.0002,0.0028,-0.0011,-0.0010,0.0061,0.0005,-0.0010,0.0061,0.0004,-0.0002,0.0014,-0.0009,-0.0005,0.0014,-0.0002,-0.0016,0.0051,0.0010,-0.0021,0.0046,0.0009,-0.0016,0.0045,0.0008,-0.0007,0.0014,-0.0001,-0.0014,0.0016,0.0002,0.0038,0.0046,0.0001,0.0032,0.0030,0.0000,0.0037,0.0029,0.0006,0.0035,0.0047,-0.0004,0.0032,0.0048,-0.0010,-0.0016,0.0063,0.0029,-0.0015,0.0063,0.0028,-0.0023,0.0045,0.0029,-0.0017,0.0050,0.0026,-0.0017,0.0044,0.0026,-0.0022,0.0051,0.0029,-0.0024,-0.0002,0.0017,-0.0010,-0.0015,0.0007,-0.0025,-0.0013,0.0012,-0.0010,-0.0004,0.0013,-0.0016,0.0035,0.0026,-0.0017,0.0025,0.0026,0.0011,0.0021,0.0024,0.0012,0.0029,0.0028,0.0016,0.0018,0.0028,0.0008,0.0031,0.0025,0.0014,-0.0007,0.0015,0.0007,-0.0005,0.0010,-0.0014,0.0062,0.0033,-0.0012,0.0062,0.0030,-0.0015,0.0063,0.0030,-0.0011,0.0061,0.0032,-0.0019,0.0062,0.0010,0.0041,0.0058,-0.0018,0.0042,0.0057,-0.0021,0.0040,0.0058,-0.0020,0.0042,0.0057,-0.0019,0.0041,0.0057,-0.0013,0.0043,0.0056,-0.0012,0.0038,0.0057,-0.0025,0.0039,0.0058,-0.0023,0.0040,0.0057,-0.0024,0.0038,0.0059,-0.0023,-0.0022,0.0061,0.0029,-0.0005,0.0049,0.0023,-0.0007,0.0049,0.0024,0.0006,0.0009,0.0016,0.0005,-0.0005,0.0009,0.0003,0.0009,0.0016,-0.0023,0.0052,0.0031,-0.0024,0.0044,0.0032,-0.0031,0.0020,0.0002,-0.0027,0.0033,0.0005,-0.0029,0.0033,0.0003,-0.0029,0.0019,0.0003,0.0023,-0.0003,-0.0034,0.0031,0.0014,-0.0032,0.0047,0.0026,0.0011,0.0040,0.0007,0.0015,0.0044,0.0006,0.0015,0.0042,0.0026,0.0011,0.0019,0.0014,0.0037,0.0019,0.0015,0.0034,0.0032,-0.0022,0.0020,0.0035,-0.0024,0.0020,0.0018,-0.0012,0.0035,-0.0017,0.0061,0.0036,-0.0013,0.0061,0.0034,-0.0017,0.0062,0.0034,-0.0019,0.0061,0.0036,-0.0020,0.0061,0.0035,-0.0019,0.0056,0.0039,-0.0017,0.0055,0.0039,-0.0008,0.0060,0.0032,-0.0022,0.0057,0.0034,-0.0023,0.0057,0.0030,-0.0011,0.0055,0.0037,-0.0016,0.0049,0.0042,-0.0012,0.0049,0.0024,-0.0010,0.0042,0.0024,-0.0018,0.0042,0.0044,-0.0022,0.0032,0.0045,-0.0018,0.0032,0.0047,0.0004,0.0028,0.0042,-0.0025,0.0034,0.0040,-0.0028,0.0024,0.0042,-0.0024,0.0022,0.0048,-0.0006,0.0017,0.0048,0.0006,0.0016,0.0044,-0.0006,0.0029,0.0046,0.0014,0.0015,0.0040,0.0007,0.0002,0.0042,0.0016,0.0001,0.0038,-0.0033,0.0012,0.0031,-0.0033,0.0010,0.0041,-0.0018,0.0005,0.0051,-0.0007,0.0004,0.0047,-0.0015,0.0019,0.0050,0.0007,-0.0011,0.0039,-0.0009,-0.0009,0.0044,-0.0008,0.0011,0.0018,-0.0038,-0.0004,0.0039,-0.0042,-0.0015,0.0036,-0.0022,-0.0019,0.0048,-0.0010,-0.0020,0.0042,-0.0021,-0.0008,0.0049,-0.0021,0.0054,-0.0001,-0.0021,0.0062,0.0005,-0.0023,0.0054,0.0001,-0.0026,0.0053,0.0009,-0.0027,0.0047,0.0007,-0.0023,0.0048,-0.0004,-0.0014,0.0053,-0.0005,-0.0015,0.0046,-0.0009,-0.0026,0.0034,-0.0009,-0.0024,0.0033,-0.0011,-0.0025,0.0048,-0.0002,-0.0021,0.0031,0.0005,-0.0025,0.0047,0.0008,-0.0004,0.0028,-0.0006,-0.0029,0.0034,-0.0006,-0.0028,0.0020,-0.0014,-0.0031,0.0020,-0.0010,-0.0032,0.0020,-0.0004,-0.0035,0.0003,-0.0013,-0.0012,-0.0001,-0.0028,-0.0014,0.0017,-0.0022,-0.0028,-0.0013,-0.0024,-0.0027,0.0002,-0.0020,0.0002,-0.0003,-0.0020,0.0050,0.0045,-0.0004,0.0043,0.0056,-0.0016,0.0043,0.0057,-0.0014,0.0050,0.0046,-0.0008,0.0045,0.0048,-0.0026,0.0041,0.0057,-0.0023,0.0046,0.0048,-0.0023,0.0042,0.0043,0.0004,0.0052,0.0030,-0.0012,0.0053,0.0029,-0.0005,0.0049,0.0047,-0.0014,0.0040,0.0033,-0.0032,0.0040,0.0049,-0.0028,0.0020,0.0012,-0.0011,0.0029,0.0032,-0.0007,0.0022,0.0012,-0.0005,0.0053,0.0028,0.0000,0.0054,0.0010,-0.0004,0.0053,0.0009,0.0003,0.0047,-0.0006,-0.0013,0.0052,0.0011,-0.0012,0.0049,-0.0008,-0.0003,0.0036,0.0014,-0.0034,0.0040,-0.0004,-0.0033,0.0030,-0.0003,-0.0036,0.0035,-0.0009,0.0018,0.0033,0.0009,0.0010,0.0027,-0.0006,0.0012,0.0039,-0.0010,0.0018,0.0046,-0.0026,0.0012,0.0047,-0.0010,0.0011,0.0043,-0.0023,-0.0024,0.0045,-0.0005,-0.0023,0.0044,-0.0024,-0.0014,0.0026,-0.0020,-0.0039,0.0017,-0.0019,-0.0036,-0.0020,0.0063,0.0008,-0.0019,0.0063,0.0007,-0.0013,0.0060,0.0008,-0.0033,-0.0012,-0.0020,-0.0030,-0.0032,-0.0026,-0.0036,-0.0032,-0.0022,-0.0029,-0.0018,0.0046,0.0047,-0.0025,-0.0003,0.0043,-0.0043,-0.0014,0.0046,-0.0044,-0.0003,0.0037,-0.0022,-0.0035,0.0035,-0.0040,-0.0037,-0.0039,-0.0035,0.0043,-0.0043,-0.0056,0.0043,0.0038,-0.0041,-0.0031,0.0036,-0.0063,-0.0045,0.0039,-0.0063,-0.0039,-0.0045,-0.0034,0.0034,-0.0054,-0.0053,0.0014,-0.0053,-0.0055,0.0031,-0.0050,-0.0053,-0.0012,-0.0053,-0.0053,-0.0003,-0.0043,-0.0031,-0.0009,-0.0041,-0.0031,-0.0017,-0.0040,-0.0053,-0.0026,-0.0047,-0.0052,-0.0020,0.0037,-0.0057,0.0022,0.0043,-0.0063,-0.0031,0.0042,-0.0042,-0.0024,0.0046,-0.0061,-0.0016,0.0040,-0.0022,-0.0029,0.0046,-0.0026,0.0005,0.0009,-0.0022,0.0037,-0.0036,-0.0016,0.0044,0.0041,0.0057,-0.0014,0.0041,0.0058,-0.0016,0.0040,0.0058,-0.0022,0.0043,-0.0004,-0.0028,0.0048,-0.0009,0.0004,0.0052,0.0007,0.0009,0.0051,0.0013,-0.0021,-0.0031,0.0002,-0.0017,-0.0025,0.0020,-0.0016,-0.0030,0.0034,-0.0001,-0.0013,0.0031,-0.0017,-0.0005,0.0044,-0.0004,-0.0006,0.0044,0.0000,-0.0022,0.0062,0.0007,-0.0033,-0.0006,0.0046,-0.0029,0.0008,0.0048,-0.0020,0.0020,0.0049,-0.0015,0.0040,0.0045,-0.0021,0.0056,0.0037,-0.0022,0.0060,0.0032,0.0012,-0.0025,-0.0037,0.0003,0.0046,0.0030,-0.0030,0.0012,0.0026,0.0005,0.0023,0.0021,0.0021,-0.0009,0.0021,-0.0020,0.0012,0.0022,-0.0018,0.0056,0.0026,0.0027,0.0011,0.0003,-0.0009,0.0028,0.0001,-0.0015,0.0030,0.0004,0.0021,0.0014,-0.0018,-0.0007,0.0029,0.0000,-0.0022,0.0018,0.0004,-0.0008,0.0034,0.0023,-0.0007,0.0024,0.0023,0.0013,0.0007,0.0020,0.0019,0.0004,0.0025,-0.0016,0.0063,0.0031,0.0037,0.0059,-0.0023,0.0002,0.0023,0.0021,-0.0022,0.0057,0.0028,0.0036,0.0033,-0.0031,0.0047,0.0044,0.0004,-0.0010,0.0060,0.0033,-0.0019,0.0050,0.0041,-0.0014,0.0031,0.0048,-0.0023,0.0006,0.0049,-0.0027,-0.0007,0.0047,-0.0038,-0.0012,-0.0015,0.0049,0.0044,0.0000,0.0048,0.0047,-0.0019,0.0052,0.0026,0.0005,0.0051,0.0031,-0.0019,0.0049,-0.0063,-0.0004,0.0025,-0.0055,0.0028,-0.0032,-0.0054,-0.0031});
			return tooth_molar_2_17_root_coordinate_6_34_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 tooth_molar_2_17 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 tooth_molar_2_17().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.Bones.tooth_molar_2_17\" 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.Bones.tooth_molar_2_17 self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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