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

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=2 */
		private int[] getl_metacarpal_4_geometry_5_22_coordIndex_2()
		{
			int[] value = {250,85,87,-1,253,248,144,-1,144,248,246,-1,246,145,144,-1,136,135,247,-1,247,351,136,-1,178,352,146,-1,138,141,1,-1,0,129,128,-1,136,353,137,-1,354,355,233,-1,355,356,233,-1,231,173,357,-1,357,358,231,-1,359,172,229,-1,172,174,187,-1,360,361,362,-1,227,220,226,-1,225,220,224,-1,223,220,222,-1,221,220,228,-1,226,225,363,-1,363,364,226,-1,110,60,62,-1,110,219,60,-1,107,131,187,-1,47,365,218,-1,47,49,217,-1,47,213,215,-1,170,169,163,-1,103,104,106,-1,212,208,210,-1,212,148,208,-1,212,149,148,-1,195,202,259,-1,38,325,36,-1,195,282,285,-1,191,190,340,-1,340,267,191,-1,266,366,257,-1,186,171,367,-1,171,173,367,-1,368,369,130,-1,175,177,370,-1,370,371,175,-1,218,115,372,-1,132,126,371,-1,146,181,178,-1,146,140,181,-1,26,132,371,-1,371,28,26,-1,177,373,358,-1,177,176,373,-1,369,127,130,-1,235,264,257,-1,185,174,171,-1,169,168,165,-1,167,101,164,-1,101,161,164,-1,261,153,155,-1,374,338,375,-1,374,339,338,-1,146,145,141,-1,141,140,146,-1,253,143,251,-1,253,144,143,-1,57,139,138,-1,57,142,139,-1,250,253,251,-1,250,252,253,-1,94,83,86,-1,376,377,378,-1,376,179,377,-1,129,238,130,-1,379,119,122,-1,111,380,114,-1,238,182,368,-1,368,130,238,-1,381,379,122,-1,381,382,379,-1,383,384,117,-1,117,116,383,-1,385,62,61,-1,47,216,365,-1,241,234,386,-1,91,96,162,-1,166,210,208,-1,161,91,162,-1,161,89,91,-1,101,106,161,-1,101,103,106,-1,97,92,364,-1,361,360,61,-1,61,60,361,-1,65,64,387,-1,64,388,387,-1,190,192,366,-1,97,385,389,-1,270,390,271,-1,89,161,106,-1,138,59,57,-1,184,257,366,-1,236,235,256,-1,256,391,236,-1,355,392,356,-1,355,112,392,-1,393,45,58,-1,393,46,45,-1,201,394,199,-1,201,310,394,-1,395,396,318,-1,395,397,396,-1,285,284,398,-1,316,399,5,-1,316,400,399,-1,42,302,315,-1,401,39,42,-1,42,315,401,-1,402,324,403,-1,403,404,402,-1,405,406,300,-1,301,407,320,-1,296,32,29,-1,285,328,283,-1,285,282,328,-1,24,15,21,-1,22,15,19,-1,20,15,17,-1,18,15,14,-1,316,4,12,-1,13,4,10,-1,11,4,8,-1,9,4,6,-1,7,4,3,-1,342,189,191,-1,219,188,349,-1,219,187,188,-1,2,1,135,-1,342,188,189,-1,349,188,342,-1,287,408,288,-1,287,409,408,-1,407,405,320,-1,407,406,405,-1,410,37,404,-1,37,410,38,-1,410,403,411,-1,404,403,410,-1,63,337,412,-1,337,63,326,-1,10,413,401,-1,413,10,11,-1,13,401,315,-1,401,13,10,-1,414,9,415,-1,9,414,8,-1,395,284,397,-1,398,284,395,-1,397,283,327,-1,284,283,397,-1,308,303,309,-1,308,416,303,-1,196,394,417,-1,199,394,196,-1,418,419,420,-1,418,197,419,-1,297,320,405,-1,31,320,297,-1,317,303,304,-1,303,317,309,-1,201,311,310,-1,201,421,311,-1,422,112,355,-1,422,113,112,-1,391,392,236,-1,356,392,391,-1,256,184,186,-1,256,257,184,-1,274,24,272,-1,24,274,23,-1,14,277,276,-1,16,277,14,-1,423,20,152,-1,20,423,19,-1,36,22,37,-1,22,36,21,-1,271,290,33,-1,271,390,290,-1,385,360,389,-1,385,61,360,-1,184,192,185,-1,366,192,184,-1,317,424,306,-1,317,396,424,-1,72,336,425,-1,336,72,333,-1,60,426,361,-1,60,427,426,-1,428,90,429,-1,428,430,90,-1,100,431,98,-1,100,211,431,-1,166,102,101,-1,166,208,102,-1,104,207,105,-1,104,84,207,-1,392,234,236,-1,386,234,392,-1,365,383,116,-1,365,216,383,-1,385,432,62,-1,432,385,363,-1,111,433,380,-1,434,433,111,-1,435,372,436,-1,435,437,372,-1,384,438,354,-1,438,384,383,-1,382,364,92,-1,364,382,381,-1,123,182,124,-1,123,368,182,-1,439,393,58,-1,393,439,440,-1,367,356,391,-1,233,356,367,-1,376,180,179,-1,376,441,180,-1,95,442,93,-1,95,443,442,-1,82,86,83,-1,82,87,86,-1,252,87,82,-1,252,250,87,-1,444,290,445,-1,290,444,289,-1,446,374,447,-1,446,339,374,-1,448,449,450,-1,447,449,448,-1,451,338,265,-1,375,338,451,-1,264,237,452,-1,264,235,237,-1,249,247,246,-1,247,249,351,-1,168,98,431,-1,170,98,168,-1,241,114,380,-1,386,114,241,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=3 */
		private int[] getl_metacarpal_4_geometry_5_22_coordIndex_3()
		{
			int[] value = {432,223,108,-1,432,224,223,-1,222,121,109,-1,222,221,121,-1,358,232,231,-1,358,373,232,-1,230,371,370,-1,28,371,230,-1,453,454,455,-1,453,369,454,-1,456,457,458,-1,456,459,457,-1,460,429,206,-1,460,428,429,-1,376,456,441,-1,376,455,456,-1,126,175,371,-1,126,124,175,-1,229,230,359,-1,229,27,230,-1,176,117,373,-1,176,118,117,-1,369,123,454,-1,368,123,369,-1,240,433,435,-1,239,433,240,-1,190,266,338,-1,190,366,266,-1,156,204,461,-1,156,153,204,-1,412,462,463,-1,412,411,462,-1,464,465,466,-1,465,464,467,-1,275,36,325,-1,36,275,272,-1,64,468,469,-1,63,468,64,-1,470,471,388,-1,470,472,471,-1,473,280,68,-1,473,471,280,-1,193,258,52,-1,193,259,258,-1,127,453,440,-1,127,369,453,-1,441,458,442,-1,458,441,456,-1,134,474,430,-1,134,475,474,-1,459,133,457,-1,125,133,459,-1,215,434,111,-1,215,213,434,-1,438,49,422,-1,217,49,438,-1,218,116,115,-1,116,218,365,-1,221,122,121,-1,221,228,122,-1,363,224,432,-1,363,225,224,-1,381,226,364,-1,381,227,226,-1,100,360,362,-1,100,389,360,-1,389,100,99,-1,92,474,382,-1,474,92,88,-1,232,354,233,-1,384,354,232,-1,183,118,176,-1,183,436,118,-1,386,112,114,-1,392,112,386,-1,0,439,244,-1,0,128,439,-1,244,138,1,-1,244,59,138,-1,377,181,245,-1,377,179,181,-1,140,245,181,-1,140,139,245,-1,143,352,476,-1,143,146,352,-1,251,476,85,-1,143,476,251,-1,252,150,253,-1,150,252,147,-1,149,346,347,-1,149,212,346,-1,136,344,353,-1,136,345,344,-1,219,427,60,-1,219,350,427,-1,263,160,254,-1,263,158,160,-1,260,255,347,-1,260,348,255,-1,159,477,343,-1,159,262,477,-1,343,375,451,-1,343,477,375,-1,426,56,55,-1,78,56,426,-1,341,349,342,-1,341,350,349,-1,478,52,56,-1,478,193,52,-1,268,79,341,-1,77,79,268,-1,154,479,262,-1,154,156,479,-1,374,477,480,-1,375,477,374,-1,404,423,402,-1,37,423,404,-1,69,335,270,-1,335,69,336,-1,425,73,72,-1,73,425,481,-1,269,331,75,-1,331,269,334,-1,482,332,334,-1,332,482,483,-1,484,270,335,-1,390,270,484,-1,445,390,484,-1,445,290,390,-1,485,483,482,-1,485,486,483,-1,487,71,488,-1,487,76,71,-1,481,489,73,-1,481,490,489,-1,281,489,330,-1,281,488,489,-1,491,328,330,-1,491,329,328,-1,492,285,398,-1,203,285,492,-1,319,395,318,-1,319,493,395,-1,329,494,495,-1,491,494,329,-1,490,279,496,-1,279,490,481,-1,497,471,472,-1,497,280,471,-1,494,497,498,-1,494,496,497,-1,499,470,500,-1,499,472,470,-1,470,501,500,-1,470,469,501,-1,469,502,501,-1,469,468,502,-1,63,463,468,-1,463,63,412,-1,408,324,288,-1,408,403,324,-1,503,445,486,-1,444,445,503,-1,288,504,286,-1,288,323,504,-1,322,505,506,-1,505,322,507,-1,446,486,485,-1,503,486,446,-1,506,299,504,-1,298,299,506,-1,505,292,291,-1,292,505,450,-1,479,449,480,-1,321,449,479,-1,156,321,479,-1,461,321,156,-1,492,508,509,-1,492,493,508,-1,461,294,321,-1,510,294,461,-1,508,32,296,-1,32,508,43,-1,511,501,502,-1,511,312,501,-1,312,500,501,-1,313,500,312,-1,498,495,494,-1,307,495,498,-1,499,313,305,-1,313,499,500,-1,300,420,512,-1,420,300,406,-1,200,196,198,-1,200,199,196,-1,301,418,407,-1,301,513,418,-1,319,41,43,-1,41,319,302,-1,198,514,200,-1,514,198,515,-1,414,513,301,-1,414,415,513,-1,421,400,416,-1,399,400,421,-1,516,421,201,-1,516,399,421,-1,415,6,515,-1,9,6,415,-1,3,399,516,-1,5,399,3,-1,400,12,314,-1,316,12,400,-1,413,8,414,-1,11,8,413,-1,515,7,514,-1,6,7,515,-1,7,516,514,-1,7,3,516,-1,416,314,303,-1,400,314,416,-1,413,301,40,-1,413,414,301,-1,513,515,198,-1,415,515,513,-1,417,511,467,-1,417,394,511,-1,418,198,197,-1,513,198,418,-1,420,464,512,-1,419,464,420,-1,299,405,300,-1,405,299,297,-1,305,498,499,-1,305,307,498,-1,307,424,495,-1,307,306,424,-1,502,467,511,-1,467,502,465,-1,466,512,464,-1,466,409,512,-1,504,300,286,-1,504,299,300,-1,31,295,29,-1,31,297,295,-1,296,509,508,-1,296,510,509,-1,509,203,492,-1,204,203,509,-1,43,493,319,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=4 */
		private int[] getl_metacarpal_4_geometry_5_22_coordIndex_4()
		{
			int[] value = {493,43,508,-1,294,296,293,-1,294,510,296,-1,291,295,298,-1,295,291,293,-1,321,450,449,-1,321,292,450,-1,506,291,298,-1,291,506,505,-1,447,480,449,-1,447,374,480,-1,450,507,448,-1,450,505,507,-1,506,323,322,-1,506,504,323,-1,485,339,446,-1,485,340,339,-1,462,409,466,-1,462,408,409,-1,411,408,462,-1,408,411,403,-1,468,465,502,-1,465,468,463,-1,273,65,387,-1,275,65,273,-1,499,497,472,-1,499,498,497,-1,280,496,279,-1,496,280,497,-1,496,491,490,-1,496,494,491,-1,327,495,424,-1,495,327,329,-1,398,493,492,-1,395,493,398,-1,490,330,489,-1,491,330,490,-1,194,488,281,-1,194,487,488,-1,488,73,489,-1,73,488,71,-1,482,340,485,-1,340,482,267,-1,486,484,483,-1,486,445,484,-1,483,335,332,-1,335,483,484,-1,267,334,269,-1,334,267,482,-1,66,481,425,-1,66,279,481,-1,402,152,151,-1,402,423,152,-1,51,67,70,-1,276,67,51,-1,269,77,268,-1,77,269,75,-1,480,262,479,-1,477,262,480,-1,261,348,260,-1,155,348,261,-1,80,478,56,-1,80,74,478,-1,350,81,427,-1,341,81,350,-1,344,451,452,-1,451,344,343,-1,254,249,248,-1,254,160,249,-1,353,452,237,-1,353,344,452,-1,351,345,136,-1,351,157,345,-1,361,55,362,-1,361,426,55,-1,82,148,147,-1,82,205,148,-1,476,443,95,-1,476,352,443,-1,245,44,377,-1,142,44,245,-1,352,180,443,-1,180,352,178,-1,58,244,439,-1,244,58,59,-1,239,129,242,-1,238,129,239,-1,243,0,137,-1,243,242,0,-1,137,237,243,-1,137,353,237,-1,380,239,241,-1,239,380,433,-1,234,243,237,-1,241,243,234,-1,238,183,182,-1,238,240,183,-1,384,373,117,-1,384,232,373,-1,186,391,256,-1,186,367,391,-1,382,475,379,-1,475,382,474,-1,99,97,389,-1,99,96,97,-1,131,172,187,-1,131,120,172,-1,228,381,122,-1,227,381,228,-1,437,218,372,-1,214,218,437,-1,383,217,438,-1,216,217,383,-1,48,111,113,-1,48,215,111,-1,434,214,437,-1,213,214,434,-1,457,430,428,-1,457,134,430,-1,133,134,457,-1,429,89,105,-1,90,89,429,-1,362,211,100,-1,362,209,211,-1,103,84,104,-1,84,102,205,-1,84,103,102,-1,442,460,93,-1,460,442,458,-1,455,378,453,-1,455,376,378,-1,453,393,440,-1,453,46,393,-1,453,378,46,-1,193,487,194,-1,193,478,487,-1,76,478,74,-1,478,76,487,-1,473,273,387,-1,273,473,278,-1,388,469,470,-1,64,469,388,-1,394,312,511,-1,310,312,394,-1,514,201,200,-1,514,516,201,-1,419,467,464,-1,467,419,417,-1,463,466,465,-1,463,462,466,-1,509,461,204,-1,461,509,510,-1,185,189,188,-1,185,192,189,-1,435,183,240,-1,435,436,183,-1,358,370,177,-1,357,370,358,-1,119,27,229,-1,119,25,27,-1,125,454,123,-1,459,454,125,-1,428,458,457,-1,458,428,460,-1,459,455,454,-1,455,459,456,-1,370,359,230,-1,370,357,359,-1,108,222,109,-1,108,223,222,-1,172,357,173,-1,172,359,357,-1,165,431,166,-1,168,431,165,-1,98,163,162,-1,163,98,170,-1,160,351,249,-1,351,160,157,-1,155,263,348,-1,155,154,263,-1,265,452,451,-1,265,264,452,-1,448,444,503,-1,448,507,444,-1,503,447,448,-1,503,446,447,-1,507,289,444,-1,289,507,322,-1,347,150,149,-1,150,347,255,-1,46,377,44,-1,46,378,377,-1,441,443,180,-1,442,443,441,-1,173,233,367,-1,231,233,173,-1,128,440,439,-1,440,128,127,-1,125,132,133,-1,132,125,126,-1,25,379,475,-1,119,379,25,-1,62,108,110,-1,108,62,432,-1,354,422,355,-1,422,354,438,-1,434,435,433,-1,434,437,435,-1,436,115,118,-1,115,436,372,-1,134,25,475,-1,25,134,26,-1,363,97,364,-1,363,385,97,-1,207,83,94,-1,83,207,84,-1,166,211,210,-1,431,211,166,-1,162,99,98,-1,162,96,99,-1,206,105,207,-1,429,105,206,-1,88,430,474,-1,90,430,88,-1,85,95,86,-1,85,476,95,-1,93,206,94,-1,93,460,206,-1,427,78,426,-1,427,81,78,-1,80,77,74,-1,80,79,77,-1,75,71,76,-1,331,71,75,-1,331,72,71,-1,331,333,72,-1,66,336,69,-1,425,336,66,-1,278,68,67,-1,68,278,473,-1,471,387,388,-1,387,471,473,-1,141,135,1,-1,135,141,247,-1,55,209,362,-1,209,55,54,-1,272,21,36,-1,21,272,24,-1,22,423,37,-1,19,423,22,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=5 */
		private int[] getl_metacarpal_4_geometry_5_22_coordIndex_5()
		{
			int[] value = {20,50,152,-1,17,50,20,-1,18,276,51,-1,14,276,18,-1,277,23,274,-1,23,277,16,-1,422,48,113,-1,49,48,422,-1,311,416,308,-1,311,421,416,-1,396,304,318,-1,304,396,317,-1,406,418,420,-1,406,407,418,-1,197,417,419,-1,197,196,417,-1,327,396,397,-1,327,424,396,-1,401,40,39,-1,40,401,413,-1,275,63,65,-1,326,63,275,-1,337,411,412,-1,410,411,337,-1,337,38,410,-1,38,337,325,-1,35,402,151,-1,35,324,402,-1,512,287,300,-1,512,409,287,-1};
			return value;
		}
		/** Large attribute array: IndexedFaceSet DEF='l_metacarpal_4_geometry' coordIndex field, scene-graph level=5, element #22, 4120 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_4_geometry_5_22_coordIndex()
		{
			MFInt32 l_metacarpal_4_geometry_5_22_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getl_metacarpal_4_geometry_5_22_coordIndex_1()))
				.append(new MFInt32(getl_metacarpal_4_geometry_5_22_coordIndex_2()))
				.append(new MFInt32(getl_metacarpal_4_geometry_5_22_coordIndex_3()))
				.append(new MFInt32(getl_metacarpal_4_geometry_5_22_coordIndex_4()))
				.append(new MFInt32(getl_metacarpal_4_geometry_5_22_coordIndex_5()));
			return l_metacarpal_4_geometry_5_22_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='l_metacarpal_4_coordinate' point field, scene-graph level=6, element #22, 1551 total numbers made up of 517 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_4_coordinate_6_22_point()
		{
			MFVec3f l_metacarpal_4_coordinate_6_22_point = new MFVec3f(new double[] {0.2125,0.8212,0.0654,0.214,0.817,0.0638,0.2132,0.8177,0.0646,0.2213,0.7658,0.0723,0.2212,0.7669,0.0719,0.2218,0.7661,0.0725,0.2204,0.7661,0.0716,0.2208,0.7658,0.072,0.2204,0.7673,0.0711,0.2203,0.7666,0.0712,0.2211,0.7678,0.0715,0.2208,0.7676,0.0713,0.2221,0.7675,0.0723,0.2218,0.7679,0.0719,0.2159,0.7689,0.0828,0.215,0.7681,0.0826,0.216,0.7681,0.0829,0.2148,0.7694,0.0824,0.2155,0.7693,0.0827,0.2138,0.7682,0.0823,0.2142,0.7689,0.0823,0.2147,0.7669,0.0826,0.214,0.7674,0.0824,0.216,0.7676,0.0829,0.2154,0.767,0.0828,0.2184,0.8246,0.071,0.2184,0.8241,0.0684,0.2182,0.8238,0.0705,0.2182,0.8235,0.0689,0.2173,0.7749,0.0696,0.2183,0.7715,0.069,0.2158,0.7726,0.0685,0.2191,0.775,0.0695,0.2123,0.7737,0.0803,0.2115,0.7735,0.0782,0.2098,0.7722,0.0792,0.214,0.7652,0.0827,0.2123,0.7662,0.0821,0.2129,0.7647,0.0824,0.2204,0.7715,0.0698,0.2192,0.7705,0.0691,0.2224,0.7731,0.07,0.2225,0.772,0.0704,0.222,0.7751,0.0699,0.2125,0.8211,0.0614,0.2119,0.8212,0.0616,0.213,0.822,0.0618,0.2135,0.8223,0.0716,0.2128,0.8209,0.072,0.2132,0.8209,0.0723,0.2144,0.7711,0.0822,0.216,0.7712,0.083,0.2252,0.8126,0.0727,0.2254,0.8159,0.0723,0.2258,0.816,0.0733,0.2251,0.8164,0.0753,0.2247,0.8128,0.0758,0.2124,0.8197,0.062,0.2116,0.8215,0.0621,0.2123,0.8198,0.0625,0.2236,0.8198,0.077,0.2239,0.8211,0.0769,0.2232,0.8211,0.0769,0.2143,0.7623,0.0823,0.2175,0.7632,0.0831,0.2168,0.7636,0.0835,0.2201,0.7748,0.0851,0.2191,0.7714,0.0853,0.2197,0.7712,0.0852,0.2193,0.7747,0.0851,0.218,0.7736,0.085,0.223,0.7922,0.0802,0.2218,0.7841,0.0829,0.2223,0.7837,0.0821,0.2233,0.8075,0.077,0.2226,0.7998,0.0786,0.2233,0.7998,0.0785,0.2226,0.8075,0.077,0.2239,0.8128,0.077,0.2226,0.8095,0.0769,0.2233,0.8095,0.077,0.2229,0.8129,0.0771,0.2281,0.8231,0.0627,0.2271,0.8241,0.0625,0.2273,0.8246,0.0638,0.2259,0.8211,0.0632,0.2267,0.8237,0.0625,0.2276,0.8228,0.0626,0.224,0.8255,0.0722,0.2247,0.8254,0.0692,0.2241,0.8253,0.0691,0.2246,0.8254,0.0725,0.2241,0.8253,0.0747,0.2233,0.8237,0.0629,0.2266,0.8242,0.0625,0.2233,0.8234,0.0626,0.2248,0.8251,0.0727,0.2243,0.8251,0.075,0.2254,0.8235,0.0731,0.2253,0.8236,0.0734,0.2255,0.8233,0.0733,0.2271,0.8237,0.067,0.2273,0.8237,0.0668,0.227,0.824,0.0668,0.2263,0.8251,0.066,0.2261,0.8251,0.0659,0.225,0.8251,0.0689,0.219,0.8202,0.0754,0.2204,0.8204,0.0762,0.2191,0.8205,0.0755,0.2204,0.82,0.0762,0.2122,0.8215,0.0712,0.2124,0.8199,0.072,0.2125,0.8203,0.0721,0.212,0.8211,0.0711,0.2145,0.824,0.071,0.2147,0.823,0.0718,0.2149,0.8229,0.0717,0.2148,0.824,0.0708,0.2182,0.8246,0.0732,0.2181,0.8227,0.0741,0.2184,0.8229,0.0743,0.2186,0.8247,0.0733,0.2161,0.824,0.0675,0.2161,0.8237,0.0676,0.2176,0.8239,0.0673,0.2175,0.8237,0.0675,0.2119,0.8233,0.0645,0.2116,0.823,0.0646,0.2128,0.8236,0.0672,0.213,0.8237,0.0672,0.2184,0.8217,0.0747,0.2183,0.824,0.0681,0.2186,0.8241,0.0678,0.2188,0.8243,0.0682,0.2143,0.8161,0.0643,0.2143,0.8152,0.0639,0.2123,0.8186,0.0654,0.2138,0.8172,0.063,0.214,0.8175,0.0627,0.2158,0.8169,0.0639,0.2159,0.8166,0.0641,0.2128,0.8196,0.0618,0.2219,0.8162,0.0635,0.2217,0.8159,0.0636,0.2193,0.8164,0.0638,0.2193,0.8167,0.0638,0.2286,0.8212,0.0635,0.2288,0.8219,0.0648,0.2278,0.8186,0.0658,0.227,0.8177,0.0644,0.2109,0.7721,0.0808,0.2127,0.7703,0.0819,0.2219,0.798,0.0701,0.2199,0.8053,0.0678,0.2219,0.8055,0.0688,0.2194,0.798,0.0696,0.2159,0.8125,0.0643,0.2179,0.8104,0.0654,0.2157,0.8107,0.0663,0.2183,0.8123,0.0642,0.2248,0.8252,0.0693,0.2248,0.8252,0.0724,0.2246,0.8243,0.071,0.2248,0.8244,0.0695,0.2259,0.8228,0.0689,0.2276,0.8226,0.0677,0.2253,0.8235,0.0684,0.2251,0.8227,0.0703,0.2248,0.8235,0.0697,0.225,0.8233,0.0717,0.2158,0.8189,0.0736,0.2175,0.8213,0.0729,0.2165,0.8206,0.0724,0.2168,0.8192,0.0741,0.2162,0.8231,0.0682,0.2157,0.8234,0.0696,0.2164,0.8226,0.0696,0.2189,0.82,0.0631,0.2169,0.8218,0.0621,0.2186,0.822,0.0626,0.2166,0.8198,0.0628,0.2144,0.8239,0.0681,0.2143,0.8238,0.0687,0.2143,0.8153,0.0741,0.2155,0.8155,0.0752,0.2144,0.8183,0.0732,0.2185,0.8195,0.0753,0.218,0.8161,0.0759,0.2181,0.8121,0.0759,0.2168,0.8074,0.0747,0.2184,0.8077,0.0756,0.2162,0.8119,0.0753,0.2249,0.8071,0.0734,0.225,0.7998,0.0748,0.2247,0.7991,0.0723,0.2177,0.7616,0.0705,0.2164,0.7625,0.0696,0.2186,0.7637,0.0706,0.2195,0.7612,0.0721,0.2197,0.7624,0.072,0.2215,0.7622,0.0735,0.2236,0.7984,0.0709,0.224,0.7902,0.0711,0.2216,0.79,0.0707,0.2282,0.8235,0.0641,0.2257,0.8247,0.0639,0.2271,0.8246,0.0638,0.2279,0.8226,0.0674,0.2262,0.8195,0.0716,0.2278,0.8223,0.0677,0.2261,0.8222,0.0708,0.2274,0.8191,0.0683,0.2128,0.8227,0.0709,0.2134,0.8233,0.0709,0.2126,0.8217,0.0714,0.2142,0.8222,0.0722,0.2137,0.8212,0.0725,0.214,0.8235,0.0711,0.2204,0.8195,0.0761,0.2208,0.8236,0.0752,0.2195,0.8234,0.0746,0.2198,0.8222,0.0753,0.2205,0.8217,0.0759,0.2223,0.8223,0.0763,0.2227,0.8236,0.0757,0.222,0.8245,0.0751,0.2211,0.8248,0.0746,0.2199,0.8244,0.0743,0.218,0.8232,0.0716,0.2178,0.8229,0.0699,0.2161,0.8208,0.0721,0.2157,0.8214,0.0717,0.2144,0.8196,0.0726,0.2118,0.8195,0.0701,0.2118,0.8172,0.0712,0.2122,0.8184,0.0715,0.2114,0.8174,0.0687,0.213,0.8237,0.0674,0.2125,0.8225,0.0689,0.2131,0.8235,0.0686,0.2118,0.8204,0.0694,0.2117,0.8219,0.0673,0.2114,0.8196,0.0679,0.2122,0.8203,0.0637,0.2144,0.8195,0.0621,0.2189,0.8158,0.0643,0.2159,0.8158,0.0644,0.2215,0.8153,0.0639,0.2185,0.8149,0.0638,0.2276,0.821,0.063,0.224,0.8168,0.0636,0.2279,0.821,0.0631,0.2242,0.8163,0.0638,0.2212,0.8125,0.0643,0.2243,0.8132,0.0647,0.2133,0.8178,0.0725,0.2132,0.815,0.0733,0.225,0.8117,0.0698,0.2242,0.8061,0.0711,0.2245,0.8112,0.0681,0.223,0.8057,0.0696,0.2168,0.8061,0.068,0.2205,0.8102,0.0655,0.212,0.8146,0.0715,0.2135,0.8113,0.072,0.2142,0.8115,0.0733,0.2181,0.7992,0.0769,0.2208,0.8078,0.0764,0.2206,0.7997,0.0782,0.2173,0.7744,0.0842,0.215,0.7739,0.0823,0.216,0.7654,0.0833,0.2187,0.7661,0.0843,0.2173,0.7669,0.0837,0.2162,0.7641,0.0837,0.2173,0.77,0.0835,0.2175,0.7681,0.0835,0.2194,0.7681,0.0846,0.2213,0.7744,0.0832,0.2213,0.7708,0.0836,0.2252,0.7914,0.0761,0.2255,0.7905,0.0736,0.2258,0.7816,0.0729,0.2259,0.7815,0.0718,0.2252,0.7904,0.0719,0.2103,0.7681,0.0729,0.2103,0.7672,0.0731,0.2094,0.7692,0.0763,0.2121,0.7752,0.0779,0.2131,0.7751,0.0801,0.2153,0.7784,0.0713,0.2158,0.7824,0.0711,0.2165,0.7783,0.0705,0.2169,0.7821,0.0706,0.2157,0.7746,0.0701,0.2188,0.7782,0.07,0.2147,0.7726,0.0691,0.2145,0.7742,0.071,0.2132,0.7717,0.0705,0.2119,0.7683,0.0696,0.218,0.7682,0.0691,0.2243,0.7723,0.0705,0.2248,0.7694,0.0728,0.2255,0.7722,0.0714,0.2245,0.7673,0.0768,0.2257,0.7699,0.0743,0.2249,0.77,0.0764,0.2251,0.7669,0.0751,0.2251,0.7695,0.0733,0.2213,0.7616,0.0741,0.2238,0.764,0.0752,0.221,0.7613,0.0759,0.2235,0.7642,0.0769,0.2233,0.7682,0.0726,0.2227,0.7695,0.0719,0.2221,0.7668,0.0725,0.2257,0.7719,0.0721,0.2255,0.7732,0.0712,0.2243,0.7744,0.0704,0.2153,0.7711,0.0677,0.2171,0.7901,0.0705,0.2126,0.7753,0.0756,0.211,0.7725,0.0756,0.2095,0.7686,0.0797,0.2138,0.7638,0.0828,0.214,0.7628,0.0827,0.2258,0.7773,0.0732,0.2256,0.7817,0.0747,0.2253,0.7774,0.0752,0.2248,0.7822,0.0773,0.2222,0.7922,0.0802,0.2196,0.7841,0.0817,0.2212,0.7842,0.0828,0.2205,0.7921,0.0797,0.2184,0.7794,0.0831,0.2202,0.7792,0.0839,0.2129,0.7629,0.0821,0.2155,0.8068,0.0729,0.2157,0.7992,0.0739,0.2166,0.7991,0.0757,0.2207,0.8124,0.0762,0.2201,0.8124,0.0761,0.2139,0.8108,0.0678,0.2126,0.8138,0.0666,0.2147,0.8129,0.0646,0.2259,0.8152,0.069,0.2259,0.8143,0.067,0.2231,0.8104,0.0667,0.22,0.8162,0.0761,0.2205,0.8162,0.0762,0.2159,0.8148,0.0637,0.2203,0.8203,0.0633,0.2124,0.8165,0.0657,0.2142,0.8204,0.0729,0.2131,0.8198,0.0726,0.2134,0.8193,0.072,0.2172,0.8217,0.0704,0.2164,0.8219,0.0707,0.2177,0.8223,0.0709,0.2248,0.821,0.0766,0.2246,0.8198,0.0768,0.2258,0.82,0.0746,0.224,0.8232,0.0763,0.2239,0.8252,0.0751,0.2143,0.8228,0.0718,0.2151,0.8117,0.0742,0.2145,0.8191,0.0729,0.2144,0.8242,0.0678,0.2146,0.8234,0.065,0.2173,0.8222,0.0695,0.2177,0.8231,0.0681,0.2141,0.8242,0.0707,0.2159,0.8221,0.0708,0.2157,0.7991,0.0724,0.2152,0.8064,0.0711,0.2169,0.8222,0.0623,0.2147,0.8216,0.0617,0.2148,0.8221,0.0619,0.2186,0.8248,0.073,0.212,0.8214,0.0709,0.2211,0.8255,0.0741,0.2212,0.8255,0.0736,0.2147,0.8222,0.0724,0.2149,0.822,0.0723,0.2244,0.8231,0.0761,0.212,0.8199,0.0703,0.2193,0.7657,0.0841,0.2199,0.7653,0.0834,0.2247,0.8232,0.0758,0.2153,0.7747,0.0822,0.2133,0.8188,0.0722,0.2124,0.819,0.0714,0.212,0.8221,0.0621,0.219,0.7606,0.0727,0.2255,0.7776,0.0711,0.2257,0.7729,0.0719,0.2258,0.7774,0.0717,0.2255,0.7815,0.0712,0.2224,0.7654,0.0733,0.223,0.7667,0.0731,0.2209,0.7694,0.0707,0.2101,0.7685,0.081,0.21,0.7656,0.0803,0.2105,0.7658,0.081,0.2137,0.7703,0.068,0.2138,0.7687,0.0681,0.2154,0.7688,0.0678,0.2097,0.765,0.077,0.2103,0.7644,0.0736,0.2115,0.764,0.0815,0.211,0.7636,0.0807,0.2126,0.7623,0.0816,0.2201,0.7686,0.0704,0.2194,0.7679,0.0702,0.2191,0.7663,0.0705,0.2246,0.7667,0.0743,0.2168,0.7609,0.0713,0.2156,0.7653,0.0684,0.2153,0.7621,0.0698,0.2142,0.765,0.0688,0.2236,0.7643,0.0744,0.2131,0.8203,0.0726,0.2119,0.7684,0.0819,0.2258,0.7729,0.0737,0.221,0.779,0.084,0.2242,0.8164,0.077,0.2231,0.8164,0.0773,0.2226,0.8245,0.0656,0.2252,0.825,0.0657,0.2221,0.825,0.0687,0.2261,0.8224,0.0707,0.223,0.8215,0.0768,0.2124,0.8228,0.0702,0.2125,0.8228,0.0706,0.2131,0.8239,0.07,0.2141,0.8242,0.0703,0.2132,0.8238,0.0704,0.2139,0.8207,0.0729,0.2113,0.822,0.0629,0.2116,0.8225,0.0628,0.2186,0.8224,0.0628,0.2201,0.8228,0.0629,0.2202,0.8225,0.0627,0.2133,0.7795,0.0772,0.2145,0.7797,0.0791,0.2152,0.7913,0.0752,0.2154,0.7909,0.0735,0.2142,0.7831,0.0746,0.2158,0.7906,0.0722,0.2148,0.7826,0.0728,0.2134,0.811,0.07,0.2117,0.8144,0.0693,0.2147,0.8228,0.0635,0.2167,0.8234,0.0653,0.2169,0.8229,0.0639,0.2183,0.8229,0.064,0.2193,0.8236,0.0655,0.2197,0.8232,0.0641,0.2181,0.8234,0.0654,0.2229,0.8241,0.064,0.2191,0.7899,0.0703,0.2112,0.7625,0.0781,0.2128,0.7614,0.0791,0.2134,0.7617,0.072,0.2138,0.7605,0.0763,0.2118,0.7619,0.075,0.2152,0.7604,0.0734,0.2148,0.7611,0.08,0.2187,0.7625,0.0814,0.2211,0.7651,0.0818,0.2206,0.7678,0.0836,0.2218,0.7674,0.0817,0.2198,0.7679,0.0845,0.2216,0.8254,0.0714,0.2188,0.8249,0.0711,0.2229,0.8206,0.0633,0.2155,0.8063,0.0693,0.2244,0.8071,0.076,0.2173,0.7983,0.0697,0.216,0.7989,0.071,0.2219,0.7785,0.0827,0.2179,0.7917,0.0783,0.217,0.7839,0.08,0.2162,0.7797,0.0811,0.2162,0.7915,0.0769,0.2155,0.7837,0.0785,0.2245,0.8001,0.077,0.2244,0.7918,0.0783,0.2237,0.7829,0.0797,0.2231,0.7782,0.0804,0.2243,0.7778,0.078,0.2242,0.7818,0.0706,0.2243,0.7779,0.0704,0.2239,0.7735,0.0784,0.225,0.7731,0.0758,0.2226,0.7739,0.0808,0.2225,0.7706,0.0813,0.2238,0.7703,0.079,0.2231,0.7673,0.0793,0.2225,0.7645,0.0796,0.2198,0.7617,0.0786,0.2159,0.7602,0.0773,0.2142,0.7835,0.0765,0.2121,0.7719,0.0729,0.2142,0.7788,0.0729,0.2133,0.7746,0.0731,0.2135,0.7792,0.0751,0.2217,0.7781,0.0703,0.2215,0.7821,0.0705,0.2189,0.7821,0.0704,0.2174,0.76,0.0746,0.212,0.7644,0.0707,0.2181,0.7659,0.0696,0.2203,0.7642,0.0718,0.2195,0.7651,0.071,0.2215,0.7643,0.0729});
			return l_metacarpal_4_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_4 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_4().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_4\" 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_4 self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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