<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package X3dForAdvancedModeling.Conversions;

import org.web3d.x3d.jsail.Core.*;
import org.web3d.x3d.jsail.EnvironmentalEffects.*;
import org.web3d.x3d.jsail.fields.*;
import org.web3d.x3d.jsail.Geometry3D.*;
import org.web3d.x3d.jsail.Grouping.*;
import org.web3d.x3d.jsail.Lighting.*;
import org.web3d.x3d.jsail.Navigation.*;
import org.web3d.x3d.jsail.Rendering.*;
import org.web3d.x3d.jsail.Shape.*;

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * &lt;p&gt; Export Blender Suzanne monkey. &lt;/p&gt;
 &lt;p&gt; Related links: Catalog page &lt;a href="../../../GeometricShapes/BlenderMonkeySuzanneIndex.html" target="_blank"&gt;BlenderMonkeySuzanne&lt;/a&gt;,  source &lt;a href="../../../GeometricShapes/BlenderMonkeySuzanne.java"&gt;BlenderMonkeySuzanne.java&lt;/a&gt;, &lt;a href="https://www.web3d.org/x3d/content/examples/X3dResources.html" target="_blank"&gt;X3D Resources&lt;/a&gt;, &lt;a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html" target="_blank"&gt;X3D Scene Authoring Hints&lt;/a&gt;, and &lt;a href="https://www.web3d.org/x3d/content/X3dTooltips.html" target="_blank"&gt;X3D Tooltips&lt;/a&gt;. &lt;/p&gt;
	&lt;table style="color:black; border:0px solid; border-spacing:10px 0px;"&gt;
        &lt;caption&gt;Scene Meta Information&lt;/caption&gt;
		&lt;tr style="background-color:silver; border-color:silver;"&gt;
			&lt;td style="text-align:center; padding:10px 0px;"&gt;&lt;i&gt;meta tags&lt;/i&gt;&lt;/td&gt;
			&lt;td style="text-align:left;   padding:10px 0px;"&gt;&amp;nbsp; Document Metadata &lt;/td&gt;
		&lt;/tr&gt;

		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; title &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="../../../GeometricShapes/BlenderMonkeySuzanne.x3d"&gt;BlenderMonkeySuzanne.x3d&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; creator &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; Don Brutzman &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; created &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; 30 December 2015 &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; modified &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; 14 July 2025 &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; description &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; Export Blender Suzanne monkey. &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; Image &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="../../../GeometricShapes/BlenderMonkeySuzanneFrontView.png"&gt;BlenderMonkeySuzanneFrontView.png&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; Image &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="../../../GeometricShapes/BlenderMonkeySuzanneRightSideView.png"&gt;BlenderMonkeySuzanneRightSideView.png&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; Image &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="../../../GeometricShapes/BlenderMonkeySuzanneTopView.png"&gt;BlenderMonkeySuzanneTopView.png&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; TODO &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; cleanup Blender export &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; reference &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="https://en.wikipedia.org/wiki/Blender_(software)#Suzanne" target="_blank"&gt;https://en.wikipedia.org/wiki/Blender_(software)#Suzanne&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; reference &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="https://www.dummies.com/web-design-development/meet-suzanne-the-blender-monkey" target="_blank"&gt;https://www.dummies.com/web-design-development/meet-suzanne-the-blender-monkey&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; reference &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; Blender - Monkey Suzanne by Deiby .A and Vargas .R, &lt;a href="https://www.youtube.com/watch?v=KAuefzf0EHA" target="_blank"&gt;https://www.youtube.com/watch?v=KAuefzf0EHA&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; reference &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; Suzanne the monkey (from blender) by ClemenKick &lt;a href="https://www.thingiverse.com/thing:2522740" target="_blank"&gt;https://www.thingiverse.com/thing:2522740&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; generator &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; Blender 2.79 (sub 0) &lt;a href="https://www.blender.org" target="_blank"&gt;https://www.blender.org&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; generator &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; X3D-Edit 3.3, &lt;a href="https://savage.nps.edu/X3D-Edit" target="_blank"&gt;https://savage.nps.edu/X3D-Edit&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; identifier &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/BlenderMonkeySuzanne.x3d" target="_blank"&gt;https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/BlenderMonkeySuzanne.x3d&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; license &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="../../../GeometricShapes/../license.html"&gt;../license.html&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="background-color:silver; border-color:silver;"&gt;
			&lt;td style="text-align:center;" colspan="2"&gt;  &amp;nbsp; &lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;

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

	* @author Don Brutzman
 */

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

	/** Create and initialize the X3D model for this object. */
	public final void initialize()
	{
            try { // catch-all
  x3dModel = new X3D().setProfile(X3D.PROFILE_IMMERSIVE).setVersion(X3D.VERSION_3_0)
  .setHead(new head()
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("BlenderMonkeySuzanne.x3d"))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Don Brutzman"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("30 December 2015"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("14 July 2025"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("Export Blender Suzanne monkey."))
    .addMeta(new meta().setName(meta.NAME_IMAGE      ).setContent("BlenderMonkeySuzanneFrontView.png"))
    .addMeta(new meta().setName(meta.NAME_IMAGE      ).setContent("BlenderMonkeySuzanneRightSideView.png"))
    .addMeta(new meta().setName(meta.NAME_IMAGE      ).setContent("BlenderMonkeySuzanneTopView.png"))
    .addMeta(new meta().setName(meta.NAME_TODO       ).setContent("cleanup Blender export"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://en.wikipedia.org/wiki/Blender_(software)#Suzanne"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://www.dummies.com/web-design-development/meet-suzanne-the-blender-monkey"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("Blender - Monkey Suzanne by Deiby .A and Vargas .R, https://www.youtube.com/watch?v=KAuefzf0EHA"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("Suzanne the monkey (from blender) by ClemenKick https://www.thingiverse.com/thing:2522740"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("Blender 2.79 (sub 0) https://www.blender.org"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/BlenderMonkeySuzanne.x3d"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../license.html")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setTitle("BlenderMonkeySuzanne.x3d"))
    .addChild(new NavigationInfo().setAvatarSize(new double[] {0.25,1.75,0.75}).setHeadlight(false))
    .addChild(new Background("WO_World").setGroundColor(new MFColor(new double[] {0.051,0.051,0.051})).setSkyColor(new MFColor(new double[] {0.051,0.051,0.051})))
    .addChild(new Transform("Suzanne_TRANSFORM").setRotation(0.000000,0.707107,0.707107,3.141593).setScale(1.000000,1.000000,1.000000).setTranslation(0.114390,0.666294,-1.000008)
      .addChild(new Transform("Suzanne_ifs_TRANSFORM").setRotation(1.000000,0.000000,0.000000,0.000000).setScale(1.000000,1.000000,1.000000).setTranslation(0.000000,0.000000,0.000000)
        .addChild(new Group("group_ME_Suzanne")
          .addChild(new Shape()
            .setGeometry(new IndexedFaceSet().setCreaseAngle(1.570796).setSolid(false).setCoordIndex(getIndexedFaceSet_7_22_coordIndex())
              .setCoord(new Coordinate("coords_ME_Suzanne").setPoint(getcoords_ME_Suzanne_8_22_point())))
            .setAppearance(new Appearance()
              .setMaterial(new Material().setDiffuseColor(0.439216,0.780392,1.0)))))))
    .addChild(new Transform("Lamp_TRANSFORM").setRotation(-0.498084,-0.762016,-0.413815,1.513875).setScale(1.000000,1.000000,1.000000).setTranslation(-4.076245,5.903862,1.005454)
      .addChild(new PointLight("LA_Lamp").setAmbientIntensity(0.0000).setColor(1.0000,1.0000,1.0000).setIntensity(0.5714).setLocation(-0.0000,-0.0000,0.0000).setRadius(30.0000)))
    .addChild(new Transform("Camera_TRANSFORM").setRotation(-0.098233,-0.968789,-0.227591,2.349487).setScale(1.000000,1.000000,1.000000).setTranslation(-7.481132,5.343665,-6.507640)
      .addChild(new Viewpoint("CA_Camera").setDescription("Suzanne monkey head, oblique view").setFieldOfView(0.858).setOrientation(-0.00,-0.47,-0.88,0.00).setPosition(-0.00,-0.00,0.00))));
            }
            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 subarrays using type int[] */
		private int[] getIndexedFaceSet_7_22_coordIndex_1()
		{
			int[] value = {46,0,2,44,-1,3,1,47,45,-1,44,2,4,42,-1,5,3,45,43,-1,2,8,6,4,-1,7,9,3,5,-1,0,10,8,2,-1,9,11,1,3,-1,10,12,14,8,-1,15,13,11,9,-1,8,14,16,6,-1,17,15,9,7,-1,14,20,18,16,-1,19,21,15,17,-1,12,22,20,14,-1,21,23,13,15,-1,22,24,26,20,-1,27,25,23,21,-1,20,26,28,18,-1,29,27,21,19,-1,26,32,30,28,-1,31,33,27,29,-1,24,34,32,26,-1,33,35,25,27,-1,34,36,38,32,-1,39,37,35,33,-1,32,38,40,30,-1,41,39,33,31,-1,38,44,42,40,-1,43,45,39,41,-1,36,46,44,38,-1,45,47,37,39,-1,46,36,50,48,-1,51,37,47,49,-1,36,34,52,50,-1,53,35,37,51,-1,34,24,54,52,-1,55,25,35,53,-1,24,22,56,54,-1,57,23,25,55,-1,22,12,58,56,-1,59,13,23,57,-1,12,10,62,58,-1,63,11,13,59,-1,10,0,64,62,-1,65,1,11,63,-1,0,46,48,64,-1,49,47,1,65,-1,60,64,48,-1,49,65,61,-1,62,64,60,-1,61,65,63,-1,60,58,62,-1,63,59,61,-1,60,56,58,-1,59,57,61,-1,60,54,56,-1,57,55,61,-1,60,52,54,-1,55,53,61,-1,60,50,52,-1,53,51,61,-1,60,48,50,-1,51,49,61,-1,88,173,175,90,-1,175,174,89,90,-1,86,171,173,88,-1,174,172,87,89,-1,84,169,171,86,-1,172,170,85,87,-1,82,167,169,84,-1,170,168,83,85,-1,80,165,167,82,-1,168,166,81,83,-1,78,91,145,163,-1,146,92,79,164,-1,91,93,147,145,-1,148,94,92,146,-1,93,95,149,147,-1,150,96,94,148,-1,95,97,151,149,-1,152,98,96,150,-1,97,99,153,151,-1,154,100,98,152,-1,99,101,155,153,-1,156,102,100,154,-1,101,103,157,155,-1,158,104,102,156,-1,103,105,159,157,-1,160,106,104,158,-1,105,107,161,159,-1,162,108,106,160,-1,107,66,67,161,-1,67,66,108,162,-1,109,127,159,161,-1,160,128,110,162,-1,127,178,157,159,-1,158,179,128,160,-1,125,155,157,178,-1,158,156,126,179,-1,123,153,155,125,-1,156,154,124,126,-1,121,151,153,123,-1,154,152,122,124,-1,119,149,151,121,-1,152,150,120,122,-1,117,147,149,119,-1,150,148,118,120,-1,115,145,147,117,-1,148,146,116,118,-1,113,163,145,115,-1,146,164,114,116,-1,113,180,176,163,-1,176,181,114,164,-1,109,161,67,111,-1,67,162,110,112,-1,111,67,177,182,-1,177,67,112,183,-1,176,180,182,177,-1,183,181,176,177,-1,134,136,175,173,-1,175,136,135,174,-1,132,134,173,171,-1,174,135,133,172,-1,130,132,171,169,-1,172,133,131,170,-1,165,186,184,167,-1,185,187,166,168,-1,130,169,167,184,-1,168,170,131,185,-1,143,189,188,186,-1,188,189,144,187,-1,184,186,188,68,-1,188,187,185,68,-1,129,130,184,68,-1,185,131,129,68,-1,141,192,190,143,-1,191,193,142,144,-1,139,194,192,141,-1,193,195,140,142,-1,138,196,194,139,-1,195,197,138,140,-1,137,70,196,138,-1,197,70,137,138,-1,189,143,190,69,-1,191,144,189,69,-1,69,190,205,207,-1,206,191,69,207,-1,70,198,199,196,-1,200,198,70,197,-1,196,199,201,194,-1,202,200,197,195,-1,194,201,203,192,-1,204,202,195,193,-1,192,203,205,190,-1,206,204,193,191,-1,198,203,201,199,-1,202,204,198,200,-1,198,207,205,203,-1,206,207,198,204,-1,138,139,163,176,-1,164,140,138,176,-1,139,141,210,163,-1,211,142,140,164,-1,141,143,212,210,-1,213,144,142,211,-1,143,186,165,212,-1,166,187,144,213,-1,80,208,212,165,-1,213,209,81,166,-1,208,214,210,212,-1,211,215,209,213,-1,78,163,210,214,-1,211,164,79,215,-1,130,129,71,221,-1,71,129,131,222,-1,132,130,221,219,-1,222,131,133,220,-1,134,132,219,217,-1,220,133,135,218,-1,136,134,217,216,-1,218,135,136,216,-1,216,217,228,230,-1,229,218,216,230,-1,217,219,226,228,-1,227,220,218,229,-1,219,221,224,226,-1,225,222,220,227,-1,221,71,223,224,-1,223,71,222,225,-1,223,230,228,224,-1,229,230,223,225,-1,224,228,226,-1,227,229,225,-1,182,180,233,231,-1,234,181,183,232,-1,111,182,231,253,-1,232,183,112,254,-1,109,111,253,255,-1,254,112,110,256,-1,180,113,251,233,-1,252,114,181,234,-1,113,115,249,251,-1,250,116,114};
			return value;
		}
		private int[] getIndexedFaceSet_7_22_coordIndex_2()
		{
			int[] value = {252,-1,115,117,247,249,-1,248,118,116,250,-1,117,119,245,247,-1,246,120,118,248,-1,119,121,243,245,-1,244,122,120,246,-1,121,123,241,243,-1,242,124,122,244,-1,123,125,239,241,-1,240,126,124,242,-1,125,178,235,239,-1,236,179,126,240,-1,178,127,237,235,-1,238,128,179,236,-1,127,109,255,237,-1,256,110,128,238,-1,237,255,257,275,-1,258,256,238,276,-1,235,237,275,277,-1,276,238,236,278,-1,239,235,277,273,-1,278,236,240,274,-1,241,239,273,271,-1,274,240,242,272,-1,243,241,271,269,-1,272,242,244,270,-1,245,243,269,267,-1,270,244,246,268,-1,247,245,267,265,-1,268,246,248,266,-1,249,247,265,263,-1,266,248,250,264,-1,251,249,263,261,-1,264,250,252,262,-1,233,251,261,279,-1,262,252,234,280,-1,255,253,259,257,-1,260,254,256,258,-1,253,231,281,259,-1,282,232,254,260,-1,231,233,279,281,-1,280,234,232,282,-1,66,107,283,72,-1,284,108,66,72,-1,107,105,285,283,-1,286,106,108,284,-1,105,103,287,285,-1,288,104,106,286,-1,103,101,289,287,-1,290,102,104,288,-1,101,99,291,289,-1,292,100,102,290,-1,99,97,293,291,-1,294,98,100,292,-1,97,95,295,293,-1,296,96,98,294,-1,95,93,297,295,-1,298,94,96,296,-1,93,91,299,297,-1,300,92,94,298,-1,307,308,327,337,-1,328,308,307,338,-1,306,307,337,335,-1,338,307,306,336,-1,305,306,335,339,-1,336,306,305,340,-1,88,90,305,339,-1,305,90,89,340,-1,86,88,339,333,-1,340,89,87,334,-1,84,86,333,329,-1,334,87,85,330,-1,82,84,329,331,-1,330,85,83,332,-1,329,335,337,331,-1,338,336,330,332,-1,329,333,339,335,-1,340,334,330,336,-1,325,331,337,327,-1,338,332,326,328,-1,80,82,331,325,-1,332,83,81,326,-1,208,341,343,214,-1,344,342,209,215,-1,80,325,341,208,-1,342,326,81,209,-1,78,214,343,345,-1,344,215,79,346,-1,78,345,299,91,-1,300,346,79,92,-1,76,323,351,303,-1,352,324,76,303,-1,303,351,349,77,-1,350,352,303,77,-1,77,349,347,304,-1,348,350,77,304,-1,304,347,327,308,-1,328,348,304,308,-1,325,327,347,341,-1,348,328,326,342,-1,295,297,317,309,-1,318,298,296,310,-1,75,315,323,76,-1,324,316,75,76,-1,301,357,355,302,-1,356,358,301,302,-1,302,355,353,74,-1,354,356,302,74,-1,74,353,315,75,-1,316,354,74,75,-1,291,293,361,363,-1,362,294,292,364,-1,363,361,367,365,-1,368,362,364,366,-1,365,367,369,371,-1,370,368,366,372,-1,371,369,375,373,-1,376,370,372,374,-1,313,377,373,375,-1,374,378,314,376,-1,315,353,373,377,-1,374,354,316,378,-1,353,355,371,373,-1,372,356,354,374,-1,355,357,365,371,-1,366,358,356,372,-1,357,359,363,365,-1,364,360,358,366,-1,289,291,363,359,-1,364,292,290,360,-1,73,359,357,301,-1,358,360,73,301,-1,283,285,287,289,-1,288,286,284,290,-1,283,289,359,73,-1,360,290,284,73,-1,72,283,73,-1,73,284,72,-1,293,295,309,361,-1,310,296,294,362,-1,309,311,367,361,-1,368,312,310,362,-1,311,381,369,367,-1,370,382,312,368,-1,313,375,369,381,-1,370,376,314,382,-1,347,349,385,383,-1,386,350,348,384,-1,317,383,385,319,-1,386,384,318,320,-1,297,299,383,317,-1,384,300,298,318,-1,299,343,341,383,-1,342,344,300,384,-1,341,347,383,-1,384,348,342,-1,299,345,343,-1,344,346,300,-1,313,321,379,377,-1,380,322,314,378,-1,315,377,379,323,-1,380,378,316,324,-1,319,385,379,321,-1,380,386,320,322,-1,349,351,379,385,-1,380,352,350,386,-1,323,379,351,-1,352,380,324,-1,399,387,413,401,-1,414,388,400,402,-1,399,401,403,397,-1,404,402,400,398,-1,397,403,405,395,-1,406,404,398,396,-1,395,405,407,393,-1,408,406,396,394,-1,393,407,409,391,-1,410,408,394,392,-1,391,409,411,389,-1,412,410,392,390,-1,409,419,417,411,-1,418,420,410,412,-1,407,421,419,409,-1,420,422,408,410,-1,405,423,421,407,-1,422,424,406,408,-1,403,425,423,405,-1,424,426,404,406,-1,401,427,425,403,-1,426,428,402,404,-1,401,413,415,427,-1,416,414,402,428,-1,317,319,443,441,-1,444,320,318,442,-1,319,389,411,443,-1,412,390,320,444,-1,309,317,441,311,-1,442,318,310,312,-1,381,429,413,387,-1,414,430,382,388,-1,411,417,439,443,-1,440};
			return value;
		}
		private int[] getIndexedFaceSet_7_22_coordIndex_3()
		{
			int[] value = {418,412,444,-1,437,445,443,439,-1,444,446,438,440,-1,433,445,437,435,-1,438,446,434,436,-1,431,447,445,433,-1,446,448,432,434,-1,429,447,431,449,-1,432,448,430,450,-1,413,429,449,415,-1,450,430,414,416,-1,311,447,429,381,-1,430,448,312,382,-1,311,441,445,447,-1,446,442,312,448,-1,441,443,445,-1,446,444,442,-1,415,449,451,475,-1,452,450,416,476,-1,449,431,461,451,-1,462,432,450,452,-1,431,433,459,461,-1,460,434,432,462,-1,433,435,457,459,-1,458,436,434,460,-1,435,437,455,457,-1,456,438,436,458,-1,437,439,453,455,-1,454,440,438,456,-1,439,417,473,453,-1,474,418,440,454,-1,427,415,475,463,-1,476,416,428,464,-1,425,427,463,465,-1,464,428,426,466,-1,423,425,465,467,-1,466,426,424,468,-1,421,423,467,469,-1,468,424,422,470,-1,419,421,469,471,-1,470,422,420,472,-1,417,419,471,473,-1,472,420,418,474,-1,457,455,479,477,-1,480,456,458,478,-1,477,479,481,483,-1,482,480,478,484,-1,483,481,487,485,-1,488,482,484,486,-1,485,487,489,491,-1,490,488,486,492,-1,463,475,485,491,-1,486,476,464,492,-1,451,483,485,475,-1,486,484,452,476,-1,451,461,477,483,-1,478,462,452,484,-1,457,477,461,459,-1,462,478,458,460,-1,453,473,479,455,-1,480,474,454,456,-1,471,481,479,473,-1,480,482,472,474,-1,469,487,481,471,-1,482,488,470,472,-1,467,489,487,469,-1,488,490,468,470,-1,465,491,489,467,-1,490,492,466,468,-1,463,491,465,-1,466,492,464,-1,391,389,503,501,-1,504,390,392,502,-1,393,391,501,499,-1,502,392,394,500,-1,395,393,499,497,-1,500,394,396,498,-1,397,395,497,495,-1,498,396,398,496,-1,399,397,495,493,-1,496,398,400,494,-1,387,399,493,505,-1,494,400,388,506,-1,493,501,503,505,-1,504,502,494,506,-1,493,495,499,501,-1,500,496,494,502,-1,495,497,499,-1,500,498,496,-1,313,381,387,505,-1,388,382,314,506,-1,313,505,503,321,-1,504,506,314,322,-1,319,321,503,389,-1,504,322,320,390,-1};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getcoords_ME_Suzanne_8_22_point_1()
		{
			double[] value = {0.437500,-0.765625,0.164062,-0.437500,-0.765625,0.164062,0.500000,-0.687500,0.093750,-0.500000,-0.687500,0.093750,0.546875,-0.578125,0.054688,-0.546875,-0.578125,0.054688,0.351562,-0.617188,-0.023438,-0.351562,-0.617188,-0.023438,0.351562,-0.718750,0.031250,-0.351562,-0.718750,0.031250,0.351562,-0.781250,0.132812,-0.351562,-0.781250,0.132812,0.273438,-0.796875,0.164062,-0.273438,-0.796875,0.164062,0.203125,-0.742188,0.093750,-0.203125,-0.742188,0.093750,0.156250,-0.648438,0.054688,-0.156250,-0.648438,0.054688,0.078125,-0.656250,0.242188,-0.078125,-0.656250,0.242188,0.140625,-0.742188,0.242188,-0.140625,-0.742188,0.242188,0.242188,-0.796875,0.242188,-0.242188,-0.796875,0.242188,0.273438,-0.796875,0.328125,-0.273438,-0.796875,0.328125,0.203125,-0.742188,0.390625,-0.203125,-0.742188,0.390625,0.156250,-0.648438,0.437500,-0.156250,-0.648438,0.437500,0.351562,-0.617188,0.515625,-0.351562,-0.617188,0.515625,0.351562,-0.718750,0.453125,-0.351562,-0.718750,0.453125,0.351562,-0.781250,0.359375,-0.351562,-0.781250,0.359375,0.437500,-0.765625,0.328125,-0.437500,-0.765625,0.328125,0.500000,-0.687500,0.390625,-0.500000,-0.687500,0.390625,0.546875,-0.578125,0.437500,-0.546875,-0.578125,0.437500,0.625000,-0.562500,0.242188,-0.625000,-0.562500,0.242188,0.562500,-0.671875,0.242188,-0.562500,-0.671875,0.242188,0.468750,-0.757812,0.242188,-0.468750,-0.757812,0.242188,0.476562,-0.773438,0.242188,-0.476562,-0.773438,0.242188,0.445312,-0.781250,0.335938,-0.445312,-0.781250,0.335938,0.351562,-0.804688,0.375000,-0.351562,-0.804688,0.375000,0.265625,-0.820312,0.335938,-0.265625,-0.820312,0.335938,0.226562,-0.820312,0.242188,-0.226562,-0.820312,0.242188,0.265625,-0.820312,0.156250,-0.265625,-0.820312,0.156250,0.351562,-0.828125,0.242188,-0.351562,-0.828125,0.242188,0.351562,-0.804688,0.117188,-0.351562,-0.804688,0.117188,0.445312,-0.781250,0.156250,-0.445312,-0.781250,0.156250,0.000000,-0.742188,0.429688,0.000000,-0.820312,0.351562,0.000000,-0.734375,-0.679688,0.000000,-0.781250,-0.320312,0.000000,-0.796875,-0.187500,0.000000,-0.718750,-0.773438,0.000000,-0.601562,0.406250,0.000000,-0.570312,0.570312,0.000000,0.546875,0.898438,0.000000,0.851562,0.562500,0.000000,0.828125,0.070312,0.000000,0.351562,-0.382812,0.203125,-0.562500,-0.187500,-0.203125,-0.562500,-0.187500,0.312500,-0.570312,-0.437500,-0.312500,-0.570312,-0.437500,0.351562,-0.570312,-0.695312,-0.351562,-0.570312,-0.695312,0.367188,-0.531250,-0.890625,-0.367188,-0.531250,-0.890625,0.328125,-0.523438,-0.945312,-0.328125,-0.523438,-0.945312,0.179688,-0.554688,-0.968750,-0.179688,-0.554688,-0.968750,0.000000,-0.578125,-0.984375,0.437500,-0.531250,-0.140625,-0.437500,-0.531250,-0.140625,0.632812,-0.539062,-0.039062,-0.632812,-0.539062,-0.039062,0.828125,-0.445312,0.148438,-0.828125,-0.445312,0.148438,0.859375,-0.593750,0.429688,-0.859375,-0.593750,0.429688,0.710938,-0.625000,0.484375};
			return value;
		}
		private double[] getcoords_ME_Suzanne_8_22_point_2()
		{
			double[] value = {-0.710938,-0.625000,0.484375,0.492188,-0.687500,0.601562,-0.492188,-0.687500,0.601562,0.320312,-0.734375,0.757812,-0.320312,-0.734375,0.757812,0.156250,-0.757812,0.718750,-0.156250,-0.757812,0.718750,0.062500,-0.750000,0.492188,-0.062500,-0.750000,0.492188,0.164062,-0.773438,0.414062,-0.164062,-0.773438,0.414062,0.125000,-0.765625,0.304688,-0.125000,-0.765625,0.304688,0.203125,-0.742188,0.093750,-0.203125,-0.742188,0.093750,0.375000,-0.703125,0.015625,-0.375000,-0.703125,0.015625,0.492188,-0.671875,0.062500,-0.492188,-0.671875,0.062500,0.625000,-0.648438,0.187500,-0.625000,-0.648438,0.187500,0.640625,-0.648438,0.296875,-0.640625,-0.648438,0.296875,0.601562,-0.664062,0.375000,-0.601562,-0.664062,0.375000,0.429688,-0.718750,0.437500,-0.429688,-0.718750,0.437500,0.250000,-0.757812,0.468750,-0.250000,-0.757812,0.468750,0.000000,-0.734375,-0.765625,0.109375,-0.734375,-0.718750,-0.109375,-0.734375,-0.718750,0.117188,-0.710938,-0.835938,-0.117188,-0.710938,-0.835938,0.062500,-0.695312,-0.882812,-0.062500,-0.695312,-0.882812,0.000000,-0.687500,-0.890625,0.000000,-0.750000,-0.195312,0.000000,-0.742188,-0.140625,0.101562,-0.742188,-0.148438,-0.101562,-0.742188,-0.148438,0.125000,-0.750000,-0.226562,-0.125000,-0.750000,-0.226562,0.085938,-0.742188,-0.289062,-0.085938,-0.742188,-0.289062,0.398438,-0.671875,-0.046875,-0.398438,-0.671875,-0.046875,0.617188,-0.625000,0.054688,-0.617188,-0.625000,0.054688,0.726562,-0.601562,0.203125,-0.726562,-0.601562,0.203125,0.742188,-0.656250,0.375000,-0.742188,-0.656250,0.375000,0.687500,-0.726562,0.414062,-0.687500,-0.726562,0.414062,0.437500,-0.796875,0.546875,-0.437500,-0.796875,0.546875,0.312500,-0.835938,0.640625,-0.312500,-0.835938,0.640625,0.203125,-0.851562,0.617188,-0.203125,-0.851562,0.617188,0.101562,-0.843750,0.429688,-0.101562,-0.843750,0.429688,0.125000,-0.812500,-0.101562,-0.125000,-0.812500,-0.101562,0.210938,-0.710938,-0.445312,-0.210938,-0.710938,-0.445312,0.250000,-0.687500,-0.703125,-0.250000,-0.687500,-0.703125,0.265625,-0.664062,-0.820312,-0.265625,-0.664062,-0.820312,0.234375,-0.632812,-0.914062,-0.234375,-0.632812,-0.914062,0.164062,-0.632812,-0.929688,-0.164062,-0.632812,-0.929688,0.000000,-0.640625,-0.945312,0.000000,-0.726562,0.046875,0.000000,-0.765625,0.210938,0.328125,-0.742188,0.476562,-0.328125,-0.742188,0.476562,0.164062,-0.750000,0.140625,-0.164062,-0.750000,0.140625,0.132812,-0.757812,0.210938,-0.132812,-0.757812,0.210938,0.117188,-0.734375,-0.687500,-0.117188,-0.734375,-0.687500,0.078125,-0.750000,-0.445312,-0.078125,-0.750000,-0.445312,0.000000,-0.750000,-0.445312,0.000000,-0.742188,-0.328125,0.093750,-0.781250,-0.273438,-0.093750,-0.781250,-0.273438,0.132812,-0.796875,-0.226562,-0.132812,-0.796875,-0.226562,0.109375,-0.781250,-0.132812,-0.109375,-0.781250,-0.132812,0.039062,-0.781250,-0.125000,-0.039062,-0.781250,-0.125000,0.000000,-0.828125,-0.203125,0.046875,-0.812500,-0.148438};
			return value;
		}
		private double[] getcoords_ME_Suzanne_8_22_point_3()
		{
			double[] value = {-0.046875,-0.812500,-0.148438,0.093750,-0.812500,-0.156250,-0.093750,-0.812500,-0.156250,0.109375,-0.828125,-0.226562,-0.109375,-0.828125,-0.226562,0.078125,-0.804688,-0.250000,-0.078125,-0.804688,-0.250000,0.000000,-0.804688,-0.289062,0.257812,-0.554688,-0.312500,-0.257812,-0.554688,-0.312500,0.164062,-0.710938,-0.242188,-0.164062,-0.710938,-0.242188,0.179688,-0.710938,-0.312500,-0.179688,-0.710938,-0.312500,0.234375,-0.554688,-0.250000,-0.234375,-0.554688,-0.250000,0.000000,-0.687500,-0.875000,0.046875,-0.687500,-0.867188,-0.046875,-0.687500,-0.867188,0.093750,-0.710938,-0.820312,-0.093750,-0.710938,-0.820312,0.093750,-0.726562,-0.742188,-0.093750,-0.726562,-0.742188,0.000000,-0.656250,-0.781250,0.093750,-0.664062,-0.750000,-0.093750,-0.664062,-0.750000,0.093750,-0.640625,-0.812500,-0.093750,-0.640625,-0.812500,0.046875,-0.632812,-0.851562,-0.046875,-0.632812,-0.851562,0.000000,-0.632812,-0.859375,0.171875,-0.781250,0.218750,-0.171875,-0.781250,0.218750,0.187500,-0.773438,0.156250,-0.187500,-0.773438,0.156250,0.335938,-0.757812,0.429688,-0.335938,-0.757812,0.429688,0.273438,-0.773438,0.421875,-0.273438,-0.773438,0.421875,0.421875,-0.773438,0.398438,-0.421875,-0.773438,0.398438,0.562500,-0.695312,0.351562,-0.562500,-0.695312,0.351562,0.585938,-0.687500,0.289062,-0.585938,-0.687500,0.289062,0.578125,-0.679688,0.195312,-0.578125,-0.679688,0.195312,0.476562,-0.718750,0.101562,-0.476562,-0.718750,0.101562,0.375000,-0.742188,0.062500,-0.375000,-0.742188,0.062500,0.226562,-0.781250,0.109375,-0.226562,-0.781250,0.109375,0.179688,-0.781250,0.296875,-0.179688,-0.781250,0.296875,0.210938,-0.781250,0.375000,-0.210938,-0.781250,0.375000,0.234375,-0.757812,0.359375,-0.234375,-0.757812,0.359375,0.195312,-0.757812,0.296875,-0.195312,-0.757812,0.296875,0.242188,-0.757812,0.125000,-0.242188,-0.757812,0.125000,0.375000,-0.726562,0.085938,-0.375000,-0.726562,0.085938,0.460938,-0.703125,0.117188,-0.460938,-0.703125,0.117188,0.546875,-0.671875,0.210938,-0.546875,-0.671875,0.210938,0.554688,-0.671875,0.281250,-0.554688,-0.671875,0.281250,0.531250,-0.679688,0.335938,-0.531250,-0.679688,0.335938,0.414062,-0.750000,0.390625,-0.414062,-0.750000,0.390625,0.281250,-0.765625,0.398438,-0.281250,-0.765625,0.398438,0.335938,-0.750000,0.406250,-0.335938,-0.750000,0.406250,0.203125,-0.750000,0.171875,-0.203125,-0.750000,0.171875,0.195312,-0.750000,0.226562,-0.195312,-0.750000,0.226562,0.109375,-0.609375,0.460938,-0.109375,-0.609375,0.460938,0.195312,-0.617188,0.664062,-0.195312,-0.617188,0.664062,0.335938,-0.593750,0.687500,-0.335938,-0.593750,0.687500,0.484375,-0.554688,0.554688,-0.484375,-0.554688,0.554688,0.679688,-0.492188,0.453125,-0.679688,-0.492188,0.453125,0.796875,-0.460938,0.406250,-0.796875,-0.460938,0.406250,0.773438,-0.375000,0.164062,-0.773438,-0.375000,0.164062,0.601562,-0.414062,0.000000,-0.601562,-0.414062,0.000000,0.437500,-0.468750,-0.093750};
			return value;
		}
		private double[] getcoords_ME_Suzanne_8_22_point_4()
		{
			double[] value = {-0.437500,-0.468750,-0.093750,0.000000,-0.289062,0.898438,0.000000,0.078125,0.984375,0.000000,0.671875,-0.195312,0.000000,-0.187500,-0.460938,0.000000,-0.460938,-0.976562,0.000000,-0.343750,-0.804688,0.000000,-0.320312,-0.570312,0.000000,-0.281250,-0.484375,0.851562,-0.054688,0.234375,-0.851562,-0.054688,0.234375,0.859375,0.046875,0.320312,-0.859375,0.046875,0.320312,0.773438,0.437500,0.265625,-0.773438,0.437500,0.265625,0.460938,0.703125,0.437500,-0.460938,0.703125,0.437500,0.734375,-0.070312,-0.046875,-0.734375,-0.070312,-0.046875,0.593750,0.164062,-0.125000,-0.593750,0.164062,-0.125000,0.640625,0.429688,-0.007812,-0.640625,0.429688,-0.007812,0.335938,0.664062,0.054688,-0.335938,0.664062,0.054688,0.234375,-0.406250,-0.351562,-0.234375,-0.406250,-0.351562,0.179688,-0.257812,-0.414062,-0.179688,-0.257812,-0.414062,0.289062,-0.382812,-0.710938,-0.289062,-0.382812,-0.710938,0.250000,-0.390625,-0.500000,-0.250000,-0.390625,-0.500000,0.328125,-0.398438,-0.914062,-0.328125,-0.398438,-0.914062,0.140625,-0.367188,-0.757812,-0.140625,-0.367188,-0.757812,0.125000,-0.359375,-0.539062,-0.125000,-0.359375,-0.539062,0.164062,-0.437500,-0.945312,-0.164062,-0.437500,-0.945312,0.218750,-0.429688,-0.281250,-0.218750,-0.429688,-0.281250,0.210938,-0.468750,-0.226562,-0.210938,-0.468750,-0.226562,0.203125,-0.500000,-0.171875,-0.203125,-0.500000,-0.171875,0.210938,-0.164062,-0.390625,-0.210938,-0.164062,-0.390625,0.296875,0.265625,-0.312500,-0.296875,0.265625,-0.312500,0.343750,0.539062,-0.148438,-0.343750,0.539062,-0.148438,0.453125,0.382812,0.867188,-0.453125,0.382812,0.867188,0.453125,0.070312,0.929688,-0.453125,0.070312,0.929688,0.453125,-0.234375,0.851562,-0.453125,-0.234375,0.851562,0.460938,-0.429688,0.523438,-0.460938,-0.429688,0.523438,0.726562,-0.335938,0.406250,-0.726562,-0.335938,0.406250,0.632812,-0.281250,0.453125,-0.632812,-0.281250,0.453125,0.640625,-0.054688,0.703125,-0.640625,-0.054688,0.703125,0.796875,-0.125000,0.562500,-0.796875,-0.125000,0.562500,0.796875,0.117188,0.617188,-0.796875,0.117188,0.617188,0.640625,0.195312,0.750000,-0.640625,0.195312,0.750000,0.640625,0.445312,0.679688,-0.640625,0.445312,0.679688,0.796875,0.359375,0.539062,-0.796875,0.359375,0.539062,0.617188,0.585938,0.328125,-0.617188,0.585938,0.328125,0.484375,0.546875,0.023438,-0.484375,0.546875,0.023438,0.820312,0.203125,0.328125,-0.820312,0.203125,0.328125,0.406250,-0.148438,-0.171875,-0.406250,-0.148438,-0.171875,0.429688,0.210938,-0.195312,-0.429688,0.210938,-0.195312,0.890625,0.234375,0.406250,-0.890625,0.234375,0.406250,0.773438,0.125000,-0.140625,-0.773438,0.125000,-0.140625,1.039062,0.328125,-0.101562,-1.039062,0.328125,-0.101562,1.281250,0.429688,0.054688,-1.281250,0.429688,0.054688,1.351562,0.421875,0.320312,-1.351562,0.421875,0.320312,1.234375,0.421875,0.507812,-1.234375,0.421875,0.507812,1.023438,0.312500,0.476562};
			return value;
		}
		private double[] getcoords_ME_Suzanne_8_22_point_5()
		{
			double[] value = {-1.023438,0.312500,0.476562,1.015625,0.289062,0.414062,-1.015625,0.289062,0.414062,1.187500,0.390625,0.437500,-1.187500,0.390625,0.437500,1.265625,0.406250,0.289062,-1.265625,0.406250,0.289062,1.210938,0.406250,0.078125,-1.210938,0.406250,0.078125,1.031250,0.304688,-0.039062,-1.031250,0.304688,-0.039062,0.828125,0.132812,-0.070312,-0.828125,0.132812,-0.070312,0.921875,0.218750,0.359375,-0.921875,0.218750,0.359375,0.945312,0.289062,0.304688,-0.945312,0.289062,0.304688,0.882812,0.210938,-0.023438,-0.882812,0.210938,-0.023438,1.039062,0.367188,0.000000,-1.039062,0.367188,0.000000,1.187500,0.445312,0.093750,-1.187500,0.445312,0.093750,1.234375,0.445312,0.250000,-1.234375,0.445312,0.250000,1.171875,0.437500,0.359375,-1.171875,0.437500,0.359375,1.023438,0.359375,0.343750,-1.023438,0.359375,0.343750,0.843750,0.210938,0.289062,-0.843750,0.210938,0.289062,0.835938,0.273438,0.171875,-0.835938,0.273438,0.171875,0.757812,0.273438,0.093750,-0.757812,0.273438,0.093750,0.820312,0.273438,0.085938,-0.820312,0.273438,0.085938,0.843750,0.273438,0.015625,-0.843750,0.273438,0.015625,0.812500,0.273438,-0.015625,-0.812500,0.273438,-0.015625,0.726562,0.070312,0.000000,-0.726562,0.070312,0.000000,0.718750,0.171875,-0.023438,-0.718750,0.171875,-0.023438,0.718750,0.187500,0.039062,-0.718750,0.187500,0.039062,0.796875,0.210938,0.203125,-0.796875,0.210938,0.203125,0.890625,0.265625,0.242188,-0.890625,0.265625,0.242188,0.890625,0.320312,0.234375,-0.890625,0.320312,0.234375,0.812500,0.320312,-0.015625,-0.812500,0.320312,-0.015625,0.851562,0.320312,0.015625,-0.851562,0.320312,0.015625,0.828125,0.320312,0.078125,-0.828125,0.320312,0.078125,0.765625,0.320312,0.093750,-0.765625,0.320312,0.093750,0.843750,0.320312,0.171875,-0.843750,0.320312,0.171875,1.039062,0.414062,0.328125,-1.039062,0.414062,0.328125,1.187500,0.484375,0.343750,-1.187500,0.484375,0.343750,1.257812,0.492188,0.242188,-1.257812,0.492188,0.242188,1.210938,0.484375,0.085938,-1.210938,0.484375,0.085938,1.046875,0.421875,0.000000,-1.046875,0.421875,0.000000,0.882812,0.265625,-0.015625,-0.882812,0.265625,-0.015625,0.953125,0.343750,0.289062,-0.953125,0.343750,0.289062,0.890625,0.328125,0.109375,-0.890625,0.328125,0.109375,0.937500,0.335938,0.062500,-0.937500,0.335938,0.062500,1.000000,0.367188,0.125000,-1.000000,0.367188,0.125000,0.960938,0.351562,0.171875,-0.960938,0.351562,0.171875,1.015625,0.375000,0.234375,-1.015625,0.375000,0.234375,1.054688,0.382812,0.187500,-1.054688,0.382812,0.187500,1.109375,0.390625,0.210938,-1.109375,0.390625,0.210938,1.085938,0.390625,0.273438,-1.085938,0.390625,0.273438,1.023438,0.484375,0.437500,-1.023438,0.484375,0.437500,1.250000,0.546875,0.468750,-1.250000,0.546875,0.468750,1.367188,0.500000,0.296875,-1.367188,0.500000,0.296875,1.312500,0.531250,0.054688};
			return value;
		}
		private double[] getcoords_ME_Suzanne_8_22_point_6()
		{
			double[] value = {-1.312500,0.531250,0.054688,1.039062,0.492188,-0.085938,-1.039062,0.492188,-0.085938,0.789062,0.328125,-0.125000,-0.789062,0.328125,-0.125000,0.859375,0.382812,0.382812,-0.859375,0.382812,0.382812};
			return value;
		}

		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=7, element #22, 2468 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 getIndexedFaceSet_7_22_coordIndex()
		{
			MFInt32 IndexedFaceSet_7_22_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_7_22_coordIndex_1()))
				.append(new MFInt32(getIndexedFaceSet_7_22_coordIndex_2()))
				.append(new MFInt32(getIndexedFaceSet_7_22_coordIndex_3()));
			return IndexedFaceSet_7_22_coordIndex;
		}
		/** Large attribute array: Coordinate DEF='coords_ME_Suzanne' point field, scene-graph level=8, element #22, 1521 total numbers made up of 507 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 getcoords_ME_Suzanne_8_22_point()
		{
			MFVec3f coords_ME_Suzanne_8_22_point = new MFVec3f()/*2.finalize*/
				.append(new MFVec3f(getcoords_ME_Suzanne_8_22_point_1()))
				.append(new MFVec3f(getcoords_ME_Suzanne_8_22_point_2()))
				.append(new MFVec3f(getcoords_ME_Suzanne_8_22_point_3()))
				.append(new MFVec3f(getcoords_ME_Suzanne_8_22_point_4()))
				.append(new MFVec3f(getcoords_ME_Suzanne_8_22_point_5()))
				.append(new MFVec3f(getcoords_ME_Suzanne_8_22_point_6()));
			return coords_ME_Suzanne_8_22_point;
		}

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

	/** 
	 * Provide a 
	 * &lt;a href="https://dzone.com/articles/java-copy-shallow-vs-deep-in-which-you-will-swim" target="_blank"&gt;shallow copy&lt;/a&gt;
	 * of the X3D model.
	 * @see &lt;a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html"&gt;X3D&lt;/a&gt;
	 * @return BlenderMonkeySuzanne 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 &lt;a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#handleArguments-java.lang.String:A-"&gt;X3D.handleArguments(args)&lt;/a&gt;
     * @see &lt;a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/X3D.html#validationReport--"&gt;X3D.validationReport()&lt;/a&gt;
     * @see &lt;a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html"&gt;CommandLine&lt;/a&gt;
     * @see &lt;a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html#USAGE"&gt;CommandLine.USAGE&lt;/a&gt;
     * @see &lt;a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/ConfigurationProperties.html"&gt;ConfigurationProperties&lt;/a&gt;
     */
    public static void main(String args[])
    {
        System.out.println("Build this X3D model, showing validation diagnostics...");
        X3D thisExampleX3dModel = new BlenderMonkeySuzanne().getX3dModel();
//      System.out.println("X3D model construction complete.");
	
        // next handle command line arguments
        boolean hasArguments = (args != null) &amp;&amp; (args.length &gt; 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: \"X3dForAdvancedModeling.Conversions.BlenderMonkeySuzanne\" 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("X3dForAdvancedModeling.Conversions.BlenderMonkeySuzanne self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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