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

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=2 */
		private int[] getl_triquetral_geometry_5_23_coordIndex_2()
		{
			int[] value = {299,302,300,-1,272,303,270,-1,272,304,303,-1,305,306,307,-1,305,308,306,-1,309,180,310,-1,180,309,311,-1,312,313,212,-1,312,314,313,-1,178,129,315,-1,178,127,129,-1,25,316,26,-1,317,316,25,-1,318,319,216,-1,318,320,319,-1,321,322,323,-1,322,321,324,-1,325,326,327,-1,325,328,326,-1,282,329,330,-1,331,329,282,-1,332,333,334,-1,281,333,332,-1,335,268,336,-1,267,268,335,-1,110,337,242,-1,110,338,337,-1,266,115,114,-1,266,339,115,-1,132,265,264,-1,132,340,265,-1,341,342,343,-1,344,342,341,-1,345,346,347,-1,346,345,348,-1,205,164,349,-1,205,165,164,-1,100,232,101,-1,232,100,170,-1,122,350,252,-1,308,350,122,-1,351,352,353,-1,352,351,354,-1,95,273,101,-1,95,102,273,-1,219,97,263,-1,219,103,97,-1,292,53,154,-1,292,291,53,-1,355,356,146,-1,355,231,356,-1,235,247,236,-1,247,235,357,-1,313,31,30,-1,313,358,31,-1,359,261,360,-1,359,262,261,-1,257,361,362,-1,256,361,257,-1,363,364,365,-1,363,366,364,-1,367,368,4,-1,367,369,368,-1,359,4,368,-1,359,183,4,-1,227,261,66,-1,261,227,42,-1,81,366,363,-1,75,366,81,-1,243,370,258,-1,370,243,260,-1,161,126,244,-1,126,161,160,-1,77,362,361,-1,362,77,179,-1,371,301,300,-1,371,288,301,-1,288,303,301,-1,288,285,303,-1,293,54,56,-1,293,197,54,-1,200,109,55,-1,200,70,109,-1,139,372,354,-1,139,233,372,-1,117,250,119,-1,250,117,251,-1,2,373,248,-1,373,2,255,-1,348,374,375,-1,348,344,374,-1,320,376,319,-1,320,377,376,-1,190,378,188,-1,190,379,378,-1,338,241,337,-1,338,380,241,-1,233,208,372,-1,208,233,10,-1,381,382,328,-1,382,381,383,-1,253,192,254,-1,253,357,192,-1,350,373,255,-1,350,384,373,-1,65,237,236,-1,237,65,130,-1,340,385,265,-1,385,340,386,-1,272,294,276,-1,294,272,271,-1,42,360,261,-1,42,151,360,-1,346,375,387,-1,375,346,348,-1,26,388,310,-1,26,316,388,-1,380,389,390,-1,380,338,389,-1,391,323,386,-1,391,321,323,-1,244,259,161,-1,244,243,259,-1,378,80,82,-1,260,80,378,-1,376,347,388,-1,347,376,345,-1,392,386,340,-1,386,392,391,-1,237,114,116,-1,237,264,114,-1,393,242,337,-1,242,393,204,-1,222,45,238,-1,189,45,222,-1,203,349,111,-1,349,203,205,-1,308,121,306,-1,122,121,308,-1,21,346,387,-1,21,23,346,-1,373,387,375,-1,373,384,387,-1,118,2,1,-1,118,119,2,-1,123,357,253,-1,123,247,357,-1,169,372,208,-1,169,171,372,-1,394,273,209,-1,394,395,273,-1,349,231,111,-1,349,356,231,-1,355,277,61,-1,278,277,355,-1,59,15,57,-1,59,13,15,-1,198,13,59,-1,13,198,199,-1,314,358,313,-1,314,396,358,-1,364,69,67,-1,364,256,69,-1,262,368,365,-1,262,359,368,-1,291,56,53,-1,293,56,291,-1,285,270,303,-1,270,285,397,-1,371,284,283,-1,371,398,284,-1,279,290,289,-1,279,399,290,-1,181,149,157,-1,150,149,181,-1,92,224,400,-1,224,92,157,-1,401,321,391,-1,321,401,402,-1,392,341,343,-1,392,131,341,-1,259,336,268,-1,259,258,336,-1,370,334,333,-1,370,379,334,-1,222,38,189,-1,222,39,38,-1,36,239,241,-1,239,36,35,-1,60,144,403,-1,144,60,57,-1,404,48,134,-1,404,46,48,-1,220,238,245,-1,220,222,238,-1,99,353,352,-1,99,395,353,-1,298,405,406,-1,298,297,405,-1,302,407,300,-1,408,407,302,-1,226,159,399,-1,159,226,84,-1,94,89,88,-1,89,94,93,-1,86,29,85,-1,27,29,86,-1,257,212,213,-1,312,212,257,-1,178,362,179,-1,178,315,362,-1,72,127,73,-1,72,128,127,-1,396,25,358,-1,317,25,396,-1,269,31,24,-1,32,31,269,-1,181,229,182,-1,181,157,229,-1,91,229,157,-1,228,229,91,-1,318,126,409,-1,318,74,126,-1,324,162,322,-1,324,160,162,-1,267,325,327,-1,325,267,335,-1,331,281,332,-1,331,282,281,-1,153,225,410,-1,153,7,225,-1,3,367,4,-1,367,3,155,-1,411,37,215,-1,38,37,411,-1,8,289,412,-1,8,279,289,-1,218,172,210,-1,218,174,172,-1,209,298,394,-1,176,298,209,-1,413,295,414,-1,406,295,413,-1,211,51,274,-1,51,211,49,-1,271,121,294,-1,271,306,121,-1,397,307,270,-1,22,307,397,-1,311,148,150,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=3 */
		private int[] getl_triquetral_geometry_5_23_coordIndex_3()
		{
			int[] value = {311,20,148,-1,249,49,120,-1,249,50,49,-1,234,251,117,-1,234,137,251,-1,10,142,208,-1,10,9,142,-1,163,169,141,-1,169,163,167,-1,277,11,254,-1,277,9,11,-1,113,112,133,-1,113,115,112,-1,390,339,383,-1,339,390,389,-1,280,330,381,-1,280,282,330,-1,3,206,156,-1,5,206,3,-1,165,136,135,-1,165,205,136,-1,240,415,393,-1,240,246,415,-1,35,223,239,-1,35,221,223,-1,37,35,34,-1,35,37,221,-1,239,246,240,-1,223,246,239,-1,393,136,204,-1,415,136,393,-1,124,201,185,-1,124,107,201,-1,143,54,198,-1,143,55,54,-1,196,199,197,-1,196,194,199,-1,390,381,330,-1,383,381,390,-1,115,389,112,-1,389,115,339,-1,133,193,113,-1,133,62,193,-1,61,254,192,-1,254,61,277,-1,12,167,163,-1,12,207,167,-1,10,117,11,-1,117,10,234,-1,249,137,50,-1,249,251,137,-1,311,181,180,-1,311,150,181,-1,20,397,148,-1,20,22,397,-1,306,270,307,-1,271,270,306,-1,211,121,120,-1,211,294,121,-1,414,274,51,-1,295,274,414,-1,394,406,413,-1,298,406,394,-1,412,174,218,-1,289,174,412,-1,38,190,189,-1,411,190,38,-1,187,45,188,-1,43,45,187,-1,367,124,186,-1,367,155,124,-1,183,5,4,-1,71,5,183,-1,52,410,225,-1,52,184,410,-1,332,34,331,-1,34,332,215,-1,280,335,281,-1,280,325,335,-1,267,322,162,-1,327,322,267,-1,160,409,126,-1,324,409,160,-1,216,74,318,-1,216,72,74,-1,228,94,214,-1,228,91,94,-1,32,180,182,-1,269,180,32,-1,358,24,31,-1,25,24,358,-1,317,128,216,-1,317,396,128,-1,73,178,177,-1,127,178,73,-1,362,312,257,-1,315,312,362,-1,84,93,159,-1,89,93,84,-1,399,152,226,-1,152,399,279,-1,300,398,371,-1,407,398,300,-1,297,302,405,-1,297,408,302,-1,413,395,394,-1,395,413,353,-1,100,352,171,-1,100,99,352,-1,168,171,169,-1,168,170,171,-1,245,46,404,-1,245,238,46,-1,202,134,48,-1,135,134,202,-1,60,164,166,-1,403,164,60,-1,380,330,329,-1,380,390,330,-1,411,379,190,-1,379,411,334,-1,258,333,336,-1,258,370,333,-1,268,161,259,-1,161,268,162,-1,341,130,64,-1,131,130,341,-1,391,343,401,-1,391,392,343,-1,402,324,321,-1,324,402,409,-1,400,93,92,-1,400,158,93,-1,276,304,272,-1,304,276,275,-1,17,408,297,-1,17,16,408,-1,398,290,284,-1,175,290,398,-1,287,149,148,-1,149,287,224,-1,407,175,398,-1,173,175,407,-1,154,412,292,-1,8,412,154,-1,41,84,226,-1,40,84,41,-1,41,410,151,-1,41,153,410,-1,403,349,164,-1,403,356,349,-1,198,58,143,-1,59,58,198,-1,195,232,207,-1,195,98,232,-1,146,278,355,-1,146,145,278,-1,414,353,413,-1,414,351,353,-1,1,253,118,-1,1,123,253,-1,374,0,248,-1,64,0,374,-1,252,255,250,-1,252,350,255,-1,305,387,384,-1,305,21,387,-1,347,310,388,-1,347,309,310,-1,404,246,245,-1,404,415,246,-1,242,203,111,-1,242,204,203,-1,344,64,374,-1,344,341,64,-1,382,265,385,-1,382,266,265,-1,343,377,401,-1,343,342,377,-1,388,319,376,-1,388,316,319,-1,361,75,77,-1,361,366,75,-1,260,379,370,-1,260,378,379,-1,402,377,320,-1,377,402,401,-1,385,328,382,-1,385,326,328,-1,79,363,369,-1,81,363,79,-1,151,184,360,-1,151,410,184,-1,386,326,385,-1,323,326,386,-1,130,264,237,-1,132,264,130,-1,384,308,305,-1,350,308,384,-1,235,113,193,-1,235,116,113,-1,383,266,382,-1,339,266,383,-1,140,9,277,-1,140,142,9,-1,51,351,414,-1,138,351,51,-1,241,329,36,-1,241,380,329,-1,188,82,187,-1,378,82,188,-1,103,191,104,-1,103,219,191,-1,342,376,377,-1,342,345,376,-1,375,248,373,-1,375,374,248,-1,354,171,352,-1,354,372,171,-1,98,101,232,-1,101,98,95,-1,97,230,263,-1,97,96,230,-1,296,304,275,-1,296,299,304,-1,287,400,224,-1,400,287,286,-1,158,286,283,-1,158,400,286,-1,405,299,296,-1,302,299,405,-1,88,87,85,-1,88,90,87,-1,244,125,76,-1,125,244,126,-1,67,365,364,-1,67,262,365,-1,79,187,82,-1,186,187,79,-1,75,80,78,-1,81,80,75,-1,177,76,125,-1,177,77,76,-1,77,177,179,-1,186,369,367,-1,79,369,186,-1,70,5,71,-1,5,70,206,-1,369,365,368,-1,369,363,365,-1};
			return value;
		}

		/** Define subarray values using type int[] with $tupleSize=1 and $tupleSplitSize=1000 for subarray position()=4 */
		private int[] getl_triquetral_geometry_5_23_coordIndex_4()
		{
			int[] value = {256,366,361,-1,364,366,256,-1,396,129,128,-1,314,129,396,-1,183,360,184,-1,183,359,360,-1,236,0,65,-1,0,236,247,-1,193,357,235,-1,357,193,192,-1,231,61,63,-1,61,231,355,-1,403,146,356,-1,146,403,144,-1,97,102,95,-1,97,103,102,-1,395,101,273,-1,101,395,99,-1,138,354,351,-1,354,138,139,-1,120,252,249,-1,122,252,120,-1,168,207,232,-1,207,168,167,-1,134,415,404,-1,136,415,134,-1,346,309,347,-1,23,309,346,-1,348,342,344,-1,348,345,342,-1,340,131,392,-1,131,340,132,-1,389,110,112,-1,389,338,110,-1,240,337,241,-1,240,393,337,-1,281,336,333,-1,335,336,281,-1,334,215,332,-1,334,411,215,-1,36,331,34,-1,36,329,331,-1,280,328,325,-1,280,381,328,-1,323,327,326,-1,327,323,322,-1,409,320,318,-1,409,402,320,-1,316,216,319,-1,216,316,317,-1,74,177,125,-1,74,73,177,-1,314,315,129,-1,315,314,312,-1,212,30,27,-1,212,313,30,-1,310,269,26,-1,269,310,180,-1,23,311,309,-1,311,23,20,-1,307,21,305,-1,22,21,307,-1,304,301,303,-1,304,299,301,-1,408,173,407,-1,408,16,173,-1,406,296,295,-1,406,405,296,-1,263,293,291,-1,230,293,263,-1,218,292,412,-1,217,292,218,-1,288,283,286,-1,371,283,288,-1,397,287,148,-1,285,287,397,-1,284,399,159,-1,284,290,399,-1};
			return value;
		}
		/** Large attribute array: IndexedFaceSet DEF='l_triquetral_geometry' coordIndex field, scene-graph level=5, element #23, 3312 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_triquetral_geometry_5_23_coordIndex()
		{
			MFInt32 l_triquetral_geometry_5_23_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getl_triquetral_geometry_5_23_coordIndex_1()))
				.append(new MFInt32(getl_triquetral_geometry_5_23_coordIndex_2()))
				.append(new MFInt32(getl_triquetral_geometry_5_23_coordIndex_3()))
				.append(new MFInt32(getl_triquetral_geometry_5_23_coordIndex_4()));
			return l_triquetral_geometry_5_23_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='l_triquetral_coordinate' point field, scene-graph level=6, element #23, 1248 total numbers made up of 416 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_triquetral_coordinate_6_23_point()
		{
			MFVec3f l_triquetral_coordinate_6_23_point = new MFVec3f(new double[] {0.2224,0.8352,0.0578,0.223,0.8338,0.0576,0.2226,0.833,0.0565,0.2141,0.8367,0.066,0.2139,0.8368,0.0658,0.214,0.8365,0.0659,0.2141,0.8331,0.0619,0.2133,0.8337,0.0618,0.2131,0.8323,0.0604,0.2238,0.8312,0.0577,0.2237,0.831,0.0573,0.2238,0.8313,0.0574,0.2207,0.8315,0.0614,0.2185,0.8321,0.0625,0.2187,0.8316,0.062,0.2208,0.8325,0.0616,0.2168,0.83,0.0575,0.2171,0.8294,0.0578,0.2172,0.8293,0.0581,0.2167,0.8298,0.0583,0.2156,0.8366,0.0544,0.2181,0.835,0.0545,0.2175,0.8346,0.0537,0.2164,0.8371,0.0551,0.214,0.8401,0.057,0.2142,0.8405,0.0576,0.2146,0.8401,0.0571,0.2133,0.8385,0.06,0.213,0.8379,0.058,0.2127,0.8376,0.0589,0.2135,0.8392,0.0586,0.2138,0.8399,0.0571,0.214,0.8391,0.0564,0.2135,0.8382,0.0569,0.2179,0.8427,0.0697,0.2186,0.8414,0.0708,0.2189,0.8421,0.0697,0.2178,0.8426,0.0698,0.2167,0.8417,0.0699,0.2176,0.8415,0.0705,0.2139,0.8353,0.059,0.2134,0.8346,0.0603,0.2141,0.8359,0.0602,0.2156,0.8394,0.0685,0.2161,0.8394,0.0688,0.2159,0.8405,0.0693,0.2184,0.839,0.069,0.2166,0.8382,0.0677,0.2193,0.8378,0.0671,0.2214,0.8307,0.0533,0.2222,0.8304,0.054,0.2204,0.8296,0.0544,0.2138,0.8344,0.0642,0.2148,0.8323,0.0625,0.2171,0.832,0.0637,0.2157,0.8338,0.0652,0.2159,0.8321,0.0633,0.2208,0.8336,0.0619,0.218,0.8346,0.064,0.2183,0.8327,0.0631,0.2208,0.8352,0.0631,0.224,0.8348,0.0604,0.2241,0.8364,0.0615,0.224,0.8362,0.062,0.2216,0.8375,0.0585,0.2226,0.8371,0.0589,0.2142,0.8369,0.0607,0.2142,0.8378,0.0618,0.2138,0.8376,0.0604,0.2139,0.8385,0.0612,0.2141,0.8357,0.0654,0.2139,0.8355,0.0652,0.2149,0.8417,0.0593,0.2149,0.8418,0.0601,0.2159,0.8426,0.0603,0.2153,0.8404,0.0633,0.2162,0.8422,0.0625,0.215,0.8411,0.0622,0.2163,0.8416,0.0638,0.2153,0.8391,0.0662,0.2162,0.841,0.0653,0.2155,0.8398,0.0646,0.2158,0.8402,0.067,0.2136,0.8357,0.0586,0.2138,0.8347,0.0576,0.2127,0.8374,0.0591,0.2133,0.8382,0.0602,0.2133,0.8369,0.0594,0.2123,0.8365,0.0583,0.2132,0.8356,0.0577,0.2126,0.8361,0.0585,0.2125,0.8364,0.0574,0.2131,0.836,0.0572,0.2133,0.8355,0.0574,0.2124,0.8365,0.0579,0.2178,0.8304,0.0604,0.2176,0.8311,0.0615,0.2175,0.8307,0.0604,0.2183,0.831,0.0612,0.2201,0.8299,0.0589,0.2205,0.8301,0.0594,0.2193,0.8298,0.0596,0.2173,0.8299,0.0596,0.2171,0.8301,0.0596,0.2172,0.8293,0.0586,0.2154,0.8358,0.0659,0.2176,0.8361,0.0651,0.2169,0.8372,0.0663,0.215,0.8373,0.0664,0.2147,0.8342,0.0648,0.2229,0.8403,0.0654,0.2237,0.8374,0.0638,0.2232,0.8405,0.0641,0.2239,0.838,0.0624,0.2234,0.8405,0.0631,0.2233,0.8406,0.0637,0.2238,0.838,0.0616,0.2235,0.8308,0.0561,0.2235,0.8324,0.0574,0.2231,0.8318,0.0562,0.2213,0.831,0.0532,0.2205,0.8317,0.0531,0.2209,0.8315,0.0533,0.2232,0.8344,0.0581,0.2153,0.8383,0.0676,0.216,0.8428,0.0613,0.2172,0.8437,0.0616,0.2147,0.8415,0.0601,0.2147,0.8415,0.0591,0.2145,0.8412,0.0601,0.2228,0.8383,0.0598,0.2217,0.8401,0.0605,0.2227,0.8404,0.0614,0.2239,0.8378,0.0628,0.2205,0.8377,0.0677,0.2211,0.837,0.0662,0.2215,0.8377,0.0682,0.223,0.8304,0.0551,0.2213,0.8297,0.0552,0.2224,0.8301,0.0561,0.2234,0.8321,0.0595,0.2226,0.8312,0.0601,0.2233,0.8312,0.0588,0.2159,0.834,0.0653,0.2219,0.8336,0.0618,0.2227,0.8324,0.0609,0.2229,0.8337,0.0618,0.2218,0.8324,0.0612,0.2154,0.8364,0.0545,0.2143,0.8365,0.0555,0.2148,0.8373,0.055,0.2138,0.835,0.0615,0.213,0.8325,0.0603,0.2132,0.8339,0.0616,0.214,0.8324,0.0612,0.2147,0.8375,0.0667,0.2147,0.8366,0.0659,0.2132,0.8364,0.0566,0.214,0.8351,0.057,0.2139,0.8346,0.0574,0.2181,0.8442,0.0624,0.2181,0.8441,0.0629,0.2187,0.8446,0.0631,0.2217,0.8314,0.0608,0.2218,0.8363,0.0644,0.2215,0.8369,0.0659,0.2205,0.8363,0.0645,0.2215,0.8311,0.0606,0.2213,0.8308,0.0603,0.2223,0.831,0.0601,0.2208,0.8305,0.0598,0.2217,0.8304,0.0591,0.2158,0.8306,0.0586,0.2164,0.831,0.0572,0.2152,0.8312,0.0586,0.2153,0.8326,0.0572,0.2173,0.8289,0.0579,0.2148,0.8418,0.0611,0.2146,0.8416,0.0609,0.2147,0.8416,0.0612,0.2144,0.8384,0.0555,0.2143,0.838,0.0554,0.2142,0.8383,0.0556,0.2137,0.8357,0.065,0.2137,0.8346,0.064,0.2154,0.8386,0.0678,0.2152,0.8385,0.0675,0.2155,0.8396,0.0683,0.2158,0.8407,0.0691,0.2162,0.8411,0.0697,0.2161,0.8412,0.0694,0.2168,0.8298,0.0586,0.2241,0.8349,0.0601,0.224,0.8366,0.0612,0.2178,0.8315,0.0624,0.2187,0.8314,0.0618,0.2177,0.8313,0.0622,0.2174,0.8317,0.0631,0.2174,0.8321,0.0637,0.2177,0.8318,0.0631,0.2153,0.8356,0.0658,0.2171,0.8374,0.0666,0.2204,0.8365,0.0647,0.2218,0.8376,0.068,0.2218,0.8377,0.0681,0.2219,0.8375,0.0678,0.2145,0.8364,0.0658,0.2206,0.8312,0.0613,0.2231,0.831,0.0587,0.2175,0.8288,0.0581,0.2158,0.8305,0.0589,0.2211,0.8308,0.0532,0.2136,0.8392,0.0604,0.2136,0.839,0.0607,0.2123,0.8367,0.0581,0.2177,0.8428,0.0695,0.215,0.8416,0.059,0.2158,0.8314,0.0596,0.2152,0.8311,0.0589,0.2167,0.8304,0.0597,0.2186,0.8407,0.071,0.2183,0.8413,0.0709,0.2176,0.8409,0.0707,0.219,0.8406,0.0711,0.2139,0.836,0.0562,0.2135,0.834,0.063,0.2133,0.8338,0.0587,0.214,0.8363,0.0596,0.2125,0.8367,0.0575,0.2131,0.8367,0.0568,0.2171,0.8314,0.0617,0.2238,0.8359,0.0624,0.2199,0.8306,0.0606,0.2231,0.8305,0.0567,0.2235,0.8306,0.0561,0.2238,0.8367,0.0604,0.2233,0.8368,0.0594,0.2234,0.8382,0.0605,0.2178,0.8402,0.0706,0.2192,0.8407,0.071,0.22,0.8399,0.0708,0.2204,0.8415,0.0691,0.2223,0.8392,0.067,0.2172,0.8427,0.0643,0.2174,0.8433,0.0628,0.2188,0.84,0.0708,0.2198,0.8398,0.0709,0.2232,0.8351,0.0585,0.2218,0.8342,0.0568,0.2223,0.8307,0.054,0.2227,0.8313,0.0551,0.223,0.8306,0.055,0.2217,0.8314,0.054,0.2236,0.8336,0.0585,0.2239,0.833,0.059,0.222,0.8323,0.0553,0.214,0.8393,0.0619,0.214,0.8398,0.0612,0.2178,0.8433,0.0646,0.2179,0.8435,0.0642,0.2169,0.8421,0.0661,0.2143,0.8363,0.061,0.2142,0.8372,0.0624,0.2165,0.8313,0.0606,0.2231,0.8405,0.0621,0.2226,0.842,0.0629,0.2225,0.8419,0.0638,0.2191,0.8448,0.064,0.2186,0.8442,0.0641,0.2142,0.8392,0.0562,0.2185,0.8331,0.0534,0.2195,0.8322,0.0532,0.2192,0.8318,0.0536,0.2184,0.8293,0.0587,0.2201,0.8297,0.0543,0.2194,0.8303,0.0545,0.2197,0.8306,0.054,0.2238,0.8327,0.0592,0.2235,0.8327,0.0599,0.2132,0.8324,0.06,0.2193,0.8445,0.066,0.219,0.8445,0.0662,0.2192,0.8444,0.0665,0.2148,0.8347,0.0565,0.2147,0.8341,0.0569,0.2165,0.8339,0.0552,0.2146,0.8351,0.0563,0.2147,0.8355,0.0558,0.2162,0.8337,0.0556,0.214,0.832,0.0592,0.2142,0.8333,0.0578,0.2158,0.8319,0.0614,0.215,0.8319,0.0602,0.2166,0.8318,0.0624,0.2204,0.8315,0.0531,0.2194,0.8293,0.0552,0.2189,0.83,0.0553,0.2178,0.8296,0.0568,0.218,0.829,0.0569,0.2183,0.8308,0.0553,0.2172,0.8318,0.0557,0.2174,0.8321,0.0554,0.2179,0.8306,0.0558,0.2177,0.8324,0.0549,0.2187,0.8311,0.0548,0.2196,0.8329,0.0539,0.2196,0.8324,0.0532,0.2185,0.8334,0.0534,0.2203,0.8322,0.0536,0.2156,0.8382,0.0557,0.2148,0.8392,0.0562,0.215,0.8374,0.0549,0.2139,0.84,0.0609,0.2138,0.8399,0.0591,0.2141,0.8405,0.0596,0.2143,0.8408,0.0609,0.2148,0.8405,0.0577,0.2145,0.841,0.0582,0.2162,0.8427,0.0602,0.2156,0.8413,0.0586,0.2169,0.8423,0.0598,0.2191,0.8437,0.0619,0.219,0.8447,0.063,0.2202,0.8441,0.0629,0.2183,0.8442,0.0622,0.2193,0.8447,0.065,0.2205,0.8442,0.0638,0.2193,0.8448,0.0639,0.2204,0.844,0.0648,0.2195,0.843,0.0679,0.2202,0.8437,0.0663,0.2185,0.8436,0.068,0.2183,0.8436,0.0679,0.2179,0.8434,0.0664,0.2172,0.8425,0.0682,0.2191,0.8447,0.065,0.2184,0.844,0.0648,0.2213,0.8403,0.0682,0.2219,0.8413,0.0665,0.2224,0.8418,0.0645,0.2222,0.8419,0.0622,0.2206,0.8397,0.0594,0.2186,0.8405,0.0587,0.2198,0.8412,0.06,0.2194,0.8391,0.0582,0.2173,0.8397,0.0576,0.2173,0.8378,0.056,0.2163,0.8389,0.0565,0.2182,0.8384,0.057,0.2229,0.8364,0.0647,0.2211,0.8322,0.0543,0.2206,0.8294,0.0561,0.2208,0.8299,0.058,0.2199,0.8293,0.057,0.2216,0.8299,0.0571,0.2236,0.8344,0.061,0.223,0.8354,0.0634,0.2238,0.835,0.0593,0.214,0.8404,0.0578,0.214,0.8364,0.0638,0.2141,0.8355,0.0624,0.2145,0.8402,0.062,0.2144,0.8408,0.0612,0.2149,0.839,0.0641,0.2143,0.8388,0.0626,0.2143,0.8382,0.0635,0.2148,0.8396,0.063,0.2146,0.8377,0.0666,0.2141,0.8374,0.0648,0.2147,0.8383,0.0655,0.2174,0.8427,0.0663,0.216,0.8336,0.056,0.2225,0.8304,0.0579,0.2212,0.8334,0.0557,0.2207,0.8367,0.0574,0.2197,0.8359,0.0564,0.2164,0.8409,0.0581,0.2178,0.8418,0.0593,0.2162,0.8414,0.0678,0.2167,0.842,0.0681,0.221,0.8423,0.0674,0.2203,0.8439,0.0658,0.2217,0.8433,0.0644,0.2217,0.8431,0.0653,0.2205,0.8328,0.0545,0.2217,0.8434,0.0634,0.2213,0.8433,0.0626,0.219,0.8352,0.0554,0.2153,0.8401,0.0571,0.2223,0.8417,0.065,0.2215,0.843,0.0658,0.2202,0.843,0.0616,0.221,0.8416,0.061,0.2208,0.8388,0.0695,0.2182,0.8289,0.0571,0.2191,0.8293,0.0578,0.2142,0.8409,0.0584,0.2173,0.8344,0.0538,0.2157,0.8332,0.0564,0.2135,0.8337,0.0584,0.2139,0.8356,0.0567,0.219,0.8427,0.0606,0.2182,0.8433,0.061,0.222,0.8353,0.0631,0.2195,0.8389,0.0694,0.2184,0.8297,0.0559,0.2187,0.8291,0.056,0.2169,0.8315,0.0563,0.2174,0.8303,0.0565,0.2175,0.8438,0.0614,0.2135,0.8343,0.0628,0.2166,0.8418,0.0696,0.2141,0.8319,0.0595,0.2189,0.829,0.0561,0.2196,0.8292,0.0553,0.2206,0.8388,0.0696});
			return l_triquetral_coordinate_6_23_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_triquetral 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_triquetral().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_triquetral\" 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_triquetral self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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