package HumanoidAnimation.Skeleton;

import org.web3d.x3d.jsail.Core.*;
import org.web3d.x3d.jsail.fields.*;
import org.web3d.x3d.jsail.Geometry3D.*;
import org.web3d.x3d.jsail.Grouping.*;
import org.web3d.x3d.jsail.PointingDeviceSensor.*;
import org.web3d.x3d.jsail.Rendering.*;
import org.web3d.x3d.jsail.Shape.*;

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * <p> bone in finger. </p>
 <p> Related links:  source l_metacarpal_3.java, <a href="https://www.web3d.org/x3d/content/examples/X3dResources.html" target="_blank">X3D Resources</a>, <a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html" target="_blank">X3D Scene Authoring Hints</a>, and <a href="https://www.web3d.org/x3d/content/X3dTooltips.html" target="_blank">X3D Tooltips</a>. </p>
	<table style="color:black; border:0px solid; border-spacing:10px 0px;">
        <caption>Scene Meta Information</caption>
		<tr style="background-color:silver; border-color:silver;">
			<td style="text-align:center; padding:10px 0px;"><i>meta tags</i></td>
			<td style="text-align:left;   padding:10px 0px;">HumanoidAnimation.Skeleton.l_metacarpal_3&nbsp; Document Metadata </td>
		</tr>

		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> title </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/l_metacarpal_3.x3d">l_metacarpal_3.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> bone in finger </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> creator </i> </td>
			<td> Joe Williams, John Carlson, Damon Hernandez, Don Brutzman </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> translator </i> </td>
			<td> Don Brutzman </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> created </i> </td>
			<td> 5 December 2013 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> translated </i> </td>
			<td> 5 March 2026 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> modified </i> </td>
			<td> 8 March 2026 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/originals/lmc3.x3d">originals/lmc3.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/Carpal_bones" target="_blank">https://en.wikipedia.org/wiki/Carpal_bones</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> <a href="https://www.web3d.org/x3d/content/examples/Basic/Medical" target="_blank">https://www.web3d.org/x3d/content/examples/Basic/Medical</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Medical" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Medical</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> X3D-Edit 4.0, <a href="https://www.web3d.org/x3d/tools/X3D-Edit" target="_blank">https://www.web3d.org/x3d/tools/X3D-Edit</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> X3D Tidy, <a href="https://www.web3d.org/x3d/stylesheets/X3dTidy.html" target="_blank">https://www.web3d.org/x3d/stylesheets/X3dTidy.html</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> identifier </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/l_metacarpal_3.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/l_metacarpal_3.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> license </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/../license.html">../license.html</a> </td>
		</tr>
		<tr style="background-color:silver; border-color:silver;">
			<td style="text-align:center;" colspan="2">  &nbsp; </td>
		</tr>
	</table>

	<p>
		This program uses the
		<a href="https://www.web3d.org/specifications/java/X3DJSAIL.html" target="_blank">X3D Java Scene Access Interface Library (X3DJSAIL)</a>.
		It has been produced using the 
		<a href="https://www.web3d.org/x3d/stylesheets/X3dToJava.xslt" target="_blank">X3dToJava.xslt</a>
		stylesheet
	       (<a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/X3dToJava.xslt" target="_blank">version control</a>)
                which is used to create Java source code from an original <code>.x3d</code> model.
	</p>

	* @author Joe Williams, John Carlson, Damon Hernandez, Don Brutzman
 */

public class l_metacarpal_3
{
	/** Default constructor to create this object. */
	public l_metacarpal_3 ()
	{
	  initialize();
	}

	/** Create and initialize the X3D model for this object. */
	public final void initialize()
	{
            try { // catch-all
  x3dModel = new X3D().setProfile(X3D.PROFILE_INTERACTIVE).setVersion(X3D.VERSION_3_3)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("l_metacarpal_3.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("bone in finger"))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Joe Williams, John Carlson, Damon Hernandez, Don Brutzman"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATOR ).setContent("Don Brutzman"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("5 December 2013"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATED ).setContent("5 March 2026"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("8 March 2026"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("originals/lmc3.x3d"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://en.wikipedia.org/wiki/Carpal_bones"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://en.wikipedia.org/wiki/List_of_bones_of_the_human_skeleton"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://www.web3d.org/x3d/content/examples/Basic/Medical"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Medical"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("X3D Tidy, https://www.web3d.org/x3d/stylesheets/X3dTidy.html"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/l_metacarpal_3.x3d"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../license.html")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setTitle("l_metacarpal_3.x3d"))
    .addChild(new TouchSensor().setDescription("bone l_metacarpal_3"))
    .addChild(new Transform("l_metacarpal_3")
      .addChild(new Shape()
        .setAppearance(new Appearance()
          .setMaterial(new Material("BoneMaterial").setAmbientIntensity(0.965).setDiffuseColor(1.0,0.9765,0.8667).setShininess(0.05).setSpecularColor(0.349,0.349,0.349)))
        .setGeometry(new IndexedFaceSet("l_metacarpal_3_geometry").setDEF("l_metacarpal_3_geometry").setCreaseAngle(1.571).setCoordIndex(getl_metacarpal_3_geometry_5_22_coordIndex())
          .setCoord(new Coordinate("l_metacarpal_3_coordinate").setPoint(getl_metacarpal_3_coordinate_6_22_point()))))));
            }
            catch (Exception ex)
            {       
                System.err.println ("*** Further hints on X3DJSAIL errors and exceptions at");
                System.err.println ("*** https://www.web3d.org/specifications/java/X3DJSAIL.html");
                throw (ex);
            }
	}
	// end of initialize() method


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

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=2 */
		private int[] getl_metacarpal_3_geometry_5_22_coordIndex_2()
		{
			int[] value = {41,347,40,-1,210,348,190,-1,349,350,351,-1,351,34,349,-1,352,353,160,-1,160,354,352,-1,225,46,185,-1,185,184,225,-1,355,27,29,-1,203,200,175,-1,201,198,175,-1,199,196,175,-1,197,173,175,-1,174,192,175,-1,195,193,175,-1,194,202,175,-1,356,226,343,-1,188,348,357,-1,188,190,348,-1,357,15,358,-1,357,348,15,-1,164,215,165,-1,359,360,321,-1,321,327,359,-1,282,281,125,-1,361,68,167,-1,13,183,11,-1,159,154,344,-1,362,154,158,-1,155,154,156,-1,344,154,153,-1,186,230,235,-1,235,363,186,-1,364,234,146,-1,129,108,137,-1,129,110,108,-1,136,135,365,-1,128,314,126,-1,128,366,314,-1,367,368,123,-1,368,88,123,-1,114,113,369,-1,369,322,114,-1,72,269,0,-1,170,279,370,-1,279,371,370,-1,372,325,109,-1,109,107,372,-1,325,372,297,-1,297,323,325,-1,100,105,103,-1,100,104,102,-1,100,98,99,-1,96,98,102,-1,102,373,96,-1,298,101,99,-1,99,97,298,-1,298,105,101,-1,298,374,105,-1,375,376,377,-1,377,253,375,-1,256,20,378,-1,20,19,378,-1,255,309,379,-1,309,380,379,-1,90,381,323,-1,264,91,90,-1,86,55,85,-1,382,277,274,-1,382,383,277,-1,81,383,382,-1,81,384,383,-1,384,385,386,-1,386,76,78,-1,271,273,387,-1,170,370,388,-1,290,120,127,-1,83,80,73,-1,83,385,80,-1,78,383,386,-1,383,384,386,-1,77,389,78,-1,311,138,331,-1,311,56,138,-1,69,311,62,-1,71,135,70,-1,331,60,311,-1,60,62,311,-1,65,167,68,-1,69,62,61,-1,390,140,86,-1,139,53,55,-1,362,157,154,-1,391,246,41,-1,36,37,203,-1,392,393,394,-1,393,395,394,-1,396,232,397,-1,396,341,232,-1,393,398,395,-1,217,183,163,-1,24,23,163,-1,23,216,163,-1,399,256,400,-1,399,257,256,-1,401,7,6,-1,402,248,247,-1,403,244,243,-1,401,6,12,-1,6,5,12,-1,89,404,328,-1,8,10,272,-1,317,319,74,-1,74,79,317,-1,319,75,74,-1,405,406,407,-1,407,319,318,-1,407,406,319,-1,268,408,333,-1,268,270,408,-1,75,406,409,-1,75,319,406,-1,324,381,369,-1,324,323,381,-1,112,410,113,-1,411,410,112,-1,412,413,405,-1,412,414,413,-1,405,409,406,-1,409,405,413,-1,92,328,327,-1,89,328,92,-1,404,91,415,-1,404,89,91,-1,326,404,416,-1,326,328,404,-1,244,417,418,-1,417,244,403,-1,7,402,3,-1,250,402,7,-1,13,5,163,-1,12,5,13,-1,419,117,420,-1,117,419,421,-1,417,249,418,-1,417,252,249,-1,247,3,402,-1,247,4,3,-1,252,358,248,-1,252,417,358,-1,186,397,187,-1,363,397,186,-1,341,398,393,-1,341,396,398,-1,393,342,341,-1,342,393,392,-1,204,347,205,-1,204,40,347,-1,48,351,422,-1,48,423,351,-1,224,362,424,-1,224,157,362,-1,45,425,227,-1,45,47,425,-1,164,361,167,-1,164,166,361,-1,426,427,428,-1,426,429,427,-1,185,230,186,-1,228,230,185,-1,382,301,430,-1,301,382,274,-1,55,140,139,-1,55,86,140,-1,57,54,53,-1,57,64,54,-1,277,78,389,-1,383,78,277,-1,386,83,76,-1,386,385,83,-1,281,370,371,-1,280,370,281,-1,280,388,370,-1,388,280,275,-1,431,276,315,-1,431,302,276,-1,300,271,387,-1,271,300,299,-1,275,389,388,-1,277,389,275,-1,317,430,318,-1,430,317,82,-1,367,122,432,-1,122,367,123,-1,294,49,143,-1,49,294,84,-1,323,264,90,-1,323,297,264,-1,415,265,433,-1,91,265,415,-1,377,434,435,-1,377,436,434,-1,309,254,307,-1,254,309,255,-1,437,379,380,-1,379,437,438,-1,303,378,439,-1,378,303,256,-1,440,305,441,-1,400,305,440,-1,442,436,181,-1,434,436,442,-1,443,444,445,-1,446,444,443,-1,304,439,335,-1,304,303,439,-1,253,435,254,-1,377,435,253,-1,447,326,330,-1,448,326,447,-1,449,445,444,-1,450,445,449,-1,116,451,452,-1,116,118,451,-1,453,308,454,-1,455,308,453,-1,456,105,374,-1,456,103,105,-1,102,457,373,-1,457,102,104,-1,458,115,267,-1,115,458,459,-1,122,141,314,-1,122,142,141,-1,366,279,432,-1,279,366,371,-1,411,460,410,-1,460,411,461,-1,75,269,72,-1,270,269,75,-1,2,76,0,-1,171,76,2,-1,324,460,325,-1,410,460,324,-1,331,259,332,-1,260,259,331,-1,368,86,88,-1,368,390,86,-1,132,316,462,-1,316,132,283,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=3 */
		private int[] getl_metacarpal_3_geometry_5_22_coordIndex_3()
		{
			int[] value = {365,463,464,-1,135,463,365,-1,465,466,10,-1,466,465,420,-1,130,365,131,-1,130,136,365,-1,293,52,292,-1,52,293,144,-1,347,467,468,-1,347,245,467,-1,450,469,94,-1,449,469,450,-1,363,234,470,-1,234,363,235,-1,355,364,27,-1,355,471,364,-1,472,180,182,-1,472,473,180,-1,474,475,376,-1,474,476,475,-1,342,477,233,-1,477,342,478,-1,479,376,375,-1,479,474,376,-1,348,16,15,-1,348,210,16,-1,480,481,482,-1,481,480,483,-1,484,485,162,-1,218,485,484,-1,217,484,346,-1,217,218,484,-1,337,219,150,-1,337,211,219,-1,282,462,316,-1,125,462,282,-1,405,486,412,-1,486,405,273,-1,487,197,488,-1,487,173,197,-1,200,37,352,-1,37,200,203,-1,198,354,489,-1,354,198,201,-1,490,199,491,-1,490,196,199,-1,492,195,191,-1,492,207,195,-1,493,193,206,-1,493,194,193,-1,36,202,494,-1,36,203,202,-1,226,221,66,-1,221,226,356,-1,495,360,359,-1,495,441,360,-1,479,221,179,-1,220,221,479,-1,345,164,167,-1,345,215,164,-1,165,428,166,-1,165,346,428,-1,243,357,403,-1,243,188,357,-1,344,343,226,-1,153,343,344,-1,496,497,498,-1,496,499,497,-1,340,42,237,-1,340,238,42,-1,174,487,500,-1,174,173,487,-1,355,501,395,-1,355,31,501,-1,355,29,31,-1,422,228,48,-1,422,229,228,-1,502,209,498,-1,500,209,502,-1,349,493,503,-1,493,349,494,-1,352,35,353,-1,35,352,37,-1,160,489,354,-1,160,504,489,-1,505,490,483,-1,490,505,488,-1,506,488,505,-1,488,506,487,-1,350,503,468,-1,350,349,503,-1,353,423,507,-1,423,353,35,-1,204,499,40,-1,497,499,204,-1,468,205,347,-1,205,468,503,-1,343,155,184,-1,155,343,153,-1,424,429,425,-1,429,424,223,-1,346,426,428,-1,426,346,484,-1,176,476,474,-1,176,477,476,-1,508,469,473,-1,508,509,469,-1,470,397,363,-1,470,396,397,-1,396,471,398,-1,396,470,471,-1,244,510,93,-1,244,511,510,-1,339,241,95,-1,339,33,241,-1,237,40,499,-1,237,38,40,-1,391,28,246,-1,391,26,28,-1,422,350,512,-1,422,351,350,-1,41,245,347,-1,41,246,245,-1,244,513,511,-1,244,418,513,-1,480,25,208,-1,480,23,25,-1,514,250,7,-1,514,251,250,-1,434,515,516,-1,442,515,434,-1,438,150,379,-1,150,438,337,-1,517,400,440,-1,399,400,517,-1,181,475,182,-1,181,436,475,-1,375,149,338,-1,375,253,149,-1,399,511,513,-1,399,517,511,-1,511,518,510,-1,517,518,511,-1,519,390,368,-1,520,390,519,-1,519,169,521,-1,519,278,169,-1,268,310,1,-1,268,522,310,-1,523,524,525,-1,523,172,524,-1,1,308,455,-1,1,310,308,-1,453,526,525,-1,453,527,526,-1,520,140,390,-1,138,140,520,-1,138,528,331,-1,138,520,528,-1,527,262,526,-1,262,527,329,-1,330,529,447,-1,529,330,329,-1,135,332,463,-1,71,332,135,-1,433,110,131,-1,110,433,265,-1,416,415,530,-1,416,404,415,-1,448,327,326,-1,448,359,327,-1,267,304,458,-1,304,267,306,-1,320,369,381,-1,320,322,369,-1,107,374,372,-1,374,107,456,-1,373,106,111,-1,373,457,106,-1,296,137,531,-1,296,129,137,-1,109,118,108,-1,118,109,451,-1,267,322,321,-1,114,322,267,-1,486,452,461,-1,452,486,532,-1,459,334,533,-1,458,334,459,-1,407,273,405,-1,407,387,273,-1,385,81,80,-1,384,81,385,-1,420,133,419,-1,420,465,133,-1,288,421,419,-1,288,286,421,-1,531,285,296,-1,287,285,531,-1,296,284,295,-1,296,285,284,-1,126,290,127,-1,290,126,313,-1,128,371,366,-1,128,281,371,-1,515,447,529,-1,515,534,447,-1,535,536,516,-1,536,535,454,-1,309,522,380,-1,309,310,522,-1,335,437,336,-1,439,437,335,-1,441,306,360,-1,305,306,441,-1,380,336,437,-1,380,522,336,-1,516,529,535,-1,516,515,529,-1,537,359,448,-1,495,359,537,-1,131,464,433,-1,464,131,365,-1,84,87,85,-1,294,87,84,-1,432,278,367,-1,432,279,278,-1,289,313,293,-1,313,289,290,-1,144,49,52,-1,49,144,143,-1,284,292,295,-1,291,292,284,-1,286,531,421,-1,286,287,531,-1,119,419,133,-1,119,288,419,-1,388,77,170,-1,388,389,77,-1,9,431,283,-1,431,9,8,-1,431,272,271,-1,272,431,8,-1,77,171,170,-1,77,76,171,-1,533,333,408,-1,334,333,533,-1,272,466,532,-1,272,10,466,-1,452,466,116,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=4 */
		private int[] getl_metacarpal_3_geometry_5_22_coordIndex_4()
		{
			int[] value = {452,532,466,-1,461,412,486,-1,411,412,461,-1,451,325,460,-1,451,109,325,-1,421,137,117,-1,421,531,137,-1,457,107,106,-1,456,107,457,-1,266,373,111,-1,96,373,266,-1,372,298,297,-1,374,298,372,-1,360,267,321,-1,360,306,267,-1,320,327,321,-1,320,92,327,-1,530,433,464,-1,433,530,415,-1,97,266,264,-1,97,96,266,-1,463,259,538,-1,259,463,332,-1,329,535,529,-1,527,535,329,-1,526,260,539,-1,260,526,262,-1,528,523,539,-1,523,528,521,-1,454,527,453,-1,454,535,527,-1,455,2,1,-1,455,524,2,-1,524,171,2,-1,524,172,171,-1,519,367,278,-1,368,367,519,-1,528,519,521,-1,519,528,520,-1,510,445,450,-1,445,510,518,-1,20,540,18,-1,540,20,257,-1,436,376,475,-1,436,377,376,-1,180,444,181,-1,449,444,180,-1,443,495,537,-1,443,541,495,-1,337,378,19,-1,337,438,378,-1,379,149,255,-1,149,379,150,-1,435,516,536,-1,434,516,435,-1,442,534,515,-1,446,534,442,-1,18,514,21,-1,18,251,514,-1,15,248,358,-1,15,14,248,-1,23,482,216,-1,482,23,480,-1,18,249,251,-1,540,249,18,-1,403,358,417,-1,403,357,358,-1,512,468,467,-1,512,350,468,-1,230,542,235,-1,230,229,542,-1,542,467,147,-1,542,512,467,-1,39,391,41,-1,39,242,391,-1,210,340,496,-1,210,190,340,-1,239,243,93,-1,239,240,243,-1,241,93,95,-1,241,239,93,-1,44,242,39,-1,236,242,44,-1,94,509,95,-1,509,94,469,-1,95,394,339,-1,95,509,394,-1,146,27,364,-1,146,145,27,-1,231,397,232,-1,231,187,397,-1,392,509,508,-1,394,509,392,-1,476,478,472,-1,476,477,478,-1,179,474,479,-1,176,474,179,-1,48,507,423,-1,507,48,45,-1,218,482,485,-1,482,218,216,-1,68,427,222,-1,361,427,68,-1,223,427,429,-1,223,222,427,-1,46,224,47,-1,225,224,46,-1,362,223,424,-1,158,223,362,-1,212,21,514,-1,21,212,214,-1,496,209,210,-1,209,496,498,-1,160,507,161,-1,353,507,160,-1,500,506,209,-1,506,500,487,-1,483,491,481,-1,483,490,491,-1,491,504,481,-1,489,504,491,-1,34,494,349,-1,494,34,36,-1,503,206,205,-1,206,503,493,-1,207,497,204,-1,492,497,207,-1,229,512,542,-1,422,512,229,-1,237,496,340,-1,496,237,499,-1,492,498,497,-1,502,498,492,-1,242,26,391,-1,26,242,32,-1,177,343,231,-1,343,177,356,-1,17,22,14,-1,22,17,25,-1,215,11,183,-1,215,345,11,-1,508,472,478,-1,472,508,473,-1,518,440,541,-1,518,517,440,-1,356,179,221,-1,179,356,177,-1,176,233,477,-1,176,178,233,-1,494,194,493,-1,494,202,194,-1,193,207,206,-1,207,193,195,-1,191,502,492,-1,502,191,192,-1,488,196,490,-1,488,197,196,-1,199,489,491,-1,489,199,198,-1,201,352,354,-1,352,201,200,-1,192,500,502,-1,500,192,174,-1,455,525,524,-1,453,525,455,-1,521,172,523,-1,521,169,172,-1,273,532,486,-1,532,273,272,-1,211,168,219,-1,211,213,168,-1,4,22,24,-1,4,247,22,-1,162,504,160,-1,162,485,504,-1,162,426,484,-1,162,227,426,-1,481,485,482,-1,504,485,481,-1,208,483,480,-1,483,208,505,-1,151,152,67,-1,152,151,148,-1,338,479,375,-1,220,479,338,-1,395,471,355,-1,471,395,398,-1,392,478,342,-1,478,392,508,-1,476,182,475,-1,476,472,182,-1,470,364,471,-1,470,234,364,-1,449,473,469,-1,180,473,449,-1,510,94,93,-1,450,94,510,-1,147,245,145,-1,467,245,147,-1,147,235,542,-1,147,146,235,-1,141,293,313,-1,141,144,293,-1,134,64,70,-1,312,64,134,-1,51,292,52,-1,51,312,292,-1,9,465,10,-1,465,9,133,-1,543,530,538,-1,543,416,530,-1,116,420,117,-1,420,116,466,-1,125,120,462,-1,125,127,120,-1,538,464,463,-1,538,530,464,-1,315,283,431,-1,315,316,283,-1,119,462,120,-1,462,119,132,-1,539,331,528,-1,331,539,260,-1,539,525,526,-1,539,523,525,-1,451,461,452,-1,451,460,461,-1,414,533,413,-1,459,533,414,-1,413,408,409,-1,533,408,413,-1,314,432,122,-1,432,314,366,-1,112,459,414,-1,112,115,459,-1,266,110,265,-1,111,110,266,-1,104,456,457,-1,456,104,103,-1,307,454,308,-1,307,536,454,-1,446,537,534,-1,443,537,446,-1,448,534,537,-1,448,447,534,-1,330,416,543,-1,330,326,416,-1,335,458,304,-1,334,458,335,-1,181,446,442,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=5 */
		private int[] getl_metacarpal_3_geometry_5_22_coordIndex_5()
		{
			int[] value = {181,444,446,-1,541,441,495,-1,440,441,541,-1,256,305,400,-1,256,303,305,-1,439,438,437,-1,438,439,378,-1,536,254,435,-1,536,307,254,-1,541,445,518,-1,443,445,541,-1,92,381,90,-1,92,320,381,-1,143,124,294,-1,142,124,143,-1,87,123,88,-1,87,124,123,-1,51,55,54,-1,50,55,51,-1,299,431,271,-1,431,299,302,-1,315,275,280,-1,275,315,276,-1,300,430,301,-1,300,318,430,-1,59,70,64,-1,61,70,59,-1,71,60,332,-1,71,63,60,-1,53,58,57,-1,58,53,139,-1,51,64,312,-1,54,64,51,-1,81,430,82,-1,430,81,382,-1,274,302,301,-1,302,274,276,-1,228,46,48,-1,228,185,46,-1,425,426,227,-1,426,425,429,-1,361,428,427,-1,166,428,361,-1,45,161,507,-1,161,45,227,-1,47,424,425,-1,47,224,424,-1,423,34,351,-1,423,35,34,-1,42,39,38,-1,42,44,39,-1,339,501,31,-1,395,339,394,-1,395,501,339,-1,29,32,31,-1,32,29,26,-1,540,418,249,-1,418,540,513,-1,506,208,17,-1,505,208,506,-1,506,16,209,-1,17,16,506,-1,401,514,7,-1,514,401,212,-1,250,248,402,-1,250,252,248,-1,543,261,330,-1,258,261,543,-1,401,11,212,-1,401,12,11,-1,257,513,540,-1,257,399,513,-1,538,258,543,-1,258,538,259,-1,411,414,412,-1,411,112,414,-1,369,410,324,-1,410,369,113,-1,387,318,300,-1,318,387,407,-1,270,409,408,-1,270,75,409,-1,333,522,268,-1,336,522,333,-1};
			return value;
		}
		/** Large attribute array: IndexedFaceSet DEF='l_metacarpal_3_geometry' coordIndex field, scene-graph level=5, element #22, 4336 total numbers.
		 * Reassemble split array as single method to improve readability and runnability.
		 * Provide large array values via separate methods, hoping to avoid 'code too large' Java compilation errors. 
		 * Individual Java methods (including aggregated initializations) are limited to 64KB.
		 * @see https://stackoverflow.com/questions/2407912/code-too-large-compilation-error-in-java
		 * @see https://stackoverflow.com/questions/11437905/java-too-many-constants-jvm-error
		 */
		private MFInt32 getl_metacarpal_3_geometry_5_22_coordIndex()
		{
			MFInt32 l_metacarpal_3_geometry_5_22_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getl_metacarpal_3_geometry_5_22_coordIndex_1()))
				.append(new MFInt32(getl_metacarpal_3_geometry_5_22_coordIndex_2()))
				.append(new MFInt32(getl_metacarpal_3_geometry_5_22_coordIndex_3()))
				.append(new MFInt32(getl_metacarpal_3_geometry_5_22_coordIndex_4()))
				.append(new MFInt32(getl_metacarpal_3_geometry_5_22_coordIndex_5()));
			return l_metacarpal_3_geometry_5_22_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='l_metacarpal_3_coordinate' point field, scene-graph level=6, element #22, 1632 total numbers made up of 544 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 getl_metacarpal_3_coordinate_6_22_point()
		{
			MFVec3f l_metacarpal_3_coordinate_6_22_point = new MFVec3f(new double[] {0.2117,0.8177,0.0875,0.2133,0.8139,0.0904,0.213,0.8182,0.0903,0.2067,0.77,0.0931,0.2066,0.7698,0.0931,0.2051,0.7708,0.0952,0.2053,0.7709,0.095,0.2071,0.7723,0.0931,0.2061,0.8211,0.0774,0.2073,0.8227,0.0771,0.2055,0.8212,0.0753,0.2055,0.7753,0.096,0.2056,0.7733,0.0955,0.205,0.7735,0.0959,0.2099,0.7702,0.0885,0.2111,0.7705,0.088,0.2105,0.7669,0.0893,0.2092,0.7674,0.0894,0.2102,0.7788,0.0908,0.2108,0.786,0.0918,0.2115,0.7856,0.09,0.2091,0.7793,0.0926,0.2076,0.769,0.0901,0.2056,0.7687,0.0926,0.2058,0.769,0.0926,0.2074,0.7682,0.0903,0.2178,0.7652,0.0983,0.2188,0.7667,0.0994,0.2177,0.765,0.0988,0.2186,0.7666,0.0988,0.2174,0.7663,0.0962,0.2188,0.7673,0.0975,0.2178,0.7656,0.0972,0.2184,0.7681,0.0957,0.2083,0.7625,0.0999,0.2072,0.7632,0.0998,0.2074,0.7621,0.0981,0.207,0.7625,0.0979,0.2148,0.7631,0.0948,0.2156,0.7632,0.0957,0.2139,0.7619,0.0951,0.2148,0.7622,0.0966,0.215,0.7653,0.0945,0.2163,0.7673,0.0942,0.2157,0.765,0.0953,0.2077,0.7666,0.1027,0.2091,0.7669,0.1031,0.2082,0.7674,0.1027,0.2087,0.7662,0.1033,0.2168,0.8303,0.0828,0.217,0.8302,0.0829,0.2181,0.8284,0.0816,0.2171,0.8285,0.0817,0.2182,0.8284,0.0829,0.2184,0.8283,0.0824,0.2172,0.8303,0.0835,0.2185,0.8264,0.0838,0.219,0.827,0.0825,0.2185,0.8271,0.0838,0.2193,0.8261,0.0823,0.2211,0.8233,0.0813,0.221,0.8249,0.0804,0.2208,0.8234,0.0816,0.2213,0.8248,0.0801,0.2193,0.8268,0.0815,0.2087,0.7766,0.1012,0.2099,0.7736,0.1031,0.2104,0.7767,0.1027,0.2084,0.7742,0.102,0.2196,0.8248,0.0823,0.2214,0.8256,0.079,0.2219,0.8247,0.0795,0.2097,0.816,0.0858,0.2092,0.8186,0.0845,0.2076,0.8177,0.0829,0.2083,0.8149,0.0838,0.2114,0.8212,0.0876,0.2114,0.8217,0.0876,0.2113,0.8214,0.0873,0.2077,0.8179,0.0827,0.2092,0.8188,0.0843,0.2099,0.8205,0.0831,0.2088,0.8191,0.0821,0.2101,0.8197,0.0858,0.2168,0.8305,0.0831,0.217,0.8305,0.0836,0.2171,0.8303,0.0839,0.2158,0.8308,0.0845,0.2158,0.8307,0.0848,0.2188,0.813,0.0798,0.2176,0.8154,0.0775,0.2184,0.816,0.0773,0.2185,0.8128,0.0798,0.2177,0.7722,0.0922,0.2214,0.7734,0.0945,0.2203,0.7709,0.0955,0.217,0.8191,0.0762,0.2172,0.8176,0.0769,0.2168,0.8191,0.0762,0.2168,0.8182,0.0766,0.2161,0.8194,0.0763,0.2162,0.8183,0.0764,0.2165,0.8201,0.0756,0.2159,0.8194,0.0754,0.2161,0.8201,0.0754,0.2157,0.8185,0.0757,0.2161,0.8209,0.074,0.2154,0.8192,0.0739,0.2159,0.8212,0.0735,0.2148,0.8191,0.0733,0.2172,0.8213,0.0741,0.2169,0.821,0.0746,0.2118,0.8123,0.076,0.2128,0.8124,0.0757,0.2132,0.8111,0.0776,0.2126,0.811,0.0776,0.2105,0.8208,0.0711,0.211,0.8216,0.0713,0.211,0.8208,0.071,0.2103,0.8242,0.079,0.2112,0.8247,0.08,0.213,0.8243,0.078,0.2143,0.8307,0.085,0.2147,0.8308,0.0853,0.2147,0.8309,0.0848,0.2118,0.8251,0.0813,0.2127,0.8275,0.0832,0.2121,0.8252,0.0811,0.2123,0.8269,0.0834,0.2174,0.822,0.0745,0.2204,0.8233,0.0759,0.2208,0.8227,0.0759,0.2099,0.824,0.0794,0.2073,0.823,0.0764,0.2205,0.8255,0.0789,0.2231,0.8249,0.0773,0.2223,0.825,0.0768,0.2155,0.8219,0.0733,0.2182,0.8271,0.0845,0.2179,0.8284,0.0837,0.2178,0.8285,0.0843,0.2139,0.8294,0.0836,0.2146,0.8307,0.0844,0.2157,0.8305,0.0834,0.2154,0.8291,0.0825,0.2168,0.7654,0.1003,0.2167,0.7664,0.1014,0.216,0.7654,0.1012,0.2098,0.7812,0.0995,0.2134,0.788,0.0991,0.2115,0.7876,0.0969,0.2116,0.7813,0.101,0.209,0.7783,0.1007,0.2107,0.7692,0.1026,0.2101,0.7694,0.1024,0.2105,0.7687,0.1026,0.2099,0.7686,0.1023,0.2097,0.7687,0.1023,0.2093,0.7694,0.1022,0.2094,0.7702,0.1023,0.2055,0.7647,0.0987,0.2058,0.7665,0.1009,0.2048,0.7678,0.0996,0.2043,0.7702,0.0956,0.206,0.7753,0.1009,0.2044,0.7737,0.0993,0.2064,0.7739,0.102,0.2074,0.7763,0.1004,0.2084,0.7786,0.0995,0.2138,0.8234,0.0899,0.2128,0.8234,0.0894,0.2127,0.8212,0.0899,0.2139,0.8213,0.0906,0.2073,0.7628,0.0941,0.2076,0.7626,0.0941,0.2072,0.7625,0.0953,0.2135,0.773,0.1029,0.2125,0.7706,0.1037,0.2132,0.7704,0.1033,0.2123,0.7729,0.104,0.2209,0.7781,0.0963,0.2208,0.7864,0.0952,0.2198,0.7786,0.0974,0.2044,0.7739,0.0965,0.2109,0.7678,0.103,0.211,0.7674,0.1037,0.2127,0.7677,0.1039,0.2126,0.7685,0.1033,0.2138,0.7683,0.0906,0.215,0.7677,0.0922,0.2132,0.7669,0.0904,0.2081,0.762,0.0947,0.208,0.7623,0.0943,0.2084,0.7617,0.0956,0.2081,0.7618,0.0962,0.2084,0.7619,0.095,0.2066,0.7631,0.0948,0.2069,0.763,0.0944,0.2065,0.763,0.0957,0.2065,0.7631,0.0952,0.2067,0.7625,0.0965,0.2065,0.7628,0.0961,0.2076,0.762,0.0966,0.2071,0.7623,0.0967,0.2121,0.7612,0.0949,0.2114,0.7611,0.0969,0.2097,0.7611,0.096,0.2096,0.7614,0.0949,0.2073,0.7673,0.0906,0.2097,0.7638,0.0911,0.2117,0.7659,0.0898,0.2086,0.7803,0.0962,0.2069,0.7764,0.0953,0.2074,0.7783,0.0973,0.2085,0.7798,0.0945,0.205,0.7757,0.0989,0.2042,0.7693,0.0955,0.2041,0.7711,0.097,0.2041,0.7693,0.0975,0.2095,0.781,0.0987,0.2112,0.7766,0.1035,0.211,0.7732,0.1037,0.2087,0.7712,0.1021,0.2082,0.7694,0.1022,0.2088,0.7679,0.1025,0.2095,0.7675,0.1027,0.2103,0.7708,0.1028,0.2064,0.7678,0.1022,0.2112,0.7668,0.1039,0.2122,0.7664,0.104,0.2126,0.7671,0.1041,0.2126,0.7689,0.1032,0.2147,0.7688,0.1022,0.2151,0.7701,0.1019,0.2174,0.7676,0.1015,0.2146,0.7673,0.1032,0.2163,0.7655,0.0958,0.2144,0.7637,0.0936,0.2146,0.7661,0.0934,0.2169,0.7696,0.093,0.2156,0.7689,0.0922,0.2185,0.7692,0.0946,0.2166,0.764,0.0968,0.215,0.77,0.0914,0.2144,0.7746,0.0901,0.2154,0.7632,0.0994,0.2162,0.7633,0.0981,0.2083,0.7698,0.0905,0.2101,0.7715,0.089,0.2107,0.7753,0.0899,0.2088,0.7721,0.0907,0.2095,0.7752,0.0907,0.2104,0.7734,0.0895,0.2146,0.7878,0.0995,0.2151,0.7936,0.0978,0.2139,0.7937,0.0972,0.2124,0.7911,0.0887,0.2124,0.7854,0.0894,0.2219,0.8153,0.0839,0.2222,0.8185,0.0825,0.2202,0.8189,0.0851,0.2219,0.8152,0.084,0.2206,0.816,0.086,0.2206,0.8247,0.0771,0.2176,0.8163,0.0771,0.2182,0.8186,0.076,0.2175,0.8189,0.0761,0.2135,0.8091,0.0797,0.2118,0.8123,0.0873,0.2103,0.8147,0.0864,0.2098,0.8137,0.0853,0.206,0.8176,0.0803,0.2052,0.8192,0.0769,0.2058,0.8168,0.0789,0.2098,0.8209,0.0829,0.2103,0.8225,0.0842,0.209,0.8217,0.0826,0.2106,0.8214,0.0845,0.2142,0.8274,0.0876,0.2136,0.8272,0.0871,0.2104,0.8228,0.084,0.2119,0.8259,0.0836,0.211,0.8242,0.0827,0.2088,0.8227,0.0802,0.215,0.8244,0.078,0.2149,0.824,0.0769,0.2124,0.8237,0.0753,0.2142,0.8237,0.0759,0.2111,0.8236,0.0761,0.2138,0.8254,0.0797,0.2127,0.8254,0.0806,0.2147,0.8249,0.0788,0.2175,0.8258,0.0801,0.2149,0.8274,0.0814,0.2158,0.8307,0.0837,0.218,0.8241,0.078,0.2174,0.8228,0.0755,0.2166,0.8164,0.0765,0.2165,0.8175,0.0763,0.2062,0.8177,0.0806,0.2063,0.8175,0.0808,0.2087,0.8195,0.082,0.2077,0.8208,0.0816,0.2126,0.796,0.0873,0.212,0.8046,0.084,0.2144,0.7957,0.0867,0.2139,0.804,0.0831,0.2154,0.7995,0.0961,0.2151,0.8082,0.0932,0.2142,0.7994,0.0954,0.214,0.8082,0.0922,0.2197,0.8218,0.0838,0.2192,0.8264,0.0803,0.2134,0.8276,0.0825,0.2134,0.8291,0.0842,0.209,0.822,0.0824,0.2099,0.8231,0.0814,0.2068,0.8173,0.0813,0.2064,0.8172,0.081,0.2066,0.8169,0.0813,0.2164,0.8121,0.0787,0.2162,0.8097,0.0806,0.2154,0.8117,0.0782,0.2166,0.8157,0.0767,0.2149,0.815,0.0756,0.2148,0.8165,0.0746,0.2213,0.8117,0.0837,0.2186,0.8105,0.0821,0.22,0.8122,0.0817,0.2209,0.813,0.0872,0.2218,0.8123,0.0849,0.2198,0.8213,0.0843,0.2222,0.8221,0.0805,0.2101,0.8107,0.0843,0.21,0.8104,0.0836,0.2113,0.8053,0.0855,0.2111,0.8057,0.0864,0.2103,0.7866,0.0935,0.2123,0.7814,0.102,0.2195,0.7688,0.0967,0.2138,0.7646,0.0922,0.2175,0.769,0.1005,0.2179,0.7702,0.1,0.2115,0.7692,0.1031,0.2101,0.7701,0.1025,0.2063,0.777,0.0981,0.2043,0.7716,0.0995,0.2136,0.7619,0.0981,0.2123,0.7695,0.0885,0.2095,0.7618,0.0996,0.2111,0.7628,0.1014,0.2095,0.7637,0.1021,0.2065,0.7628,0.0977,0.2065,0.7637,0.0996,0.2061,0.7633,0.0969,0.219,0.7673,0.0991,0.2112,0.7707,0.1035,0.2127,0.7709,0.0888,0.2114,0.7718,0.0886,0.2191,0.8051,0.0852,0.2164,0.8044,0.084,0.2077,0.7741,0.102,0.2094,0.769,0.1022,0.2146,0.7677,0.103,0.2187,0.7677,0.1004,0.2229,0.8244,0.0766,0.2131,0.8281,0.085,0.2144,0.8291,0.0865,0.2159,0.8291,0.0861,0.2149,0.8136,0.0765,0.2113,0.8235,0.0873,0.2126,0.8268,0.0856,0.2151,0.8172,0.075,0.2167,0.8204,0.0753,0.2155,0.8181,0.0755,0.2134,0.7814,0.1022,0.2145,0.7808,0.1013,0.2156,0.7876,0.0994,0.2115,0.7916,0.0902,0.2122,0.7931,0.0949,0.2128,0.7984,0.093,0.2166,0.8145,0.0774,0.2099,0.8206,0.083,0.2106,0.8211,0.0846,0.2105,0.8209,0.0848,0.21,0.8199,0.0855,0.2111,0.8212,0.0869,0.2061,0.8173,0.0805,0.2112,0.823,0.0875,0.2113,0.8217,0.0873,0.2171,0.8288,0.0852,0.2163,0.7634,0.0977,0.2194,0.7704,0.0987,0.2191,0.7692,0.0992,0.22,0.7699,0.0975,0.2194,0.7685,0.0983,0.2174,0.7687,0.1007,0.2146,0.7685,0.1022,0.219,0.7689,0.0994,0.2138,0.7851,0.0891,0.2142,0.7907,0.088,0.206,0.7733,0.0951,0.2084,0.7702,0.0906,0.2135,0.7727,0.0894,0.2206,0.8136,0.0809,0.2065,0.8157,0.0798,0.2065,0.8167,0.081,0.2063,0.817,0.0807,0.2089,0.8127,0.0834,0.2079,0.8143,0.0826,0.2124,0.8138,0.0746,0.2114,0.8137,0.0749,0.2086,0.8143,0.0774,0.2077,0.8138,0.0815,0.2093,0.8129,0.0785,0.221,0.8167,0.079,0.222,0.8143,0.0821,0.2119,0.7736,0.0891,0.2123,0.7754,0.0896,0.2093,0.8229,0.0746,0.2074,0.8215,0.0732,0.2117,0.8228,0.0731,0.211,0.7649,0.1035,0.208,0.7647,0.1019,0.2083,0.7683,0.1023,0.2074,0.768,0.1023,0.2063,0.7692,0.1022,0.2075,0.7715,0.1022,0.2063,0.7719,0.1023,0.2072,0.7693,0.1022,0.2088,0.8193,0.0821,0.2076,0.821,0.0814,0.2139,0.8288,0.0862,0.2211,0.8196,0.0775,0.2186,0.7927,0.0962,0.2161,0.7933,0.0978,0.2182,0.7872,0.0977,0.2116,0.797,0.0899,0.211,0.792,0.0916,0.2118,0.7965,0.0887,0.2165,0.7908,0.0886,0.2168,0.796,0.0873,0.2209,0.7922,0.0939,0.221,0.7911,0.0912,0.2218,0.7857,0.0936,0.2208,0.7853,0.0924,0.2218,0.7915,0.0924,0.2219,0.8063,0.0877,0.2211,0.8058,0.0865,0.2219,0.7775,0.0949,0.2212,0.7772,0.0936,0.2112,0.8187,0.0715,0.2102,0.8187,0.0717,0.2163,0.8142,0.0914,0.2166,0.808,0.0932,0.2147,0.8143,0.0913,0.2157,0.8193,0.075,0.2161,0.8204,0.0749,0.2111,0.8096,0.0814,0.2102,0.8113,0.08,0.2119,0.8153,0.0735,0.211,0.8152,0.0738,0.2109,0.8245,0.0804,0.2234,0.822,0.0789,0.2233,0.8215,0.0781,0.206,0.8218,0.075,0.2071,0.8208,0.0733,0.2145,0.7635,0.1008,0.2126,0.7621,0.0998,0.222,0.7741,0.0957,0.2175,0.768,0.1013,0.2188,0.7682,0.1001,0.2191,0.7751,0.0983,0.2206,0.7748,0.0972,0.2139,0.7759,0.1023,0.2168,0.7799,0.0998,0.2161,0.7755,0.1007,0.2157,0.7728,0.1013,0.2185,0.7724,0.0992,0.2124,0.7765,0.1037,0.2056,0.7681,0.0927,0.2053,0.7657,0.0952,0.2043,0.7685,0.0954,0.206,0.7656,0.0935,0.2044,0.7694,0.0996,0.2042,0.7683,0.0975,0.2079,0.8158,0.0762,0.2075,0.7632,0.0931,0.2069,0.7636,0.0936,0.2059,0.7636,0.0961,0.2063,0.7638,0.0945,0.2061,0.7637,0.0952,0.2094,0.7618,0.0941,0.2091,0.7612,0.0971,0.2083,0.7616,0.0979,0.2192,0.7964,0.0885,0.2125,0.7636,0.0916,0.2117,0.7619,0.0934,0.2109,0.7626,0.092,0.2132,0.7626,0.0933,0.2082,0.7628,0.0931,0.2193,0.7683,0.0982,0.2089,0.7622,0.0934,0.2107,0.7612,0.0983,0.2049,0.7653,0.0971,0.207,0.7653,0.0919,0.2084,0.7647,0.091,0.2071,0.7652,0.1016,0.2199,0.7722,0.098,0.2209,0.7715,0.0967,0.2181,0.7778,0.0917,0.2156,0.7786,0.0905,0.2126,0.7641,0.1026,0.213,0.7786,0.0899,0.208,0.7755,0.0928,0.221,0.7981,0.0925,0.2189,0.7987,0.0944,0.2161,0.7852,0.0896,0.2184,0.7851,0.0909,0.2158,0.8274,0.0872,0.2172,0.8273,0.0861,0.2157,0.8232,0.0896,0.2125,0.8072,0.0894,0.2159,0.821,0.0904,0.2143,0.8184,0.091,0.2161,0.818,0.0909,0.2185,0.817,0.0887,0.2188,0.8137,0.0895,0.2178,0.8233,0.0878,0.221,0.8069,0.0896,0.2231,0.8177,0.0801,0.215,0.8227,0.074,0.2072,0.8188,0.0741,0.2088,0.8124,0.0824,0.2218,0.7975,0.0909,0.219,0.8078,0.0917,0.2167,0.7994,0.096,0.221,0.797,0.0897,0.2233,0.8182,0.081,0.2181,0.8201,0.0885,0.2115,0.7788,0.0901,0.219,0.7909,0.0898,0.2137,0.7659,0.1031,0.2224,0.8148,0.0832});
			return l_metacarpal_3_coordinate_6_22_point;
		}

	/** The initialized model object, created within initialize() method. */
	private X3D x3dModel;

	/** 
	 * Provide a 
	 * <a href="https://dzone.com/articles/java-copy-shallow-vs-deep-in-which-you-will-swim" target="_blank">shallow copy</a>
	 * of the X3D model.
	 * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html">X3D</a>
	 * @return l_metacarpal_3 model
	 */
	public X3D getX3dModel()
	{	  
		return x3dModel;
	}
	   
    /** 
     * Default main() method provided for test purposes, uses CommandLine to set global ConfigurationProperties for this object.
     * @param args array of input parameters, provided as arguments
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#handleArguments-java.lang.String:A-">X3D.handleArguments(args)</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#validationReport--">X3D.validationReport()</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html">CommandLine</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html#USAGE">CommandLine.USAGE</a>
     * @see <a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/ConfigurationProperties.html">ConfigurationProperties</a>
     */
    public static void main(String args[])
    {
        System.out.println("Build this X3D model, showing validation diagnostics...");
        X3D thisExampleX3dModel = new l_metacarpal_3().getX3dModel();
//      System.out.println("X3D model construction complete.");
	
        // next handle command line arguments
        boolean hasArguments = (args != null) && (args.length > 0);
        boolean validate = true; // default
        boolean argumentsLoadNewModel = false;
        String  fileName = new String();

        if (args != null)
        {
                for (String arg : args)
                {
                        if (arg.toLowerCase().startsWith("-v") || arg.toLowerCase().contains("validate"))
                        {
                                validate = true; // making sure
                        }
                        if (arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_X3D) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_CLASSICVRML) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_X3DB) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_VRML97) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_EXI) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_GZIP) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_ZIP) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_HTML) ||
                                arg.toLowerCase().endsWith(X3D.FILE_EXTENSION_XHTML))
                        {
                                argumentsLoadNewModel = true;
                                fileName = arg;
                        }
                }
        }
        if      (argumentsLoadNewModel)
                System.out.println("WARNING: \"HumanoidAnimation.Skeleton.l_metacarpal_3\" model invocation is attempting to load file \"" + fileName + "\" instead of simply validating itself... file loading ignored.");
        else if (hasArguments) // if no arguments provided, this method produces usage warning
                thisExampleX3dModel.handleArguments(args);
	
        if (validate)
        {
            //  System.out.println("--- TODO fix duplicated outputs ---"); // omit when duplicated outputs problem is solved/refactored
		String validationResults = thisExampleX3dModel.validationReport();
            //  System.out.println("-----------------------------------"); // omit when duplicated outputs problem is solved/refactored
                System.out.print("HumanoidAnimation.Skeleton.l_metacarpal_3 self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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