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 foot. </p>
 <p> Related links:  source r_metatarsal_1.java, <a href="https://www.web3d.org/x3d/content/examples/X3dResources.html" target="_blank">X3D Resources</a>, <a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html" target="_blank">X3D Scene Authoring Hints</a>, and <a href="https://www.web3d.org/x3d/content/X3dTooltips.html" target="_blank">X3D Tooltips</a>. </p>
	<table style="color:black; border:0px solid; border-spacing:10px 0px;">
        <caption>Scene Meta Information</caption>
		<tr style="background-color:silver; border-color:silver;">
			<td style="text-align:center; padding:10px 0px;"><i>meta tags</i></td>
			<td style="text-align:left;   padding:10px 0px;">HumanoidAnimation.Skeleton.r_metatarsal_1&nbsp; Document Metadata </td>
		</tr>

		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> title </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/r_metatarsal_1.x3d">r_metatarsal_1.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> bone in foot </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/rfmet.x3d">originals/rfmet.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/Metatarsal_bones" target="_blank">https://en.wikipedia.org/wiki/Metatarsal_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/r_metatarsal_1.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/r_metatarsal_1.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> license </i> </td>
			<td> <a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skeleton/../license.html">../license.html</a> </td>
		</tr>
		<tr style="background-color:silver; border-color:silver;">
			<td style="text-align:center;" colspan="2">  &nbsp; </td>
		</tr>
	</table>

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

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

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

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

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=2 */
		private int[] getr_metatarsal_1_geometry_5_22_coordIndex_2()
		{
			int[] value = {60,59,182,-1,238,240,11,-1,12,186,10,-1,33,185,10,-1,232,88,84,-1,328,69,329,-1,69,68,329,-1,236,74,224,-1,236,70,74,-1,224,74,69,-1,72,19,21,-1,54,41,44,-1,51,63,330,-1,51,218,63,-1,95,39,41,-1,43,42,217,-1,215,16,218,-1,218,216,215,-1,218,16,63,-1,213,63,62,-1,213,212,82,-1,85,208,211,-1,211,34,85,-1,208,85,87,-1,87,229,208,-1,212,62,66,-1,66,331,212,-1,206,332,46,-1,206,333,332,-1,49,52,205,-1,202,334,203,-1,335,336,38,-1,25,27,193,-1,189,26,190,-1,335,197,336,-1,30,32,188,-1,32,187,188,-1,205,332,333,-1,333,337,205,-1,325,13,60,-1,328,296,177,-1,296,294,177,-1,248,338,153,-1,338,314,153,-1,248,318,338,-1,318,339,338,-1,314,171,153,-1,314,172,171,-1,313,340,284,-1,278,142,341,-1,278,277,142,-1,342,343,344,-1,344,345,342,-1,344,346,345,-1,344,347,346,-1,347,348,346,-1,348,349,346,-1,162,161,158,-1,297,274,164,-1,164,163,297,-1,99,298,171,-1,154,156,160,-1,160,129,154,-1,155,151,157,-1,155,152,151,-1,350,310,283,-1,350,315,310,-1,0,107,109,-1,147,146,308,-1,308,313,147,-1,145,148,311,-1,311,281,145,-1,285,307,108,-1,351,352,353,-1,354,355,356,-1,355,357,356,-1,133,135,158,-1,135,159,158,-1,165,358,166,-1,359,341,360,-1,360,268,359,-1,24,361,22,-1,354,362,125,-1,125,124,354,-1,361,24,8,-1,8,7,361,-1,141,272,316,-1,363,364,267,-1,364,266,267,-1,271,133,166,-1,271,134,133,-1,365,226,366,-1,226,367,366,-1,105,106,22,-1,106,23,22,-1,361,122,98,-1,98,97,361,-1,115,114,306,-1,128,305,100,-1,305,101,100,-1,80,96,81,-1,80,365,96,-1,328,177,69,-1,89,86,83,-1,36,35,82,-1,214,215,368,-1,74,70,21,-1,70,72,21,-1,12,15,243,-1,240,60,15,-1,192,27,58,-1,58,95,192,-1,192,54,53,-1,192,95,54,-1,46,332,369,-1,28,189,30,-1,189,191,30,-1,43,55,54,-1,54,44,43,-1,30,191,37,-1,35,370,213,-1,37,198,371,-1,32,33,10,-1,29,187,10,-1,33,31,38,-1,10,187,32,-1,60,180,325,-1,372,173,108,-1,234,67,64,-1,93,373,91,-1,220,222,13,-1,238,11,10,-1,7,122,361,-1,324,374,319,-1,321,375,323,-1,376,375,321,-1,173,118,120,-1,173,372,118,-1,335,37,371,-1,38,37,335,-1,210,202,211,-1,202,210,334,-1,377,200,378,-1,200,377,196,-1,38,183,33,-1,38,336,183,-1,369,370,46,-1,369,330,370,-1,26,28,57,-1,26,189,28,-1,370,47,46,-1,370,35,47,-1,379,368,235,-1,379,214,368,-1,373,223,178,-1,223,373,380,-1,381,177,294,-1,91,177,381,-1,231,212,331,-1,231,90,212,-1,325,102,101,-1,325,180,102,-1,226,382,367,-1,226,228,382,-1,356,265,264,-1,265,356,357,-1,273,166,358,-1,273,271,166,-1,3,267,227,-1,3,363,267,-1,272,364,316,-1,364,272,266,-1,127,24,302,-1,127,8,24,-1,257,341,359,-1,257,278,341,-1,280,131,130,-1,131,280,247,-1,132,168,277,-1,132,134,168,-1,383,358,165,-1,383,362,358,-1,362,356,358,-1,362,354,356,-1,355,382,357,-1,355,384,382,-1,260,137,136,-1,251,137,260,-1,385,386,387,-1,385,262,386,-1,313,307,285,-1,313,308,307,-1,310,269,312,-1,315,269,310,-1,284,388,353,-1,388,284,340,-1,283,353,350,-1,284,353,283,-1,274,298,99,-1,274,297,298,-1,112,309,113,-1,309,112,295,-1,310,148,283,-1,311,148,310,-1,292,322,253,-1,322,292,290,-1,389,318,320,-1,318,389,339,-1,106,301,23,-1,301,106,286,-1,175,109,108,-1,175,287,109,-1,124,390,391,-1,126,390,124,-1,392,393,394,-1,393,392,395,-1,230,396,397,-1,396,230,366,-1,337,56,205,-1,337,53,56,-1,198,398,371,-1,398,198,207,-1,203,200,199,-1,203,334,200,-1,369,205,52,-1,205,369,332,-1,193,333,25,-1,333,193,337,-1,399,235,368,-1,399,236,235,-1,64,17,233,-1,64,18,17,-1,90,232,89,-1,232,90,231,-1,400,401,402,-1,401,400,403,-1,404,208,229,-1,209,208,404,-1,403,378,401,-1,378,403,377,-1,50,43,216,-1,43,50,55,-1,45,41,40,-1,41,45,44,-1,19,405,20,-1,19,237,405,-1,219,21,20,-1,21,219,68,-1,303,329,221,-1,406,329,303,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=3 */
		private int[] getr_metatarsal_1_geometry_5_22_coordIndex_3()
		{
			int[] value = {236,71,70,-1,399,71,236,-1,380,93,234,-1,380,373,93,-1,96,366,230,-1,365,366,96,-1,396,392,407,-1,392,396,408,-1,409,182,410,-1,182,409,181,-1,411,61,327,-1,411,59,61,-1,326,403,242,-1,326,377,403,-1,393,410,394,-1,410,393,409,-1,411,412,413,-1,327,412,411,-1,407,394,413,-1,407,392,394,-1,414,413,412,-1,414,407,413,-1,13,405,14,-1,13,222,405,-1,101,220,325,-1,101,305,220,-1,415,129,140,-1,415,154,129,-1,139,416,140,-1,139,259,416,-1,138,245,415,-1,138,417,245,-1,324,417,250,-1,417,324,249,-1,388,351,353,-1,418,351,388,-1,385,419,420,-1,385,387,419,-1,375,418,2,-1,375,419,418,-1,420,374,252,-1,374,420,376,-1,320,323,322,-1,320,321,323,-1,324,318,248,-1,324,319,318,-1,270,421,422,-1,421,270,423,-1,261,256,263,-1,261,254,256,-1,259,317,416,-1,259,258,317,-1,421,352,386,-1,421,423,352,-1,416,136,138,-1,416,317,136,-1,391,384,355,-1,391,395,384,-1,124,355,354,-1,124,391,355,-1,316,282,149,-1,316,364,282,-1,150,360,144,-1,312,360,150,-1,341,144,360,-1,144,341,142,-1,276,362,383,-1,276,125,362,-1,161,165,158,-1,383,165,161,-1,340,285,107,-1,340,313,285,-1,77,111,281,-1,76,111,77,-1,111,146,145,-1,110,146,111,-1,309,119,116,-1,119,309,304,-1,306,118,372,-1,118,306,114,-1,304,117,119,-1,304,128,117,-1,289,348,347,-1,348,289,291,-1,104,349,288,-1,346,349,104,-1,424,103,300,-1,424,345,103,-1,425,426,299,-1,342,426,425,-1,347,427,289,-1,344,427,347,-1,338,299,314,-1,338,425,299,-1,105,300,103,-1,300,105,169,-1,427,339,389,-1,428,339,427,-1,100,8,127,-1,100,9,8,-1,170,361,97,-1,170,22,361,-1,153,298,151,-1,153,171,298,-1,179,123,7,-1,123,179,429,-1,363,5,293,-1,363,3,5,-1,5,91,381,-1,5,4,91,-1,296,329,406,-1,296,328,329,-1,293,381,75,-1,5,381,293,-1,295,406,309,-1,295,296,406,-1,364,293,282,-1,364,363,293,-1,429,181,409,-1,429,179,181,-1,302,23,301,-1,302,24,23,-1,339,425,338,-1,339,428,425,-1,389,289,427,-1,389,290,289,-1,344,428,427,-1,344,343,428,-1,428,342,425,-1,343,342,428,-1,426,300,299,-1,426,424,300,-1,345,104,103,-1,345,346,104,-1,288,348,291,-1,348,288,349,-1,304,406,303,-1,304,309,406,-1,76,295,112,-1,76,78,295,-1,280,132,279,-1,132,280,135,-1,161,276,383,-1,161,164,276,-1,276,121,125,-1,276,275,121,-1,141,167,272,-1,141,143,167,-1,268,422,359,-1,422,268,270,-1,273,266,272,-1,273,264,266,-1,429,126,123,-1,126,429,390,-1,393,429,409,-1,390,429,393,-1,227,265,228,-1,265,227,267,-1,262,421,386,-1,262,263,421,-1,353,423,350,-1,352,423,353,-1,421,256,422,-1,263,256,421,-1,270,350,423,-1,270,315,350,-1,258,255,254,-1,258,247,255,-1,256,359,422,-1,256,257,359,-1,250,374,324,-1,250,252,374,-1,376,419,375,-1,376,420,419,-1,2,388,0,-1,2,418,388,-1,420,251,385,-1,252,251,420,-1,351,419,387,-1,419,351,418,-1,137,417,138,-1,137,250,417,-1,417,246,245,-1,249,246,417,-1,416,415,140,-1,416,138,415,-1,154,245,155,-1,154,415,245,-1,153,246,248,-1,152,246,153,-1,237,14,405,-1,14,237,243,-1,402,412,400,-1,402,414,412,-1,404,414,402,-1,414,404,397,-1,241,412,327,-1,241,400,412,-1,411,394,410,-1,411,413,394,-1,400,242,403,-1,241,242,400,-1,410,59,411,-1,59,410,182,-1,379,234,233,-1,379,380,234,-1,79,66,65,-1,331,66,79,-1,397,407,414,-1,397,396,407,-1,408,395,392,-1,395,408,384,-1,80,226,365,-1,226,80,176,-1,80,65,225,-1,79,65,80,-1,234,92,67,-1,93,92,234,-1,68,221,329,-1,221,68,219,-1,19,39,237,-1,40,39,19,-1,20,222,219,-1,20,405,222,-1,305,221,220,-1,221,305,303,-1,217,368,215,-1,217,399,368,-1,330,213,370,-1,213,330,63,-1,401,210,209,-1,378,210,401,-1,209,402,401,-1,209,404,402,-1,89,84,86,-1,84,89,232,-1,214,233,17,-1,233,214,379,-1,207,201,398,-1,207,48,201,-1,25,206,194,-1,206,25,333,-1,192,337,193,-1,337,192,53,-1,201,47,204,-1,48,47,201,-1,203,398,201,-1,199,398,203,-1,398,195,371,-1,195,398,199,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=4 */
		private int[] getr_metatarsal_1_geometry_5_22_coordIndex_4()
		{
			int[] value = {195,335,371,-1,335,195,197,-1,198,190,194,-1,198,191,190,-1,28,244,57,-1,28,186,244,-1,94,57,244,-1,57,94,58,-1,179,102,181,-1,9,102,179,-1,227,6,3,-1,6,227,176,-1,230,404,229,-1,397,404,230,-1,366,408,396,-1,408,366,367,-1,395,390,393,-1,390,395,391,-1,286,173,301,-1,174,173,286,-1,290,320,322,-1,320,290,389,-1,292,109,287,-1,253,109,292,-1,22,169,105,-1,169,22,170,-1,146,115,308,-1,115,146,110,-1,342,424,426,-1,345,424,342,-1,388,107,0,-1,107,388,340,-1,312,268,360,-1,312,269,268,-1,281,150,149,-1,281,311,150,-1,387,352,351,-1,387,386,352,-1,251,262,385,-1,251,260,262,-1,367,384,408,-1,384,367,382,-1,277,143,142,-1,277,168,143,-1,247,279,255,-1,247,280,279,-1,255,278,257,-1,255,279,278,-1,121,126,125,-1,123,126,121,-1,117,302,120,-1,302,117,127,-1,118,116,119,-1,116,118,114,-1,110,113,115,-1,112,113,110,-1,358,264,273,-1,264,358,356,-1,228,357,382,-1,228,265,357,-1,307,372,108,-1,306,372,307,-1,240,12,11,-1,240,15,12,-1,399,42,71,-1,399,217,42,-1,84,81,87,-1,88,81,84,-1,90,82,212,-1,83,82,90,-1,88,331,79,-1,331,88,231,-1,36,86,85,-1,83,86,36,-1,178,91,373,-1,177,91,178,-1,75,294,78,-1,75,381,294,-1,235,380,379,-1,235,223,380,-1,45,71,42,-1,45,73,71,-1,66,18,64,-1,66,62,18,-1,67,225,65,-1,225,67,92,-1,35,204,47,-1,35,34,204,-1,49,55,50,-1,56,55,49,-1,330,52,51,-1,52,330,369,-1,336,326,183,-1,326,336,197,-1,197,377,326,-1,196,377,197,-1,378,334,210,-1,334,378,200,-1,211,204,34,-1,204,211,202,-1,225,6,80,-1,6,225,4,-1,323,2,1,-1,375,2,323,-1,321,374,376,-1,374,321,319,-1};
			return value;
		}
		/** Large attribute array: IndexedFaceSet DEF='r_metatarsal_1_geometry' coordIndex field, scene-graph level=5, element #22, 3424 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 getr_metatarsal_1_geometry_5_22_coordIndex()
		{
			MFInt32 r_metatarsal_1_geometry_5_22_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getr_metatarsal_1_geometry_5_22_coordIndex_1()))
				.append(new MFInt32(getr_metatarsal_1_geometry_5_22_coordIndex_2()))
				.append(new MFInt32(getr_metatarsal_1_geometry_5_22_coordIndex_3()))
				.append(new MFInt32(getr_metatarsal_1_geometry_5_22_coordIndex_4()));
			return r_metatarsal_1_geometry_5_22_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='r_metatarsal_1_coordinate' point field, scene-graph level=6, element #22, 1290 total numbers made up of 430 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 getr_metatarsal_1_coordinate_6_22_point()
		{
			MFVec3f r_metatarsal_1_coordinate_6_22_point = new MFVec3f(new double[] {-0.0622,0.0063,0.0441,-0.0618,0.0053,0.0479,-0.0634,0.0055,0.0477,-0.0705,0.0269,0.028,-0.0695,0.0274,0.0202,-0.0702,0.0248,0.0274,-0.069,0.0303,0.0215,-0.0578,0.0221,0.0396,-0.0574,0.0199,0.039,-0.058,0.022,0.0335,-0.0471,0.0334,0.0037,-0.0479,0.0326,0.0063,-0.0497,0.0306,0.0042,-0.0536,0.029,0.0139,-0.0528,0.0298,0.0081,-0.0513,0.0305,0.0097,-0.0722,0.0322,-0.0037,-0.0724,0.0318,-0.0013,-0.0726,0.0333,-0.0005,-0.0607,0.0272,0.0012,-0.0611,0.0271,0.0057,-0.0645,0.0266,0.0059,-0.0559,0.0188,0.0459,-0.0563,0.0174,0.0439,-0.0566,0.0184,0.0424,-0.057,0.0318,-0.0028,-0.0538,0.0309,-0.0028,-0.0572,0.0288,-0.0043,-0.0501,0.0328,-0.0002,-0.0497,0.0338,0.001,-0.0507,0.0358,0.0022,-0.048,0.0384,0.004,-0.0487,0.0363,0.0036,-0.0476,0.0384,0.0044,-0.0681,0.0429,0.0016,-0.0675,0.0392,-0.0005,-0.0682,0.0403,0.0005,-0.0509,0.0369,0.003,-0.0482,0.0393,0.0041,-0.058,0.0267,-0.0037,-0.0602,0.0261,-0.0031,-0.0608,0.026,-0.0052,-0.0668,0.0254,-0.0048,-0.0682,0.0265,-0.0065,-0.0638,0.0256,-0.0058,-0.0642,0.0254,-0.0042,-0.0655,0.0365,-0.002,-0.0667,0.0392,-0.0005,-0.0653,0.0387,0.0003,-0.0698,0.0291,-0.0063,-0.0704,0.0287,-0.0065,-0.0707,0.0307,-0.005,-0.07,0.0307,-0.0049,-0.0631,0.0272,-0.0067,-0.0631,0.0266,-0.0069,-0.0681,0.027,-0.0067,-0.0678,0.0275,-0.0065,-0.0536,0.0303,-0.003,-0.0563,0.0285,-0.0041,-0.0526,0.0322,0.0178,-0.0522,0.0298,0.0156,-0.0506,0.0341,0.0135,-0.0725,0.0346,0.0002,-0.0712,0.0337,-0.0034,-0.0719,0.0323,0.0034,-0.0694,0.0328,0.0088,-0.072,0.0337,0.0037,-0.0697,0.0313,0.0084,-0.0644,0.0262,0.0104,-0.0669,0.026,0.0108,-0.0658,0.0255,0.0009,-0.0663,0.0253,-0.003,-0.0638,0.0258,0.0011,-0.0643,0.0254,-0.0032,-0.0658,0.0261,0.0058,-0.0699,0.0194,0.0332,-0.0699,0.0168,0.0368,-0.071,0.0177,0.0365,-0.0691,0.0185,0.0332,-0.0695,0.0348,0.0095,-0.0683,0.0339,0.015,-0.0693,0.0369,0.0107,-0.0683,0.0395,0.0001,-0.0693,0.0398,0.0009,-0.0717,0.0401,0.0072,-0.0698,0.043,0.0041,-0.0707,0.0422,0.004,-0.071,0.0408,0.0083,-0.0703,0.0366,0.0089,-0.0718,0.0399,0.0018,-0.0721,0.0368,0.0012,-0.0687,0.0259,0.019,-0.0689,0.0293,0.0128,-0.0693,0.0278,0.012,-0.0549,0.028,-0.0032,-0.0587,0.0272,-0.0057,-0.0687,0.039,0.0123,-0.058,0.0205,0.0494,-0.0586,0.0211,0.049,-0.0588,0.0218,0.0532,-0.0586,0.0201,0.0333,-0.0581,0.0224,0.0283,-0.0571,0.024,0.0288,-0.0567,0.0147,0.0504,-0.0577,0.0136,0.0487,-0.0556,0.0182,0.0464,-0.0562,0.0168,0.0444,-0.0623,0.0067,0.0438,-0.0609,0.0095,0.0436,-0.0593,0.0066,0.0465,-0.0678,0.0128,0.0412,-0.0713,0.0139,0.0407,-0.0673,0.0153,0.0374,-0.0648,0.0145,0.0377,-0.0633,0.0119,0.041,-0.0653,0.0118,0.0414,-0.0639,0.0142,0.0378,-0.0602,0.016,0.0376,-0.0613,0.0126,0.0409,-0.0617,0.0151,0.0375,-0.06,0.0138,0.041,-0.0606,0.0246,0.0433,-0.0577,0.0212,0.0432,-0.0603,0.0259,0.0401,-0.0655,0.0288,0.0404,-0.0655,0.0274,0.0436,-0.0645,0.0284,0.0404,-0.0579,0.0178,0.0383,-0.0604,0.018,0.0346,-0.0704,0.0271,0.0526,-0.074,0.0259,0.0527,-0.0738,0.0258,0.0533,-0.0754,0.021,0.0503,-0.0749,0.0234,0.0497,-0.0756,0.0217,0.0493,-0.0748,0.023,0.0508,-0.0688,0.0191,0.0608,-0.0679,0.0188,0.0611,-0.0676,0.0228,0.0594,-0.0741,0.0241,0.0553,-0.0713,0.0261,0.0554,-0.0759,0.0206,0.042,-0.0764,0.0196,0.0459,-0.0762,0.0207,0.0457,-0.0759,0.0196,0.0425,-0.0717,0.0131,0.0425,-0.0682,0.0117,0.0438,-0.0685,0.0111,0.0441,-0.0724,0.0126,0.0429,-0.0753,0.018,0.04,-0.0756,0.0172,0.0407,-0.0591,0.023,0.0561,-0.0593,0.0229,0.0567,-0.0576,0.0194,0.0572,-0.0667,0.0269,0.0537,-0.0617,0.0252,0.0554,-0.0666,0.027,0.053,-0.0615,0.0251,0.0548,-0.073,0.0254,0.0496,-0.0732,0.0252,0.0504,-0.0699,0.0273,0.0521,-0.0693,0.0271,0.05,-0.0695,0.0269,0.051,-0.0663,0.0268,0.0516,-0.066,0.0267,0.0506,-0.0725,0.0256,0.0476,-0.074,0.0246,0.0473,-0.0753,0.0219,0.0459,-0.076,0.0206,0.0476,-0.0564,0.0183,0.0508,-0.0566,0.0189,0.0506,-0.0583,0.0199,0.0556,-0.0581,0.0191,0.0554,-0.0595,0.0127,0.0426,-0.0591,0.0124,0.0433,-0.0603,0.0095,0.044,-0.0688,0.0316,0.0222,-0.0679,0.0251,0.0185,-0.0681,0.0261,0.012,-0.0578,0.024,0.0349,-0.0553,0.0271,0.0221,-0.057,0.0263,0.0293,-0.055,0.0288,0.0239,-0.0474,0.0412,0.0055,-0.0469,0.0396,0.0071,-0.0467,0.0365,0.006,-0.0493,0.0309,0.0006,-0.0481,0.0341,0.0023,-0.0491,0.0347,0.0016,-0.0505,0.0333,-0.0002,-0.0519,0.0343,0.0004,-0.0511,0.0359,0.0022,-0.059,0.0277,-0.0058,-0.0582,0.0289,-0.0044,-0.0555,0.035,-0.0005,-0.0536,0.0446,0.0063,-0.0536,0.0464,0.0072,-0.0502,0.0446,0.0063,-0.0546,0.0375,0.0022,-0.0581,0.0454,0.0061,-0.0582,0.0485,0.0069,-0.0647,0.042,0.0032,-0.067,0.0464,0.005,-0.0637,0.0459,0.0052,-0.0675,0.0432,0.0018,-0.0677,0.0302,-0.0044,-0.061,0.0352,-0.001,-0.0598,0.038,0.0011,-0.0686,0.0467,0.0078,-0.0648,0.0478,0.0094,-0.064,0.0482,0.007,-0.0678,0.0466,0.0055,-0.0721,0.0359,0.0007,-0.0694,0.0368,-0.0014,-0.0713,0.0288,-0.0019,-0.0716,0.0289,-0.0039,-0.0714,0.0287,-0.0059,-0.0681,0.0258,-0.0046,-0.0724,0.0314,-0.0049,-0.0616,0.0263,0.0102,-0.0583,0.025,0.0194,-0.0622,0.0247,0.0177,-0.0572,0.0276,0.0119,-0.0688,0.0266,0.0061,-0.0674,0.0261,0.0064,-0.0687,0.0307,0.0136,-0.0688,0.0338,0.0231,-0.0703,0.029,0.0287,-0.0698,0.0309,0.0293,-0.0688,0.0437,0.0116,-0.068,0.0421,0.0145,-0.0724,0.0364,0.0045,-0.0725,0.0384,0.0058,-0.0719,0.0308,0.0026,-0.0705,0.0292,0.0071,-0.0696,0.027,0.0018,-0.0676,0.0258,0.0013,-0.0568,0.0286,0.0014,-0.0475,0.0344,0.0089,-0.0485,0.037,0.0107,-0.05,0.0317,0.0113,-0.0512,0.0412,0.0134,-0.0503,0.0433,0.01,-0.0525,0.0303,0.0026,-0.0519,0.0301,-0.0017,-0.0624,0.0235,0.058,-0.0604,0.0212,0.0585,-0.0752,0.0225,0.0551,-0.0579,0.0167,0.0591,-0.0609,0.0197,0.0599,-0.0654,0.018,0.0614,-0.0692,0.0137,0.0601,-0.0659,0.0135,0.0602,-0.0595,0.0052,0.0487,-0.0746,0.0159,0.0587,-0.0763,0.0188,0.0551,-0.0756,0.0128,0.0548,-0.0764,0.0168,0.0527,-0.0741,0.0211,0.0577,-0.0738,0.0229,0.0565,-0.0701,0.0139,0.0599,-0.0721,0.0146,0.0598,-0.0714,0.0082,0.0568,-0.0728,0.0103,0.056,-0.0713,0.0267,0.0392,-0.0705,0.0281,0.0351,-0.0722,0.0251,0.0384,-0.071,0.0265,0.0344,-0.0777,0.0161,0.0455,-0.0765,0.0148,0.0425,-0.0761,0.0123,0.045,-0.075,0.0233,0.0465,-0.0739,0.0239,0.0416,-0.0728,0.0254,0.0423,-0.0616,0.0236,0.0522,-0.0611,0.0235,0.048,-0.066,0.0262,0.0476,-0.0759,0.0198,0.0485,-0.0764,0.0172,0.0524,-0.0763,0.0191,0.0546,-0.0753,0.0225,0.0546,-0.0732,0.0147,0.0404,-0.0724,0.0201,0.0369,-0.0725,0.0111,0.0439,-0.0697,0.0086,0.0437,-0.0627,0.0093,0.0431,-0.0572,0.0147,0.0432,-0.0589,0.0071,0.0467,-0.0585,0.01,0.0481,-0.0584,0.0083,0.0529,-0.0588,0.006,0.0541,-0.0581,0.0083,0.0508,-0.059,0.0056,0.0489,-0.0707,0.0219,0.0335,-0.0686,0.0218,0.0266,-0.067,0.0175,0.0334,-0.0673,0.0206,0.027,-0.0615,0.0239,0.0531,-0.0589,0.0221,0.0539,-0.0574,0.0161,0.0547,-0.0569,0.0158,0.0521,-0.0574,0.0152,0.0425,-0.0576,0.0161,0.0411,-0.0623,0.0206,0.0278,-0.0619,0.0171,0.0345,-0.0601,0.0213,0.028,-0.0631,0.0116,0.0415,-0.0628,0.0099,0.0429,-0.0654,0.0108,0.0434,-0.0645,0.0168,0.0338,-0.0746,0.0136,0.0414,-0.0741,0.0146,0.041,-0.0765,0.0153,0.0419,-0.0654,0.01,0.0439,-0.0574,0.0188,0.0568,-0.0749,0.0133,0.042,-0.075,0.0211,0.0405,-0.0713,0.0202,0.0596,-0.0596,0.0126,0.0592,-0.0622,0.0123,0.0598,-0.0601,0.0074,0.0572,-0.0626,0.0072,0.0574,-0.0592,0.0055,0.0542,-0.0621,0.0048,0.0534,-0.0618,0.0173,0.0609,-0.0558,0.0262,0.0213,-0.0497,0.0449,0.0069,-0.0527,0.0391,0.0167,-0.0667,0.0245,0.0186,-0.065,0.0243,0.0182,-0.0688,0.0335,-0.0036,-0.0722,0.0348,0.004,-0.0671,0.0326,-0.0036,-0.0622,0.0317,-0.0031,-0.0636,0.0478,0.0064,-0.0498,0.0413,0.0048,-0.048,0.0413,0.005,-0.0632,0.0292,-0.0048,-0.0576,0.0162,0.0588,-0.0591,0.0126,0.0587,-0.0665,0.0075,0.0451,-0.0778,0.0168,0.048,-0.0581,0.0136,0.0537,-0.0583,0.0131,0.0537,-0.0585,0.0122,0.0534,-0.0579,0.0136,0.0521,-0.0582,0.0132,0.0517,-0.0583,0.0117,0.0528,-0.0583,0.0117,0.0522,-0.0584,0.0122,0.0515,-0.073,0.0108,0.0443,-0.0701,0.0066,0.0477,-0.0709,0.007,0.0476,-0.0701,0.0083,0.044,-0.0681,0.0287,0.0406,-0.0676,0.0301,0.0366,-0.07,0.028,0.04,-0.0692,0.0293,0.0359,-0.0712,0.0265,0.0431,-0.0778,0.0163,0.048,-0.0778,0.0167,0.0452,-0.0575,0.0202,0.0434,-0.0685,0.0279,0.0438,-0.0712,0.0245,0.0339,-0.0727,0.0227,0.0374,-0.0685,0.0367,0.0169,-0.0678,0.0393,0.0188,-0.0679,0.0359,0.024,-0.0706,0.0279,-0.0021,-0.0682,0.0333,-0.0037,-0.0665,0.0366,-0.002,-0.0536,0.0407,0.0045,-0.061,0.0119,0.0419,-0.069,0.0271,0.0116,-0.0637,0.0125,0.06,-0.0637,0.005,0.0532,-0.0641,0.0072,0.0573,-0.0534,0.0467,0.0078,-0.0583,0.0488,0.0075,-0.0704,0.0279,0.002,-0.0697,0.0274,0.0062,-0.0694,0.0227,0.0269,-0.0685,0.0323,0.0299,-0.0695,0.027,0.0475,-0.0668,0.0329,0.0307,-0.0706,0.0078,0.0569,-0.0714,0.0066,0.052,-0.0706,0.0061,0.0522,-0.0667,0.007,0.0456,-0.0596,0.0077,0.0569,-0.0635,0.0294,0.0371,-0.0656,0.0303,0.0371,-0.0636,0.0365,0.0257,-0.062,0.032,0.0311,-0.0604,0.0355,0.0261,-0.0648,0.0329,0.0312,-0.065,0.0404,0.02,-0.0644,0.0431,0.0165,-0.0588,0.0412,0.004,-0.0678,0.0257,-0.0028,-0.0548,0.0438,0.0146,-0.0595,0.0481,0.0102,-0.0606,0.0453,0.0148,-0.0541,0.0461,0.0105,-0.0647,0.0448,0.0139,-0.0569,0.0286,0.0066,-0.0647,0.0202,0.0275,-0.0623,0.0407,0.0206,-0.0656,0.0365,0.0251,-0.0584,0.03,0.0305,-0.057,0.0328,0.0254,-0.0544,0.0365,0.0203,-0.0563,0.0418,0.0178,-0.0583,0.0391,0.0212,-0.0614,0.0434,0.0175,-0.0672,0.0254,0.0567,-0.0705,0.023,0.0582,-0.0639,0.0212,0.0604,-0.0672,0.0062,0.0479,-0.0674,0.0059,0.0526,-0.0669,0.0075,0.0569,-0.0733,0.0096,0.0503,-0.0765,0.0123,0.0496,-0.0731,0.0098,0.0465,-0.0579,0.014,0.0526,-0.0576,0.0144,0.0558,-0.058,0.0141,0.0533,-0.0589,0.01,0.0548,-0.0583,0.0128,0.0558,-0.0599,0.0273,0.0369});
			return r_metatarsal_1_coordinate_6_22_point;
		}

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

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

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

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