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

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

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=3 */
		private int[] gettooth_molar_16_28_cap_geometry_5_28_coordIndex_3()
		{
			int[] value = {298,297,354,-1,9,244,277,-1,9,242,244,-1,29,37,39,-1,37,29,38,-1,352,46,45,-1,171,46,352,-1,61,57,230,-1,57,61,58,-1,321,64,276,-1,327,64,321,-1,269,328,68,-1,328,269,134,-1,301,302,325,-1,301,305,302,-1,73,329,262,-1,73,75,329,-1,226,203,83,-1,77,203,226,-1,63,162,122,-1,63,62,162,-1,355,270,133,-1,355,130,270,-1,220,12,131,-1,220,13,12,-1,180,181,4,-1,180,126,181,-1,196,93,115,-1,93,196,205,-1,188,99,98,-1,188,272,99,-1,113,117,197,-1,113,112,117,-1,330,342,314,-1,342,330,285,-1,271,334,104,-1,334,271,312,-1,107,211,210,-1,211,107,106,-1,258,94,116,-1,152,94,258,-1,235,206,148,-1,235,207,206,-1,235,209,207,-1,314,349,312,-1,314,342,349,-1,315,186,185,-1,186,315,261,-1,187,268,317,-1,332,268,187,-1,333,310,256,-1,198,310,333,-1,210,311,107,-1,210,217,311,-1,251,130,355,-1,251,131,130,-1,308,6,8,-1,308,277,6,-1,356,78,318,-1,78,356,74,-1,336,319,356,-1,303,319,336,-1,134,64,335,-1,65,64,134,-1,15,245,16,-1,227,245,15,-1,172,322,173,-1,322,172,292,-1,264,268,138,-1,264,317,268,-1,170,337,237,-1,170,338,337,-1,121,7,252,-1,121,194,7,-1,167,149,166,-1,164,149,167,-1,149,164,150,-1,143,300,141,-1,143,250,300,-1,45,233,352,-1,249,233,45,-1,264,338,170,-1,264,169,338,-1,264,125,317,-1,170,125,264,-1,173,263,137,-1,263,173,322,-1,263,66,175,-1,263,276,66,-1,327,335,64,-1,327,304,335,-1,328,356,318,-1,336,356,328,-1,74,319,75,-1,74,356,319,-1,275,355,280,-1,275,251,355,-1,256,331,333,-1,256,3,331,-1,332,139,268,-1,298,139,332,-1,332,186,316,-1,187,186,332,-1,290,334,288,-1,290,260,334,-1,199,259,191,-1,199,273,259,-1,285,5,283,-1,5,285,330,-1,146,214,267,-1,214,146,145,-1,109,148,88,-1,109,111,148,-1,193,91,309,-1,193,92,91,-1,258,259,272,-1,258,192,259,-1,255,306,202,-1,255,212,306,-1,288,312,349,-1,288,334,312,-1,190,315,185,-1,190,189,315,-1,314,331,330,-1,314,313,331,-1,311,256,310,-1,256,311,178,-1,90,212,211,-1,90,253,212,-1,144,86,145,-1,84,86,144,-1,201,220,202,-1,220,201,13,-1,204,184,308,-1,184,204,221,-1,133,280,355,-1,280,133,177,-1,123,67,269,-1,55,67,123,-1,246,324,17,-1,265,324,246,-1,134,336,328,-1,336,134,335,-1,323,327,321,-1,326,327,323,-1,69,269,68,-1,69,123,269,-1,324,338,142,-1,324,337,338,-1,14,325,232,-1,325,14,238,-1,168,143,169,-1,249,143,168,-1,38,61,36,-1,38,151,61,-1,214,157,33,-1,213,157,214,-1,120,157,213,-1,59,237,337,-1,237,59,100,-1,240,141,300,-1,247,141,240,-1,18,238,16,-1,239,238,18,-1,201,244,242,-1,201,200,244,-1,252,216,121,-1,252,215,216,-1,357,275,346,-1,275,357,71,-1,354,140,139,-1,354,339,140,-1,171,353,340,-1,353,171,352,-1,351,326,323,-1,351,341,326,-1,342,350,349,-1,343,350,342,-1,182,348,183,-1,241,348,182,-1,347,262,329,-1,347,345,262,-1};
			return value;
		}

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

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

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

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

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=5 */
		private int[] gettooth_molar_16_28_root_geometry_5_34_coordIndex_5()
		{
			int[] value = {202,528,327,-1,202,204,528,-1,342,365,364,-1,342,341,365,-1,119,209,536,-1,209,119,364,-1,529,548,552,-1,307,548,529,-1,222,181,162,-1,222,26,181,-1,206,526,207,-1,206,527,526,-1,384,379,382,-1,95,379,384,-1,446,429,431,-1,429,446,417,-1,238,530,551,-1,530,238,20,-1,212,206,213,-1,206,212,527,-1,188,225,189,-1,188,497,225,-1,499,65,525,-1,65,499,498,-1,272,531,57,-1,272,550,531,-1,352,228,194,-1,352,353,228,-1,59,192,191,-1,59,229,192,-1,500,462,120,-1,500,443,462,-1,394,8,7,-1,8,394,157,-1,215,5,4,-1,5,215,378,-1,117,249,283,-1,251,249,117,-1,164,533,113,-1,164,344,533,-1,376,199,374,-1,199,376,546,-1,534,418,549,-1,534,416,418,-1,463,340,372,-1,463,542,340,-1,158,535,156,-1,158,545,535,-1,121,541,372,-1,541,121,292,-1,364,121,342,-1,119,121,364,-1,548,538,371,-1,332,538,548,-1,333,430,547,-1,333,538,430,-1,383,306,25,-1,306,383,270,-1,240,16,239,-1,18,16,240,-1,171,260,37,-1,171,328,260,-1,374,269,298,-1,374,199,269,-1,202,373,268,-1,202,79,373,-1,522,33,32,-1,522,385,33,-1,535,521,539,-1,521,535,545,-1,544,29,347,-1,544,324,29,-1,541,543,464,-1,543,541,337,-1,251,318,247,-1,318,251,532,-1,247,542,248,-1,247,507,542,-1,549,515,534,-1,319,515,549,-1,309,314,405,-1,309,312,314,-1,250,265,27,-1,250,196,265,-1};
			return value;
		}
		/** Large attribute array: IndexedFaceSet DEF='tooth_molar_16_28_cap_geometry' coordIndex field, scene-graph level=5, element #28, 2728 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFInt32 gettooth_molar_16_28_cap_geometry_5_28_coordIndex()
		{
			MFInt32 tooth_molar_16_28_cap_geometry_5_28_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(gettooth_molar_16_28_cap_geometry_5_28_coordIndex_1()))
				.append(new MFInt32(gettooth_molar_16_28_cap_geometry_5_28_coordIndex_2()))
				.append(new MFInt32(gettooth_molar_16_28_cap_geometry_5_28_coordIndex_3()));
			return tooth_molar_16_28_cap_geometry_5_28_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='tooth_molar_16_28_cap_coordinate' point field, scene-graph level=6, element #28, 1074 total numbers made up of 358 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f gettooth_molar_16_28_cap_coordinate_6_28_point()
		{
			MFVec3f tooth_molar_16_28_cap_coordinate_6_28_point = new MFVec3f(new double[] {0.0003,0.0035,-0.0025,0.0003,0.0039,-0.0023,0.0003,0.0039,-0.0023,0.0046,0.0000,0.0031,0.0051,0.0019,0.0024,0.0046,0.0018,0.0029,0.0034,-0.0030,-0.0005,0.0033,-0.0028,-0.0003,0.0033,-0.0034,-0.0013,0.0037,-0.0023,-0.0005,0.0043,-0.0007,-0.0005,0.0043,-0.0007,-0.0001,0.0044,-0.0002,-0.0001,0.0044,-0.0009,0.0003,-0.0026,-0.0035,-0.0022,-0.0021,-0.0035,-0.0020,-0.0026,-0.0036,-0.0020,-0.0034,-0.0034,-0.0020,-0.0033,-0.0031,-0.0022,-0.0038,-0.0026,-0.0026,-0.0040,-0.0022,-0.0026,-0.0037,-0.0023,-0.0032,-0.0014,-0.0032,0.0026,-0.0010,-0.0035,0.0024,-0.0002,-0.0030,0.0029,-0.0016,-0.0037,0.0014,-0.0007,-0.0030,0.0014,-0.0013,-0.0037,0.0017,-0.0017,-0.0040,0.0019,-0.0007,-0.0030,0.0011,0.0022,-0.0025,-0.0034,0.0021,-0.0024,-0.0030,0.0016,-0.0021,-0.0032,0.0006,-0.0020,-0.0016,0.0002,-0.0024,-0.0005,-0.0007,-0.0034,-0.0008,-0.0010,-0.0037,-0.0005,-0.0008,-0.0035,-0.0003,-0.0013,-0.0036,0.0009,0.0000,-0.0026,-0.0000,0.0010,-0.0015,-0.0003,0.0005,-0.0022,0.0008,0.0020,-0.0021,0.0002,0.0019,-0.0021,0.0007,0.0011,-0.0016,0.0001,-0.0048,0.0008,-0.0025,-0.0046,0.0011,-0.0030,-0.0043,-0.0010,-0.0032,-0.0021,-0.0032,-0.0026,-0.0014,-0.0022,-0.0027,-0.0014,-0.0021,-0.0032,-0.0020,-0.0028,-0.0032,-0.0010,-0.0020,-0.0038,-0.0008,-0.0021,-0.0037,-0.0010,-0.0022,-0.0037,-0.0001,-0.0021,-0.0037,-0.0005,-0.0011,-0.0025,-0.0025,-0.0043,-0.0014,-0.0026,-0.0044,-0.0008,-0.0030,-0.0043,-0.0010,-0.0027,-0.0045,-0.0004,-0.0022,-0.0045,-0.0006,0.0016,-0.0016,-0.0028,0.0010,-0.0018,-0.0035,-0.0004,0.0003,-0.0037,-0.0001,-0.0012,-0.0038,-0.0010,-0.0014,-0.0039,-0.0001,-0.0017,-0.0038,0.0018,-0.0018,-0.0035,0.0015,-0.0021,-0.0035,0.0049,0.0035,0.0014,0.0049,0.0038,0.0009,0.0049,0.0037,0.0013,0.0039,0.0029,-0.0014,0.0037,0.0008,-0.0026,0.0034,0.0029,-0.0020,0.0040,-0.0009,-0.0022,0.0037,-0.0022,-0.0025,0.0037,-0.0010,-0.0028,0.0017,-0.0021,-0.0027,0.0001,-0.0012,-0.0021,0.0026,-0.0031,-0.0026,0.0024,-0.0028,-0.0032,0.0029,-0.0028,-0.0032,0.0031,-0.0032,-0.0010,0.0026,-0.0026,-0.0006,0.0023,-0.0028,-0.0009,0.0009,-0.0018,0.0003,0.0031,-0.0042,0.0020,0.0030,-0.0037,0.0012,0.0032,-0.0040,0.0013,0.0027,-0.0035,0.0035,0.0025,-0.0032,0.0038,0.0024,-0.0032,0.0033,0.0006,-0.0029,0.0033,0.0002,-0.0029,0.0029,0.0005,-0.0028,0.0030,0.0005,-0.0002,0.0037,0.0005,-0.0019,0.0036,0.0013,-0.0020,0.0038,-0.0032,-0.0044,-0.0001,-0.0029,-0.0042,0.0011,-0.0023,-0.0037,0.0021,-0.0028,-0.0033,0.0021,0.0013,-0.0002,0.0038,0.0024,-0.0022,0.0042,0.0035,-0.0043,0.0021,0.0040,-0.0040,0.0024,0.0037,-0.0039,0.0032,0.0027,-0.0038,0.0026,0.0017,-0.0029,0.0026,0.0019,-0.0034,0.0023,0.0003,-0.0025,0.0018,0.0008,-0.0028,0.0029,0.0013,-0.0027,0.0028,0.0021,-0.0030,0.0033,0.0019,-0.0030,0.0036,0.0004,-0.0024,0.0016,0.0004,-0.0023,0.0014,0.0012,-0.0014,-0.0003,0.0012,-0.0014,-0.0003,0.0027,-0.0027,0.0002,-0.0003,-0.0010,-0.0025,0.0007,-0.0017,-0.0037,-0.0033,-0.0041,0.0009,-0.0037,-0.0036,0.0011,0.0050,-0.0001,0.0016,0.0049,0.0003,0.0008,0.0052,0.0021,0.0011,0.0043,-0.0008,-0.0008,0.0045,0.0009,-0.0006,0.0046,0.0008,0.0001,0.0040,0.0009,-0.0020,0.0044,0.0028,-0.0008,0.0008,-0.0010,-0.0037,-0.0015,-0.0023,-0.0033,-0.0025,-0.0030,-0.0033,-0.0041,-0.0006,-0.0037,-0.0054,0.0003,-0.0001,-0.0049,0.0020,0.0011,-0.0052,0.0021,-0.0000,-0.0041,-0.0024,-0.0020,-0.0039,-0.0031,-0.0017,-0.0047,-0.0015,-0.0017,0.0028,-0.0034,-0.0020,0.0020,-0.0029,-0.0017,0.0018,-0.0024,-0.0023,0.0027,-0.0037,0.0014,0.0021,-0.0037,0.0017,0.0002,-0.0015,-0.0020,-0.0003,-0.0010,-0.0021,-0.0024,-0.0042,0.0011,0.0006,-0.0029,0.0033,-0.0001,-0.0029,0.0029,0.0002,-0.0027,0.0024,-0.0011,-0.0036,-0.0008,0.0010,-0.0014,-0.0003,0.0010,-0.0014,-0.0004,-0.0007,-0.0034,-0.0005,0.0005,-0.0023,0.0012,-0.0004,-0.0030,0.0017,0.0004,-0.0023,0.0011,0.0000,-0.0010,-0.0022,-0.0004,-0.0010,-0.0023,-0.0006,-0.0012,-0.0022,-0.0006,-0.0011,-0.0023,-0.0011,-0.0028,-0.0020,-0.0014,-0.0023,-0.0021,-0.0053,0.0006,-0.0010,-0.0049,-0.0017,-0.0011,-0.0040,-0.0037,0.0002,-0.0045,0.0027,-0.0026,-0.0042,0.0029,-0.0028,-0.0043,0.0013,-0.0033,-0.0035,-0.0022,-0.0037,-0.0028,-0.0020,-0.0042,-0.0024,-0.0025,-0.0040,0.0042,0.0040,-0.0006,0.0046,-0.0017,0.0029,0.0047,-0.0016,0.0021,0.0049,-0.0001,0.0023,0.0054,0.0018,0.0018,0.0049,0.0035,0.0016,0.0049,0.0034,0.0021,0.0038,-0.0023,-0.0010,-0.0017,-0.0025,0.0029,-0.0016,-0.0005,0.0031,-0.0033,-0.0008,0.0024,0.0006,-0.0027,0.0035,-0.0002,-0.0027,0.0031,-0.0007,-0.0029,0.0030,0.0029,-0.0032,0.0041,0.0020,-0.0032,0.0038,0.0026,-0.0033,0.0038,0.0027,-0.0025,-0.0001,0.0032,-0.0040,0.0030,0.0023,-0.0033,0.0031,0.0010,-0.0028,0.0028,0.0034,-0.0033,0.0038,0.0029,-0.0029,0.0041,0.0037,-0.0029,-0.0003,0.0038,-0.0024,-0.0000,0.0040,-0.0028,0.0004,0.0033,-0.0028,-0.0025,0.0037,-0.0028,-0.0017,0.0026,-0.0036,0.0031,0.0023,-0.0034,0.0012,0.0017,-0.0025,0.0008,0.0025,-0.0029,0.0009,0.0008,-0.0019,0.0004,0.0041,-0.0037,0.0017,0.0035,-0.0041,0.0014,0.0037,-0.0037,0.0008,0.0012,-0.0016,-0.0009,0.0008,-0.0020,-0.0016,0.0031,-0.0034,0.0007,0.0027,-0.0029,0.0006,0.0045,-0.0032,0.0020,0.0045,-0.0027,0.0014,0.0049,-0.0015,0.0014,0.0046,-0.0011,0.0007,0.0038,-0.0022,-0.0017,0.0041,-0.0008,-0.0015,0.0021,-0.0024,-0.0028,0.0028,-0.0022,-0.0032,-0.0022,-0.0027,-0.0039,0.0032,-0.0021,-0.0030,-0.0021,-0.0038,-0.0018,-0.0008,-0.0032,-0.0017,-0.0021,-0.0041,-0.0015,-0.0022,-0.0044,-0.0013,-0.0020,-0.0026,-0.0037,-0.0025,-0.0033,-0.0027,-0.0049,0.0023,-0.0018,-0.0051,0.0020,-0.0009,0.0006,-0.0022,0.0009,-0.0009,-0.0032,0.0017,-0.0035,-0.0041,-0.0000,-0.0027,-0.0036,-0.0022,-0.0033,-0.0031,-0.0025,-0.0037,-0.0027,-0.0022,0.0049,0.0039,0.0014,0.0037,-0.0023,-0.0003,0.0035,-0.0030,-0.0003,0.0035,-0.0028,-0.0003,-0.0025,-0.0039,-0.0018,-0.0028,-0.0038,-0.0018,-0.0038,-0.0029,-0.0020,0.0001,-0.0027,0.0023,-0.0051,0.0007,-0.0018,-0.0044,-0.0014,-0.0023,0.0050,0.0024,0.0006,0.0033,-0.0032,0.0002,0.0034,-0.0036,0.0007,0.0031,-0.0035,-0.0020,0.0041,-0.0032,0.0011,0.0043,-0.0018,0.0033,0.0032,-0.0035,0.0037,0.0015,-0.0029,0.0038,0.0022,-0.0028,0.0042,0.0003,0.0014,0.0035,0.0001,-0.0003,0.0036,0.0038,0.0039,-0.0010,-0.0030,0.0000,-0.0040,-0.0049,-0.0016,0.0001,-0.0029,-0.0040,-0.0016,0.0001,-0.0025,-0.0003,0.0004,-0.0015,-0.0020,-0.0049,0.0002,0.0011,0.0007,-0.0015,-0.0037,0.0043,0.0011,-0.0013,0.0026,-0.0001,0.0041,0.0014,-0.0026,0.0038,0.0023,-0.0026,0.0042,0.0029,-0.0032,-0.0026,0.0049,0.0036,0.0007,-0.0015,0.0002,-0.0040,0.0035,-0.0029,-0.0005,0.0044,0.0042,0.0002,0.0041,0.0045,-0.0005,0.0045,0.0038,-0.0000,0.0013,0.0036,-0.0023,0.0013,0.0040,-0.0022,0.0046,0.0031,0.0026,0.0040,0.0033,0.0030,0.0042,0.0029,0.0030,0.0044,0.0035,0.0026,0.0005,0.0028,0.0032,0.0017,0.0026,0.0035,0.0017,0.0030,0.0033,0.0005,0.0024,0.0033,-0.0042,0.0033,-0.0026,-0.0030,0.0031,-0.0033,-0.0031,0.0035,-0.0032,-0.0050,0.0025,-0.0009,-0.0049,0.0027,-0.0017,-0.0018,0.0023,0.0028,-0.0038,0.0025,0.0020,-0.0038,0.0021,0.0020,-0.0018,0.0027,0.0028,-0.0041,-0.0021,-0.0023,-0.0032,-0.0030,-0.0030,-0.0028,-0.0030,-0.0037,0.0013,0.0023,-0.0028,0.0003,0.0022,-0.0030,-0.0030,-0.0028,-0.0037,0.0035,-0.0033,0.0003,0.0031,-0.0021,0.0041,0.0037,-0.0029,-0.0010,0.0028,-0.0036,0.0036,0.0039,-0.0036,0.0033,0.0044,-0.0035,0.0026,0.0025,0.0014,0.0038,0.0033,-0.0001,0.0038,0.0034,0.0016,0.0036,-0.0001,-0.0017,0.0033,-0.0016,0.0012,0.0031,-0.0044,-0.0013,0.0012,0.0025,-0.0012,-0.0033,0.0022,0.0024,-0.0026,0.0024,0.0036,-0.0021,-0.0016,0.0018,-0.0034,-0.0031,0.0016,-0.0037,-0.0017,0.0033,-0.0030,-0.0035,-0.0036,-0.0017,-0.0027,-0.0033,-0.0028,-0.0007,0.0035,-0.0027,-0.0007,0.0020,-0.0032,0.0016,-0.0011,-0.0035,0.0034,0.0037,-0.0016,0.0041,0.0017,0.0032,0.0039,-0.0001,0.0037,-0.0038,0.0007,0.0021,0.0038,-0.0019,0.0037,0.0015,0.0014,0.0037,0.0007,0.0006,-0.0034,0.0016,0.0007,-0.0033,-0.0036,-0.0040,-0.0010,-0.0040,-0.0036,-0.0009,-0.0051,0.0025,-0.0000,-0.0045,0.0031,-0.0025,-0.0007,0.0039,-0.0026,0.0034,0.0028,0.0033,0.0033,0.0032,0.0033,0.0023,0.0040,-0.0020,0.0037,0.0043,-0.0010,0.0046,0.0040,0.0007,0.0033,0.0041,-0.0016,0.0047,0.0038,0.0023,0.0026,0.0026,0.0038,0.0026,0.0031,0.0037,-0.0017,0.0037,-0.0030,-0.0047,0.0026,-0.0023,-0.0047,0.0029,-0.0021,-0.0049,0.0024,0.0011,0.0047,0.0026,-0.0001,0.0024,0.0007,-0.0032,0.0047,0.0040,0.0007});
			return tooth_molar_16_28_cap_coordinate_6_28_point;
		}
		/** Large attribute array: IndexedFaceSet DEF='tooth_molar_16_28_root_geometry' coordIndex field, scene-graph level=5, element #34, 4336 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFInt32 gettooth_molar_16_28_root_geometry_5_34_coordIndex()
		{
			MFInt32 tooth_molar_16_28_root_geometry_5_34_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(gettooth_molar_16_28_root_geometry_5_34_coordIndex_1()))
				.append(new MFInt32(gettooth_molar_16_28_root_geometry_5_34_coordIndex_2()))
				.append(new MFInt32(gettooth_molar_16_28_root_geometry_5_34_coordIndex_3()))
				.append(new MFInt32(gettooth_molar_16_28_root_geometry_5_34_coordIndex_4()))
				.append(new MFInt32(gettooth_molar_16_28_root_geometry_5_34_coordIndex_5()));
			return tooth_molar_16_28_root_geometry_5_34_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='tooth_molar_16_28_root_coordinate' point field, scene-graph level=6, element #34, 1677 total numbers made up of 559 3-tuple values.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFVec3f gettooth_molar_16_28_root_coordinate_6_34_point()
		{
			MFVec3f tooth_molar_16_28_root_coordinate_6_34_point = new MFVec3f(new double[] {0.0007,0.0042,0.0007,0.0006,0.0046,0.0007,0.0002,0.0046,0.0006,0.0007,0.0045,0.0008,0.0005,0.0051,0.0009,0.0012,0.0046,0.0009,-0.0011,0.0037,0.0003,-0.0014,0.0037,0.0005,-0.0014,0.0029,0.0004,-0.0009,0.0045,0.0003,-0.0009,0.0052,0.0003,-0.0011,0.0045,0.0004,-0.0009,0.0046,0.0001,-0.0010,0.0037,0.0000,-0.0010,0.0046,-0.0001,-0.0010,0.0009,-0.0007,-0.0007,-0.0003,-0.0010,-0.0012,0.0008,-0.0011,-0.0004,-0.0016,-0.0016,0.0004,-0.0029,-0.0029,-0.0004,-0.0016,-0.0023,0.0002,-0.0027,-0.0022,0.0002,-0.0015,-0.0024,0.0005,-0.0029,-0.0030,-0.0000,0.0036,-0.0010,-0.0001,0.0042,-0.0005,0.0004,0.0036,-0.0012,0.0001,0.0049,0.0006,-0.0001,0.0049,0.0005,0.0032,0.0014,0.0011,0.0025,0.0024,0.0012,0.0033,0.0014,0.0013,0.0020,0.0032,0.0011,0.0016,0.0040,0.0011,0.0022,0.0033,0.0013,-0.0014,0.0029,-0.0007,-0.0012,0.0038,-0.0004,-0.0014,0.0029,-0.0005,-0.0013,0.0008,-0.0013,-0.0015,0.0019,-0.0010,-0.0000,0.0046,-0.0004,0.0003,0.0047,-0.0004,0.0004,0.0043,-0.0008,-0.0011,0.0054,0.0004,-0.0011,0.0054,0.0002,-0.0012,0.0055,0.0002,-0.0009,0.0051,0.0005,-0.0010,0.0053,0.0005,-0.0002,0.0049,0.0002,-0.0002,0.0049,0.0004,0.0001,0.0050,0.0004,0.0007,-0.0030,-0.0031,-0.0011,0.0052,0.0009,-0.0004,0.0053,0.0012,-0.0003,0.0051,0.0009,-0.0025,0.0051,0.0003,-0.0024,0.0051,0.0005,-0.0020,0.0055,0.0004,-0.0023,0.0052,-0.0002,-0.0021,0.0055,0.0000,-0.0020,0.0055,-0.0001,-0.0018,0.0051,-0.0003,-0.0018,0.0055,-0.0001,-0.0016,0.0054,-0.0002,0.0012,0.0049,0.0020,0.0006,0.0054,0.0015,0.0004,0.0054,0.0017,0.0009,0.0049,0.0021,-0.0033,0.0044,0.0001,-0.0034,0.0044,0.0003,-0.0032,0.0044,-0.0002,-0.0032,0.0044,0.0000,-0.0025,0.0052,0.0000,-0.0029,0.0044,-0.0004,-0.0030,0.0044,-0.0003,-0.0019,0.0045,-0.0006,-0.0023,0.0044,-0.0005,0.0020,0.0045,0.0000,0.0020,0.0045,-0.0003,0.0016,0.0049,0.0001,0.0018,0.0045,0.0004,0.0020,0.0045,0.0002,0.0016,0.0049,0.0004,0.0025,0.0039,-0.0001,-0.0017,0.0037,-0.0006,-0.0014,0.0045,-0.0004,-0.0023,0.0037,-0.0007,-0.0019,0.0039,0.0019,-0.0015,0.0046,0.0014,-0.0025,0.0046,0.0012,0.0022,0.0035,0.0027,0.0023,0.0035,0.0024,0.0019,0.0042,0.0020,-0.0001,0.0030,-0.0002,0.0002,0.0037,0.0002,-0.0001,0.0037,0.0000,0.0030,0.0033,-0.0009,0.0025,0.0040,-0.0008,0.0025,0.0040,-0.0005,0.0035,0.0025,-0.0007,0.0035,0.0025,-0.0011,-0.0043,0.0028,0.0010,-0.0044,0.0029,0.0004,-0.0049,0.0017,0.0005,-0.0044,0.0018,-0.0012,-0.0042,0.0029,-0.0005,-0.0040,0.0029,-0.0008,-0.0020,0.0019,-0.0012,-0.0029,0.0018,-0.0014,-0.0026,0.0029,-0.0010,0.0030,0.0025,0.0025,0.0029,0.0025,0.0020,0.0023,0.0034,0.0019,0.0037,0.0015,-0.0006,0.0038,0.0015,-0.0009,0.0040,0.0002,-0.0012,0.0040,0.0001,-0.0017,0.0039,-0.0012,-0.0006,0.0039,-0.0013,-0.0012,-0.0004,-0.0029,-0.0005,-0.0007,-0.0016,-0.0001,0.0006,-0.0028,0.0003,-0.0035,-0.0019,0.0014,-0.0036,-0.0035,0.0012,-0.0012,-0.0032,0.0020,-0.0045,-0.0035,-0.0026,-0.0042,-0.0035,-0.0030,-0.0042,-0.0049,-0.0032,0.0045,-0.0026,0.0016,0.0047,-0.0045,0.0019,0.0050,-0.0042,0.0015,0.0038,-0.0027,-0.0020,0.0040,-0.0037,-0.0018,0.0036,-0.0039,-0.0024,0.0044,-0.0035,-0.0013,-0.0005,-0.0031,-0.0032,0.0004,-0.0030,-0.0031,0.0006,-0.0041,-0.0031,-0.0039,-0.0035,-0.0033,-0.0046,-0.0053,-0.0025,-0.0046,-0.0036,-0.0020,0.0020,-0.0050,0.0026,0.0029,-0.0049,0.0029,0.0029,-0.0028,0.0028,0.0042,-0.0026,-0.0010,-0.0045,-0.0036,0.0004,-0.0030,-0.0018,-0.0031,-0.0042,-0.0020,-0.0027,-0.0042,-0.0006,-0.0022,0.0036,-0.0014,-0.0023,0.0035,-0.0014,-0.0027,0.0036,0.0001,-0.0026,0.0035,0.0014,0.0024,-0.0045,0.0007,-0.0014,-0.0046,0.0017,-0.0008,0.0029,0.0025,0.0030,-0.0003,0.0020,0.0011,-0.0013,0.0029,0.0005,-0.0004,0.0029,0.0010,-0.0042,0.0018,-0.0014,-0.0037,0.0029,-0.0009,0.0011,0.0023,-0.0022,0.0010,0.0029,-0.0016,0.0015,0.0031,-0.0018,0.0033,0.0025,-0.0003,0.0030,0.0033,-0.0004,0.0029,0.0033,-0.0012,0.0028,0.0033,-0.0016,0.0023,0.0040,-0.0010,0.0018,0.0042,0.0017,-0.0012,0.0029,0.0001,-0.0012,0.0029,-0.0002,-0.0034,0.0036,-0.0007,-0.0037,0.0036,-0.0005,-0.0040,0.0036,0.0008,-0.0028,0.0037,0.0014,-0.0006,0.0038,0.0022,-0.0005,0.0047,0.0019,-0.0028,0.0037,-0.0008,0.0008,0.0044,-0.0007,0.0011,0.0038,-0.0013,0.0007,0.0036,-0.0011,0.0022,0.0039,0.0002,-0.0015,0.0051,-0.0003,-0.0012,0.0052,-0.0002,-0.0024,0.0052,-0.0001,-0.0025,0.0051,0.0001,-0.0032,0.0043,0.0007,-0.0000,0.0053,0.0017,-0.0004,0.0052,0.0015,-0.0018,0.0056,0.0001,-0.0018,0.0056,0.0001,-0.0019,0.0056,0.0002,-0.0010,0.0052,-0.0001,-0.0012,0.0054,-0.0001,-0.0020,0.0053,0.0008,0.0004,0.0050,0.0005,0.0006,0.0050,0.0006,0.0002,0.0050,0.0005,0.0011,0.0049,0.0007,0.0008,0.0049,0.0007,0.0010,0.0046,0.0007,0.0013,0.0050,0.0003,0.0009,0.0051,0.0004,0.0009,0.0051,0.0004,0.0010,0.0048,-0.0003,0.0004,0.0050,0.0001,0.0008,0.0050,0.0001,-0.0001,-0.0015,-0.0017,-0.0004,-0.0029,-0.0008,-0.0001,-0.0016,-0.0009,0.0002,0.0050,0.0003,0.0002,0.0050,0.0003,0.0001,0.0050,0.0001,0.0005,0.0053,0.0010,0.0007,0.0053,0.0010,-0.0014,0.0053,0.0009,-0.0013,0.0052,0.0010,-0.0006,0.0046,0.0008,-0.0004,0.0044,0.0009,-0.0006,0.0043,0.0008,0.0009,0.0022,-0.0021,0.0007,0.0029,-0.0017,0.0002,0.0042,-0.0007,-0.0001,0.0049,0.0001,-0.0002,0.0053,0.0014,-0.0011,0.0054,0.0001,-0.0011,0.0054,0.0000,-0.0013,0.0055,0.0001,-0.0021,0.0055,0.0001,-0.0019,0.0056,0.0002,0.0027,0.0024,0.0014,0.0040,-0.0011,0.0004,0.0042,-0.0011,0.0006,0.0046,-0.0026,-0.0001,-0.0001,0.0046,0.0005,-0.0000,0.0042,0.0004,-0.0000,-0.0027,-0.0022,-0.0008,-0.0004,-0.0016,-0.0007,-0.0003,-0.0004,-0.0005,-0.0016,-0.0009,-0.0003,-0.0027,-0.0015,-0.0011,0.0038,-0.0003,-0.0009,0.0052,0.0000,-0.0012,0.0019,0.0003,-0.0001,0.0050,0.0009,0.0002,0.0045,0.0008,0.0029,-0.0013,-0.0001,0.0032,-0.0026,0.0000,0.0043,-0.0025,-0.0002,0.0004,0.0049,0.0006,0.0038,-0.0012,-0.0004,-0.0011,0.0020,-0.0001,-0.0009,0.0009,-0.0002,0.0002,0.0029,-0.0014,0.0002,0.0042,0.0005,0.0044,-0.0025,-0.0001,-0.0021,0.0055,0.0002,-0.0013,0.0055,0.0001,-0.0001,0.0052,0.0010,-0.0013,0.0020,-0.0009,-0.0014,0.0054,0.0006,-0.0012,0.0054,0.0005,-0.0014,0.0055,0.0004,-0.0012,0.0053,0.0007,0.0003,0.0050,0.0005,-0.0001,-0.0027,-0.0015,0.0006,0.0047,-0.0004,0.0012,0.0050,0.0002,0.0012,0.0048,0.0007,-0.0002,0.0046,-0.0001,-0.0002,0.0046,0.0002,-0.0017,0.0054,0.0006,-0.0000,0.0048,0.0021,0.0027,0.0032,0.0000,0.0017,0.0023,-0.0022,-0.0011,0.0019,0.0005,0.0037,0.0015,-0.0014,-0.0047,0.0007,-0.0011,0.0035,0.0014,0.0019,0.0038,0.0001,-0.0022,-0.0033,-0.0005,-0.0023,-0.0046,-0.0020,0.0007,0.0045,-0.0026,-0.0003,0.0019,-0.0029,0.0027,-0.0044,-0.0051,-0.0029,-0.0039,-0.0047,-0.0034,-0.0004,-0.0041,-0.0034,0.0040,-0.0027,-0.0016,0.0036,-0.0028,-0.0025,0.0047,-0.0026,0.0011,-0.0014,-0.0018,0.0024,0.0004,-0.0015,0.0005,0.0039,0.0002,-0.0007,-0.0020,0.0029,-0.0009,-0.0045,0.0017,0.0013,0.0004,0.0030,0.0001,0.0018,0.0042,0.0022,0.0015,0.0048,0.0006,0.0016,0.0049,0.0003,-0.0022,0.0051,-0.0002,-0.0022,0.0055,0.0003,-0.0009,0.0053,0.0006,-0.0011,0.0044,0.0006,-0.0010,0.0046,0.0006,0.0017,0.0041,0.0012,-0.0001,0.0046,-0.0003,0.0008,-0.0016,-0.0030,0.0016,0.0044,0.0005,0.0015,0.0037,0.0005,0.0020,0.0038,0.0003,0.0012,0.0042,0.0007,0.0010,0.0037,0.0005,0.0007,0.0030,0.0001,0.0013,0.0030,0.0003,0.0004,0.0037,0.0003,0.0028,0.0014,-0.0001,0.0022,0.0002,0.0000,0.0030,0.0002,-0.0002,0.0020,0.0013,0.0000,0.0032,-0.0026,0.0000,0.0029,-0.0012,0.0004,0.0003,0.0037,0.0009,-0.0004,0.0037,0.0010,0.0022,0.0012,0.0010,0.0016,0.0022,0.0011,0.0014,0.0050,0.0005,0.0014,0.0050,0.0004,-0.0011,0.0020,-0.0005,-0.0001,0.0029,-0.0009,-0.0002,0.0037,-0.0006,0.0002,0.0000,-0.0017,0.0005,0.0000,-0.0023,0.0004,0.0022,-0.0017,0.0006,-0.0041,-0.0031,0.0002,-0.0002,0.0009,0.0002,0.0010,0.0012,0.0004,-0.0002,0.0010,-0.0000,0.0010,0.0011,-0.0007,0.0037,0.0009,0.0009,-0.0027,0.0002,0.0008,-0.0014,0.0000,0.0007,-0.0028,0.0002,0.0011,-0.0014,0.0001,0.0031,0.0025,-0.0002,0.0025,0.0032,0.0001,0.0038,0.0003,0.0011,0.0037,0.0002,0.0008,-0.0011,0.0009,0.0002,-0.0010,0.0009,0.0005,-0.0019,0.0056,0.0002,-0.0016,0.0056,0.0000,-0.0014,0.0054,-0.0001,-0.0014,0.0055,0.0001,-0.0018,0.0056,0.0000,0.0005,0.0053,0.0011,0.0007,0.0053,0.0013,0.0007,0.0053,0.0012,0.0005,0.0054,0.0012,0.0003,0.0054,0.0015,0.0002,0.0053,0.0017,0.0002,0.0054,0.0015,-0.0004,0.0050,0.0008,-0.0010,0.0046,-0.0003,-0.0004,-0.0029,-0.0006,-0.0001,-0.0015,-0.0007,-0.0000,0.0022,-0.0005,-0.0001,0.0030,-0.0003,-0.0000,0.0022,-0.0003,-0.0002,0.0046,0.0003,0.0013,0.0013,-0.0026,0.0011,0.0013,-0.0025,0.0009,-0.0027,0.0003,0.0014,0.0049,0.0000,0.0012,0.0049,0.0006,0.0009,0.0050,0.0005,0.0009,0.0050,0.0006,0.0014,0.0049,0.0014,0.0013,0.0048,0.0010,-0.0002,0.0042,0.0002,0.0014,0.0045,-0.0007,0.0018,0.0045,-0.0005,-0.0002,0.0042,0.0000,-0.0002,0.0042,-0.0003,-0.0002,0.0037,-0.0002,0.0009,0.0038,0.0009,0.0017,0.0042,0.0025,0.0013,0.0049,0.0018,0.0002,0.0040,0.0026,-0.0040,0.0036,-0.0001,-0.0040,0.0036,0.0001,-0.0039,0.0036,-0.0004,-0.0043,0.0029,-0.0003,-0.0031,0.0029,-0.0011,-0.0013,0.0037,0.0006,0.0017,0.0034,0.0032,0.0020,0.0034,0.0030,0.0013,0.0042,0.0026,-0.0020,0.0031,0.0024,-0.0005,0.0030,0.0028,-0.0044,0.0029,0.0000,-0.0041,0.0037,0.0004,0.0022,0.0032,-0.0018,0.0018,0.0039,-0.0013,0.0024,0.0023,0.0001,0.0020,0.0030,0.0003,0.0026,0.0024,-0.0022,-0.0048,0.0017,-0.0003,-0.0049,0.0017,0.0000,0.0026,0.0025,0.0034,0.0004,0.0032,0.0032,-0.0003,0.0020,0.0031,0.0007,0.0022,0.0036,0.0027,0.0014,-0.0026,0.0032,0.0025,-0.0019,0.0034,0.0014,-0.0023,0.0007,0.0023,0.0000,0.0002,0.0012,-0.0005,0.0010,0.0013,-0.0001,-0.0017,0.0008,0.0029,-0.0000,0.0009,0.0033,-0.0019,0.0019,0.0028,-0.0049,0.0006,-0.0003,-0.0050,0.0006,0.0003,-0.0043,0.0007,-0.0016,-0.0019,0.0008,-0.0014,0.0028,0.0013,0.0036,0.0032,0.0014,0.0033,0.0022,0.0024,0.0036,0.0001,0.0012,-0.0007,0.0002,0.0012,-0.0014,0.0001,0.0000,-0.0010,0.0036,0.0015,-0.0019,0.0024,0.0000,0.0038,0.0032,0.0001,0.0035,0.0021,0.0012,0.0039,-0.0035,-0.0006,0.0018,-0.0016,-0.0005,0.0028,-0.0036,0.0007,0.0020,-0.0048,-0.0006,-0.0011,-0.0049,-0.0006,-0.0006,-0.0048,0.0006,-0.0007,-0.0034,0.0007,-0.0018,-0.0010,-0.0003,0.0002,0.0040,0.0002,0.0017,0.0040,0.0002,0.0022,0.0002,0.0000,-0.0008,0.0010,0.0001,-0.0001,0.0028,0.0000,-0.0030,0.0027,-0.0015,-0.0031,0.0042,-0.0011,0.0022,0.0043,-0.0011,0.0017,0.0039,0.0002,0.0027,0.0016,-0.0015,0.0032,0.0026,-0.0013,0.0033,0.0014,-0.0002,0.0038,-0.0047,-0.0006,0.0011,-0.0047,-0.0020,-0.0021,-0.0049,-0.0020,-0.0015,-0.0047,-0.0006,-0.0016,-0.0027,-0.0005,-0.0022,-0.0022,-0.0017,-0.0028,-0.0008,-0.0003,0.0004,0.0020,-0.0027,0.0002,0.0018,-0.0014,0.0004,-0.0049,-0.0036,-0.0007,-0.0051,-0.0021,-0.0004,-0.0045,-0.0020,-0.0024,-0.0011,-0.0016,-0.0025,-0.0015,-0.0032,-0.0035,0.0047,-0.0026,0.0005,0.0043,-0.0011,0.0012,0.0039,-0.0011,0.0026,0.0037,-0.0027,0.0025,0.0043,-0.0027,0.0021,0.0034,-0.0012,0.0029,0.0051,-0.0041,0.0007,0.0051,-0.0042,0.0001,0.0051,-0.0043,0.0005,0.0036,-0.0048,0.0026,-0.0015,-0.0053,0.0020,-0.0035,-0.0055,0.0012,0.0026,-0.0029,-0.0031,0.0026,-0.0040,-0.0028,-0.0048,-0.0055,-0.0008,-0.0048,-0.0036,-0.0015,-0.0047,-0.0055,-0.0017,-0.0027,-0.0033,-0.0038,-0.0014,-0.0043,-0.0037,-0.0028,-0.0045,-0.0039,0.0047,-0.0038,-0.0006,0.0049,-0.0040,-0.0001,0.0006,-0.0031,0.0025,0.0008,-0.0052,0.0024,0.0016,-0.0040,-0.0030,0.0016,-0.0030,-0.0031,0.0004,-0.0017,0.0029,-0.0000,0.0053,0.0015,0.0004,0.0054,0.0014,0.0004,0.0054,0.0013,-0.0008,-0.0016,-0.0003,-0.0045,-0.0006,-0.0019,-0.0050,-0.0007,0.0001,0.0002,-0.0004,0.0033,0.0037,0.0002,0.0032,0.0019,0.0000,-0.0030,0.0017,-0.0016,-0.0032,0.0020,-0.0013,0.0001,0.0013,0.0001,-0.0001,0.0035,0.0014,0.0028,-0.0028,0.0007,-0.0016,-0.0047,0.0007,0.0013,0.0011,0.0011,0.0037,-0.0035,0.0018,-0.0015,0.0019,0.0013,-0.0027,0.0017,0.0023,0.0002,-0.0034,0.0018,0.0019,-0.0032,0.0029,0.0017,0.0011,0.0033,0.0033,0.0016,0.0023,0.0038,0.0008,0.0041,0.0027,0.0006,0.0030,0.0010,0.0013,0.0031,0.0010,0.0005,0.0049,0.0022,0.0014,0.0049,0.0016,0.0006,0.0053,0.0014,0.0007,0.0051,0.0003,0.0004,0.0051,0.0003,0.0010,0.0050,0.0005,0.0010,-0.0016,-0.0032,-0.0005,-0.0016,-0.0025,-0.0019,0.0056,0.0003,0.0038,0.0002,-0.0005,0.0036,0.0015,-0.0004,0.0009,0.0023,0.0001,-0.0001,0.0020,0.0012,-0.0005,-0.0029,-0.0008,0.0050,-0.0040,-0.0001,0.0005,0.0012,-0.0020,0.0008,0.0021,0.0011,0.0012,0.0011,0.0010,0.0007,-0.0015,0.0006,0.0021,-0.0027,0.0001,0.0015,0.0000,0.0008,0.0026,0.0001,0.0008,-0.0002,0.0029,0.0010,0.0008,0.0050,0.0006,0.0001,0.0022,-0.0012,0.0010,-0.0001,-0.0028,0.0012,0.0013,0.0000,-0.0015,0.0055,0.0004,-0.0009,-0.0003,-0.0018,0.0012,-0.0001,-0.0029,0.0034,0.0025,-0.0016,-0.0017,-0.0004,-0.0019,0.0038,-0.0013,-0.0018,-0.0050,-0.0020,-0.0010,-0.0046,-0.0056,0.0003,0.0043,-0.0047,0.0022});
			return tooth_molar_16_28_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_16_28 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_16_28().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_16_28\" 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_16_28 self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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