package Savage.Space.SatelliteLab;

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> Prototype of High Torque Variable Speed Control Moment Gyro (HTVSCMG) unit for the MSADS Assembly. </p>
 <p> Related links: Catalog page <a href="../../../../Space/SatelliteLab/HTVSCMGPrototypeIndex.html" target="_blank">HTVSCMGPrototype</a>,  source <a href="../../../../Space/SatelliteLab/HTVSCMGPrototype.java">HTVSCMGPrototype.java</a>, <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;">&nbsp; Document Metadata </td>
		</tr>

		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> title </i> </td>
			<td> <a href="../../../../Space/SatelliteLab/HTVSCMGPrototype.x3d">HTVSCMGPrototype.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> description </i> </td>
			<td> Prototype of High Torque Variable Speed Control Moment Gyro (HTVSCMG) unit for the MSADS Assembly </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> creator </i> </td>
			<td> Ron Hatt </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> created </i> </td>
			<td> 14 September 2006 </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> modified </i> </td>
			<td> 3 July 2022 </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/Savage/Space/SatelliteLab/HTVSCMGPrototype.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/Savage/Space/SatelliteLab/HTVSCMGPrototype.x3d</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> reference </i> </td>
			<td> <a href="https://www.satcatalog.com/component/cmgm-5-5-1a" target="_blank">https://www.satcatalog.com/component/cmgm-5-5-1a</a> </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> Wings3D, VizX3D </td>
		</tr>
		<tr>
			<td style="text-align:right; vertical-align: text-top;"> <i> generator </i> </td>
			<td> X3D-Edit 3.2, <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> license </i> </td>
			<td> <a href="../../../../Space/SatelliteLab/../../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 Ron Hatt
 */

public class HTVSCMGPrototype
{
	/** Default constructor to create this object. */
	public HTVSCMGPrototype ()
	{
	  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("HTVSCMGPrototype.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("Prototype of High Torque Variable Speed Control Moment Gyro (HTVSCMG) unit for the MSADS Assembly"))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Ron Hatt"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("14 September 2006"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("3 July 2022"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/Savage/Space/SatelliteLab/HTVSCMGPrototype.x3d"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("https://www.satcatalog.com/component/cmgm-5-5-1a"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("Wings3D, VizX3D"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../../license.html")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setTitle("HTVSCMGPrototype.x3d"))
    .addChild(new ProtoDeclare("HTVSCMG").setName("HTVSCMG").setAppinfo("High Torque Variable Speed Control Moment Gyro (HTVSCMG)")
      .setProtoBody(new ProtoBody()
        .addChild(new Group("HTVSCMG")
          .addChild(new Transform().setRotation(0.0,0.0,1.0,1.57)
            .addChild(new CylinderSensor("BaseSensor").setDescription("click and drag to move").setMaxAngle(0).setMinAngle(-0.956))
            .addChild(new Transform("MovableRotatingBase").setCenter(-1.4,0.0,0.7)
              .addChild(new ROUTE().setFromNode("BaseSensor").setFromField("rotation_changed").setToNode("MovableRotatingBase").setToField("set_rotation"))
              .addChild(new Transform().setRotation(0.0,0.0,1.0,-1.57)
                .addChild(new Shape("RotatingBase")
                  .setAppearance(new Appearance()
                    .setMaterial(new Material().setAmbientIntensity(0.4).setDiffuseColor(1.0,0.77,0.31).setShininess(0.16).setSpecularColor(0.71,0.70,0.56)))
                  .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(getIndexedFaceSet_10_17_coordIndex())
                    .setCoord(new Coordinate().setPoint(getCoordinate_11_17_point()))))
                .addChild(new Transform().setRotation(1.0,0.0,0.0,1.57)
                  .addChild(new CylinderSensor("GyroSensor").setDescription("click and drag to move").setMaxAngle(1.57).setMinAngle(-1.57))
                  .addChild(new Transform("MovableGyro")
                    .addChild(new ROUTE().setFromNode("GyroSensor").setFromField("rotation_changed").setToNode("MovableGyro").setToField("set_rotation"))
                    .addChild(new Transform().setRotation(1.0,0.0,0.0,-1.57)
                      .addChild(new Shape("Gyro")
                        .setAppearance(new Appearance()
                          .setMaterial(new Material("DefaultColor").setAmbientIntensity(1.0).setDiffuseColor(1.0,1.0,1.0).setShininess(1.0).setSpecularColor(1.0,1.0,1.0)))
                        .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(getIndexedFaceSet_13_24_coordIndex())
                          .setCoord(new Coordinate().setPoint(getCoordinate_14_24_point()))))))))))
          .addChild(new Shape("FixedBase")
            .setAppearance(new Appearance()
              .setMaterial(new Material().setUSE("DefaultColor")))
            .setGeometry(new IndexedFaceSet().setCreaseAngle(0.524).setCoordIndex(new int[] {0,1,5,-1,0,5,4,-1,0,3,2,-1,0,2,1,-1,0,4,7,-1,0,7,3,-1,1,2,6,-1,1,6,5,-1,2,3,7,-1,2,7,6,-1,4,5,6,-1,4,6,7,-1})
              .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {-.4,-1.40776,.78306,-.4,-1.30776,.78306,.4,-1.30776,.78306,.4,-1.40776,.78306,-.4,-1.40776,-.86694,-.4,-1.30776,-.86694,.4,-1.30776,-.86694,.4,-1.40776,-.86694})))))))));
            }
            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_10_17_coordIndex_1()
		{
			int[] value = {0,1,5,-1,0,5,4,-1,0,3,2,-1,0,2,1,-1,0,4,7,-1,0,7,3,-1,1,2,6,-1,1,6,5,-1,2,3,7,-1,2,7,6,-1,4,5,6,-1,4,6,7,-1,8,9,13,-1,8,13,12,-1,8,11,10,-1,8,10,9,-1,8,12,15,-1,8,15,11,-1,9,10,14,-1,9,14,13,-1,10,11,15,-1,10,15,14,-1,12,13,14,-1,12,14,15,-1,16,17,21,-1,16,21,20,-1,16,19,18,-1,16,18,17,-1,16,20,23,-1,16,23,19,-1,17,18,22,-1,17,22,21,-1,18,19,23,-1,18,23,22,-1,20,21,22,-1,20,22,23,-1,24,25,41,-1,24,41,40,-1,24,39,38,-1,24,38,37,-1,24,37,36,-1,24,36,35,-1,24,35,34,-1,24,34,33,-1,24,33,32,-1,24,32,31,-1,24,31,30,-1,24,30,29,-1,24,29,28,-1,24,28,27,-1,24,27,26,-1,24,26,25,-1,24,40,55,-1,24,55,39,-1,25,26,42,-1,25,42,41,-1,26,27,43,-1,26,43,42,-1,27,28,44,-1,27,44,43,-1,28,29,45,-1,28,45,44,-1,29,30,46,-1,29,46,45,-1,30,31,47,-1,30,47,46,-1,31,32,48,-1,31,48,47,-1,32,33,49,-1,32,49,48,-1,33,34,50,-1,33,50,49,-1,34,35,51,-1,34,51,50,-1,35,36,52,-1,35,52,51,-1,36,37,53,-1,36,53,52,-1,37,38,54,-1,37,54,53,-1,38,39,55,-1,38,55,54,-1,40,41,42,-1,40,42,43,-1,40,43,44,-1,40,44,45,-1,40,45,46,-1,40,46,47,-1,40,47,48,-1,40,48,49,-1,40,49,50,-1,40,50,51,-1,40,51,52,-1,40,52,53,-1,40,53,54,-1,40,54,55,-1,56,57,73,-1,56,73,72,-1,56,71,90,-1,56,90,89,-1,56,72,87,-1,56,87,71,-1,56,89,88,-1,56,88,57,-1,57,58,74,-1,57,74,73,-1,57,88,103,-1,57,103,58,-1,58,59,75,-1,58,75,74,-1,58,103,102,-1,58,102,59,-1,59,60,76,-1,59,76,75,-1,59,102,101,-1,59,101,60,-1,60,61,77,-1,60,77,76,-1,60,101,100,-1,60,100,61,-1,61,62,78,-1,61,78,77,-1,61,100,99,-1,61,99,62,-1,62,63,79,-1,62,79,78,-1,62,99,98,-1,62,98,63,-1,63,64,80,-1,63,80,79,-1,63,98,97,-1,63,97,64,-1,64,65,81,-1,64,81,80,-1,64,97,96,-1,64,96,65,-1,65,66,82,-1,65,82,81,-1,65,96,95,-1,65,95,66,-1,66,67,83,-1,66,83,82,-1,66,95,94,-1,66,94,67,-1,67,68,84,-1,67,84,83,-1,67,94,93,-1,67,93,68,-1,68,69,85,-1,68,85,84,-1,68,93,92,-1,68,92,69,-1,69,70,86,-1,69,86,85,-1,69,92,91,-1,69,91,70,-1,70,71,87,-1,70,87,86,-1,70,91,90,-1,70,90,71,-1,72,73,74,-1,72,74,75,-1,72,75,76,-1,72,76,77,-1,72,77,78,-1,72,78,79,-1,72,79,80,-1,72,80,81,-1,72,81,82,-1,72,82,83,-1,72,83,84,-1,72,84,85,-1,72,85,86,-1,72,86,87,-1,88,89,105,-1,88,105,104,-1,88,104,119,-1,88,119,103,-1,89,90,106,-1,89,106,105,-1,90,91,107,-1,90,107,106,-1,91,92,108,-1,91,108,107,-1,92,93,109,-1,92,109,108,-1,93,94,110,-1,93,110,109,-1,94,95,111,-1,94,111,110,-1,95,96,112,-1,95,112,111,-1,96,97,113,-1,96,113,112,-1,97,98,114,-1,97,114,113,-1,98,99,115,-1,98,115,114,-1,99,100,116,-1,99,116,115,-1,100,101,117,-1,100,117,116,-1,101,102,118,-1,101,118,117,-1,102,103,119,-1,102,119,118,-1,104,105,106,-1,104,106,107,-1,104,107,108,-1,104,108,109,-1,104,109,110,-1,104,110,111,-1,104,111,112,-1,104,112,113,-1,104,113,114,-1,104,114,115,-1,104,115,116,-1,104,116,117,-1,104,117,118,-1,104,118,119,-1,120,121,125,-1,120,125,124,-1,120,123,122,-1,120,122,121,-1,120,124,127,-1,120,127,123,-1,121,122,126,-1,121,126,125,-1,122,123,127,-1,122,127,126,-1,124,125,126,-1,124,126,127,-1,128,129,133,-1,128,133,132,-1,128,131,130,-1,128,130,129,-1,128,132,135,-1,128,135,131,-1,129,130,134,-1,129,134,133,-1,130,131,135,-1,130,135,134,-1,132,133,134,-1,132,134,135,-1,136,137,140,-1,136,139,138,-1,136,138,137,-1,136,140,141,-1,136,141,139,-1,137,138,141,-1};
			return value;
		}
		private int[] getIndexedFaceSet_10_17_coordIndex_2()
		{
			int[] value = {137,141,140,-1,138,139,141,-1,142,143,146,-1,142,145,144,-1,142,144,143,-1,142,146,147,-1,142,147,145,-1,143,144,147,-1,143,147,146,-1,144,145,147,-1,148,149,153,-1,148,153,152,-1,148,151,150,-1,148,150,149,-1,148,152,155,-1,148,155,151,-1,149,150,154,-1,149,154,153,-1,150,151,155,-1,150,155,154,-1,152,153,154,-1,152,154,155,-1,156,157,161,-1,156,161,160,-1,156,159,158,-1,156,158,157,-1,156,160,163,-1,156,163,159,-1,157,158,162,-1,157,162,161,-1,158,159,163,-1,158,163,162,-1,160,161,162,-1,160,162,163,-1,164,165,169,-1,164,169,168,-1,164,167,166,-1,164,166,165,-1,164,168,171,-1,164,171,167,-1,165,166,170,-1,165,170,169,-1,166,167,171,-1,166,171,170,-1,168,169,170,-1,168,170,171,-1,172,173,222,-1,172,222,221,-1,172,187,203,-1,172,203,188,-1,172,188,189,-1,172,189,173,-1,172,221,220,-1,172,220,187,-1,173,174,223,-1,173,223,222,-1,173,189,190,-1,173,190,174,-1,174,175,224,-1,174,224,223,-1,174,190,191,-1,174,191,175,-1,175,176,225,-1,175,225,224,-1,175,191,192,-1,175,192,176,-1,176,177,226,-1,176,226,225,-1,176,192,193,-1,176,193,177,-1,177,178,227,-1,177,227,226,-1,177,193,194,-1,177,194,178,-1,178,179,228,-1,178,228,227,-1,178,194,195,-1,178,195,179,-1,179,180,229,-1,179,229,228,-1,179,195,196,-1,179,196,180,-1,180,181,230,-1,180,230,229,-1,180,196,197,-1,180,197,181,-1,181,182,231,-1,181,231,230,-1,181,197,198,-1,181,198,182,-1,182,183,232,-1,182,232,231,-1,182,198,199,-1,182,199,183,-1,183,184,233,-1,183,233,232,-1,183,199,200,-1,183,200,184,-1,184,185,234,-1,184,234,233,-1,184,200,201,-1,184,201,185,-1,185,186,235,-1,185,235,234,-1,185,201,202,-1,185,202,186,-1,186,187,220,-1,186,220,235,-1,186,202,203,-1,186,203,187,-1,188,203,206,-1,188,206,205,-1,188,205,204,-1,188,204,189,-1,189,204,219,-1,189,219,190,-1,190,219,218,-1,190,218,191,-1,191,218,217,-1,191,217,192,-1,192,217,216,-1,192,216,193,-1,193,216,215,-1,193,215,194,-1,194,215,214,-1,194,214,195,-1,195,214,213,-1,195,213,196,-1,196,213,212,-1,196,212,197,-1,197,212,211,-1,197,211,198,-1,198,211,210,-1,198,210,199,-1,199,210,209,-1,199,209,200,-1,200,209,208,-1,200,208,201,-1,201,208,207,-1,201,207,202,-1,202,207,206,-1,202,206,203,-1,204,205,206,-1,204,206,207,-1,204,207,208,-1,204,208,209,-1,204,209,210,-1,204,210,211,-1,204,211,212,-1,204,212,213,-1,204,213,214,-1,204,214,215,-1,204,215,216,-1,204,216,217,-1,204,217,218,-1,204,218,219,-1,220,221,237,-1,220,237,236,-1,220,236,251,-1,220,251,235,-1,221,222,238,-1,221,238,237,-1,222,223,239,-1,222,239,238,-1,223,224,240,-1,223,240,239,-1,224,225,241,-1,224,241,240,-1,225,226,242,-1,225,242,241,-1,226,227,243,-1,226,243,242,-1,227,228,244,-1,227,244,243,-1,228,229,245,-1,228,245,244,-1,229,230,246,-1,229,246,245,-1,230,231,247,-1,230,247,246,-1,231,232,248,-1,231,248,247,-1,232,233,249,-1,232,249,248,-1,233,234,250,-1,233,250,249,-1,234,235,251,-1,234,251,250,-1,236,237,238,-1,236,238,239,-1,236,239,240,-1,236,240,241,-1,236,241,242,-1,236,242,243,-1,236,243,244,-1,236,244,245,-1,236,245,246,-1,236,246,247,-1,236,247,248,-1,236,248,249,-1,236,249,250,-1,236,250,251,-1,252,253,258,-1,252,258,257,-1,252,257,262,-1,252,262,263,-1,252,263,256,-1,252,256,255,-1,252,255,254,-1,252,254,253,-1,253,254,259,-1,253,259,258,-1,254,255,260,-1,254,260,259,-1,255,256,261,-1,255,261,260,-1,256,263,266,-1,256,266,265,-1,256,265,264,-1,256,264,261,-1,257,258,259,-1,257,259,260,-1,257,260,261,-1,257,261,262,-1,261,264,267,-1,261,267,262,-1,262,267,268,-1,262,268,271,-1,262,271,270,-1,262,270,263,-1,263,270,269,-1,263,269,266,-1,264,265,266,-1,264,266,267,-1,266,269,268,-1,266,268,267,-1,268,269,270,-1,268,270,271,-1,272,273,277,-1,272,277,276,-1,272,275,274,-1,272,274,273,-1,272,276,279,-1,272,279,275,-1,273,274,278,-1,273,278,277,-1,274,275,279,-1,274,279,278,-1,276,277,278,-1,276,278,279,-1};
			return value;
		}
		private int[] getIndexedFaceSet_10_17_coordIndex_3()
		{
			int[] value = {280,281,286,-1,280,286,285,-1,280,285,290,-1,280,290,291,-1,280,291,284,-1,280,284,283,-1,280,283,282,-1,280,282,281,-1,281,282,287,-1,281,287,286,-1,282,283,288,-1,282,288,287,-1,283,284,289,-1,283,289,288,-1,284,291,294,-1,284,294,293,-1,284,293,292,-1,284,292,289,-1,285,286,287,-1,285,287,288,-1,285,288,289,-1,285,289,290,-1,289,292,295,-1,289,295,290,-1,290,295,296,-1,290,296,299,-1,290,299,298,-1,290,298,291,-1,291,298,297,-1,291,297,294,-1,292,293,294,-1,292,294,295,-1,294,297,296,-1,294,296,295,-1,296,297,298,-1,296,298,299,-1};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getCoordinate_11_17_point_1()
		{
			double[] value = {-.4,-.3024,1.25094,-.4,.4476,1.25094,.4,.4476,1.25094,.4,-.3024,1.25094,-.4,-.3024,1.00094,-.4,.4476,1.00094,.4,.4476,1.00094,.4,-.3024,1.00094,-.4,-1.1024,1.40097,-.4,-1.0024,1.40097,.4,-1.0024,1.40097,.4,-1.1024,1.40097,-.4,-1.1024,1.25097,-.4,-1.0024,1.25097,.4,-1.0024,1.25097,.4,-1.1024,1.25097,-.4,-1.1024,1.25094,-.4,-.3024,1.25094,.4,-.3024,1.25094,.4,-1.1024,1.25094,-.4,-1.1024,1.15094,-.4,-.3024,1.15094,.4,-.3024,1.15094,.4,-1.1024,1.15094,.15,0.0,-1.2438,.13858,-.0574,-1.2438,.10607,-.10607,-1.2438,.0574,-.13858,-1.2438,-0.0,-.15,-1.2438,-.0574,-.13858,-1.2438,-.10607,-.10607,-1.2438,-.13858,-.0574,-1.2438,-.15,-0.0,-1.2438,-.13858,.0574,-1.2438,-.10607,.10607,-1.2438,-.0574,.13858,-1.2438,-0.0,.15,-1.2438,.0574,.13858,-1.2438,.10607,.10607,-1.2438,.13858,.0574,-1.2438,.15,-0.0,-1.4938,.13858,-.0574,-1.4938,.10607,-.10607,-1.4938,.0574,-.13858,-1.4938,-0.0,-.15,-1.4938,-.0574,-.13858,-1.4938,-.10607,-.10607,-1.4938,-.13858,-.0574,-1.4938,-.15,-0.0,-1.4938,-.13858,.0574,-1.4938,-.10607,.10607,-1.4938,-.0574,.13858,-1.4938,-0.0,.15,-1.4938,.0574,.13858,-1.4938,.10607,.10607,-1.4938,.13858,.0574,-1.4938,.4,0.0,2.25557,.36955,-.15307,2.25557,.28284,-.28284,2.25557,.15307,-.36955,2.25557,-0.0,-.4,2.25557,-.15307,-.36955,2.25557,-.28284,-.28284,2.25557,-.36955,-.15307,2.25557,-.4,-0.0,2.25557,-.36955,.15307,2.25557,-.28284,.28284,2.25557,-.15307,.36955,2.25557,-0.0,.4,2.25557,.15307,.36955,2.25557,.28284,.28284,2.25557,.36955,.15307,2.25557,.4,-0.0,2.20557,.36955,-.15307,2.20557,.28284,-.28284,2.20557,.15307,-.36955,2.20557,-0.0,-.4,2.20557,-.15307,-.36955,2.20557,-.28284,-.28284,2.20557,-.36955,-.15307,2.20557,-.4,-0.0,2.20557,-.36955,.15307,2.20557,-.28284,.28284,2.20557,-.15307,.36955,2.20557,-0.0,.4,2.20557,.15307,.36955,2.20557,.28284,.28284,2.20557,.36955,.15307,2.20557,.27716,-.11481,2.25557,.3,-0.0,2.25557,.27716,.11481,2.25557,.21213,.21213,2.25557,.11481,.27716,2.25557,-0.0,.3,2.25557,-.11481,.27716,2.25557,-.21213,.21213,2.25557,-.27716,.11481,2.25557,-.3,-0.0,2.25557,-.27716,-.11481,2.25557,-.21213,-.21213,2.25557};
			return value;
		}
		private double[] getCoordinate_11_17_point_2()
		{
			double[] value = {-.11481,-.27716,2.25557,-0.0,-.3,2.25557,.11481,-.27716,2.25557,.21213,-.21213,2.25557,.27716,-.11481,2.45557,.3,-0.0,2.45557,.27716,.11481,2.45557,.21213,.21213,2.45557,.11481,.27716,2.45557,-0.0,.3,2.45557,-.11481,.27716,2.45557,-.21213,.21213,2.45557,-.27716,.11481,2.45557,-.3,-0.0,2.45557,-.27716,-.11481,2.45557,-.21213,-.21213,2.45557,-.11481,-.27716,2.45557,-0.0,-.3,2.45557,.11481,-.27716,2.45557,.21213,-.21213,2.45557,-.4,-1.10287,-1.1437,-.4,-.35287,-1.1437,.4,-.35287,-1.1437,.4,-1.10287,-1.1437,-.4,-1.10287,-1.1937,-.4,-.35287,-1.1937,.4,-.35287,-1.1937,.4,-1.10287,-1.1937,-.4,-.35226,-1.14346,-.4,.44774,-1.14346,.4,.44774,-1.14346,.4,-.35226,-1.14346,-.4,-.35226,-1.24346,-.4,.44774,-1.24346,.4,.44774,-1.24346,.4,-.35226,-1.24346,.4,-1.1026,-1.14275,.4,-.5026,-1.14275,-.4,-.5026,-1.14275,-.4,-1.1026,-1.14275,.4,-1.1026,-.54275,-.4,-1.1026,-.54275,-.4,-1.10264,1.15028,-.4,-.50265,1.15028,.4,-.50265,1.15028,.4,-1.10264,1.15028,-.4,-1.10264,.55028,.4,-1.10264,.55028,-.4,-1.30327,2.20587,-.4,-1.10327,2.20587,.4,-1.10327,2.20587,.4,-1.30327,2.20587,-.4,-1.30327,1.00587,-.4,-1.10327,1.00587,.4,-1.10327,1.00587,.4,-1.30327,1.00587,-.4,-1.20327,1.00587,-.4,-1.10327,1.00587,.4,-1.10327,1.00587,.4,-1.20327,1.00587,-.4,-1.20327,-1.19413,-.4,-1.10327,-1.19413,.4,-1.10327,-1.19413,.4,-1.20327,-1.19413,-.4,-1.10263,2.20593,-.4,.79737,2.20593,.4,.79737,2.20593,.4,-1.10263,2.20593,-.4,-1.10263,1.90593,-.4,.79737,1.90593,.4,.79737,1.90593,.4,-1.10263,1.90593,.35,-0.0,1.40012,.32336,-.13394,1.40012,.24749,-.24749,1.40012,.13394,-.32336,1.40012,0.0,-.35,1.40012,-.13394,-.32336,1.40012,-.24749,-.24749,1.40012,-.32336,-.13394,1.40012,-.35,-0.0,1.40012,-.32336,.13394,1.40012,-.24749,.24749,1.40012,-.13394,.32336,1.40012,-0.0,.35,1.40012,.13394,.32336,1.40012,.24749,.24749,1.40012,.32336,.13394,1.40012,.35,0.0,1.8814,.32336,-.13394,1.8814,.24749,-.24749,1.8814,.13394,-.32336,1.8814,0.0,-.35,1.8814,-.13394,-.32336,1.8814,-.24749,-.24749,1.8814,-.32336,-.13394,1.8814,-.35,-0.0,1.8814,-.32336,.13394,1.8814,-.24749,.24749,1.8814,-.13394,.32336,1.8814};
			return value;
		}
		private double[] getCoordinate_11_17_point_3()
		{
			double[] value = {-0.0,.35,1.8814,.13394,.32336,1.8814,.24749,.24749,1.8814,.32336,.13394,1.8814,.30573,-.12664,1.90012,.33091,0.0,1.90012,.30573,.12664,1.90012,.23399,.23399,1.90012,.12664,.30573,1.90012,-0.0,.33091,1.90012,-.12664,.30573,1.90012,-.23399,.23399,1.90012,-.30573,.12664,1.90012,-.33091,-0.0,1.90012,-.30573,-.12664,1.90012,-.23399,-.23399,1.90012,-.12664,-.30573,1.90012,0.0,-.33091,1.90012,.12664,-.30573,1.90012,.23399,-.23399,1.90012,.35569,.14733,1.40012,.385,-0.0,1.40012,.35569,-.14733,1.40012,.27224,-.27224,1.40012,.14733,-.35569,1.40012,0.0,-.385,1.40012,-.14733,-.35569,1.40012,-.27224,-.27224,1.40012,-.35569,-.14733,1.40012,-.385,-0.0,1.40012,-.35569,.14733,1.40012,-.27224,.27224,1.40012,-.14733,.35569,1.40012,-0.0,.385,1.40012,.14733,.35569,1.40012,.27224,.27224,1.40012,.35569,.14733,1.25012,.385,-0.0,1.25012,.35569,-.14733,1.25012,.27224,-.27224,1.25012,.14733,-.35569,1.25012,0.0,-.385,1.25012,-.14733,-.35569,1.25012,-.27224,-.27224,1.25012,-.35569,-.14733,1.25012,-.385,-0.0,1.25012,-.35569,.14733,1.25012,-.27224,.27224,1.25012,-.14733,.35569,1.25012,-0.0,.385,1.25012,.14733,.35569,1.25012,.27224,.27224,1.25012,.40335,-1.7561,.7868,.40335,-1.73707,.69113,.40335,-1.68287,.61003,.40335,-1.60177,.55583,.40335,-1.5061,.5368,.42335,-1.7561,.7868,.42335,-1.73707,.69113,.42335,-1.68287,.61003,.42335,-1.60177,.55583,.42335,-1.5061,.5368,.42335,-1.5061,.7868,.40335,-1.5061,.7868,.42335,-1.3061,.5368,.40335,-1.3061,.5368,.40335,-1.3061,.7868,.42335,-1.3061,.7868,.42335,-1.3061,1.08681,.40335,-1.3061,1.08681,.40335,-1.5061,1.08681,.42335,-1.5061,1.08681,-.4,-1.50794,2.20461,-.4,-1.30794,2.20461,.4,-1.30794,2.20461,.4,-1.50794,2.20461,-.4,-1.50794,.85461,-.4,-1.30794,.85461,.4,-1.30794,.85461,.4,-1.50794,.85461,-.42425,-1.7561,.78271,-.42425,-1.73707,.68704,-.42425,-1.68287,.60594,-.42425,-1.60177,.55174,-.42425,-1.5061,.53271,-.40425,-1.7561,.78271,-.40425,-1.73707,.68704,-.40425,-1.68287,.60594,-.40425,-1.60177,.55174,-.40425,-1.5061,.53271,-.40425,-1.5061,.78271,-.42425,-1.5061,.78271,-.40425,-1.3061,.53271,-.42425,-1.3061,.53271,-.42425,-1.3061,.78271,-.40425,-1.3061,.78271,-.40425,-1.3061,1.08271,-.42425,-1.3061,1.08271,-.42425,-1.5061,1.08271,-.40425,-1.5061,1.08271};
			return value;
		}


		/** Define subarrays using type int[] */
		private int[] getIndexedFaceSet_13_24_coordIndex_1()
		{
			int[] value = {0,1,33,-1,0,33,32,-1,0,31,66,-1,0,66,65,-1,0,32,63,-1,0,63,31,-1,0,65,64,-1,0,64,1,-1,1,2,34,-1,1,34,33,-1,1,64,95,-1,1,95,2,-1,2,3,35,-1,2,35,34,-1,2,95,94,-1,2,94,3,-1,3,4,36,-1,3,36,35,-1,3,94,93,-1,3,93,4,-1,4,5,37,-1,4,37,36,-1,4,93,92,-1,4,92,5,-1,5,6,38,-1,5,38,37,-1,5,92,91,-1,5,91,6,-1,6,7,39,-1,6,39,38,-1,6,91,90,-1,6,90,7,-1,7,8,40,-1,7,40,39,-1,7,90,89,-1,7,89,8,-1,8,9,41,-1,8,41,40,-1,8,89,88,-1,8,88,9,-1,9,10,42,-1,9,42,41,-1,9,88,87,-1,9,87,10,-1,10,11,43,-1,10,43,42,-1,10,87,86,-1,10,86,11,-1,11,12,44,-1,11,44,43,-1,11,86,85,-1,11,85,12,-1,12,13,45,-1,12,45,44,-1,12,85,84,-1,12,84,13,-1,13,14,46,-1,13,46,45,-1,13,84,83,-1,13,83,14,-1,14,15,47,-1,14,47,46,-1,14,83,82,-1,14,82,15,-1,15,16,48,-1,15,48,47,-1,15,82,81,-1,15,81,16,-1,16,17,49,-1,16,49,48,-1,16,81,80,-1,16,80,17,-1,17,18,50,-1,17,50,49,-1,17,80,79,-1,17,79,18,-1,18,19,51,-1,18,51,50,-1,18,79,78,-1,18,78,19,-1,19,20,52,-1,19,52,51,-1,19,78,77,-1,19,77,20,-1,20,21,53,-1,20,53,52,-1,20,77,76,-1,20,76,21,-1,21,22,54,-1,21,54,53,-1,21,76,75,-1,21,75,22,-1,22,23,55,-1,22,55,54,-1,22,75,74,-1,22,74,23,-1,23,24,56,-1,23,56,55,-1,23,74,73,-1,23,73,24,-1,24,25,57,-1,24,57,56,-1,24,73,72,-1,24,72,25,-1,25,26,58,-1,25,58,57,-1,25,72,71,-1,25,71,26,-1,26,27,59,-1,26,59,58,-1,26,71,70,-1,26,70,27,-1,27,28,60,-1,27,60,59,-1,27,70,69,-1,27,69,28,-1,28,29,61,-1,28,61,60,-1,28,69,68,-1,28,68,29,-1,29,30,62,-1,29,62,61,-1,29,68,67,-1,29,67,30,-1,30,31,63,-1,30,63,62,-1,30,67,66,-1,30,66,31,-1,32,33,193,-1,32,193,192,-1,32,192,223,-1,32,223,63,-1,33,34,194,-1,33,194,193,-1,34,35,195,-1,34,195,194,-1,35,36,196,-1,35,196,195,-1,36,37,197,-1,36,197,196,-1,37,38,198,-1,37,198,197,-1,38,39,199,-1,38,199,198,-1,39,40,200,-1,39,200,199,-1,40,41,201,-1,40,201,200,-1,41,42,202,-1,41,202,201,-1,42,43,203,-1,42,203,202,-1,43,44,204,-1,43,204,203,-1,44,45,205,-1,44,205,204,-1,45,46,206,-1,45,206,205,-1,46,47,207,-1,46,207,206,-1,47,48,208,-1,47,208,207,-1,48,49,209,-1,48,209,208,-1,49,50,210,-1,49,210,209,-1,50,51,211,-1,50,211,210,-1,51,52,212,-1,51,212,211,-1,52,53,213,-1,52,213,212,-1,53,54,214,-1,53,214,213,-1,54,55,215,-1,54,215,214,-1,55,56,216,-1,55,216,215,-1,56,57,217,-1,56,217,216,-1,57,58,218,-1,57,218,217,-1,58,59,219,-1,58,219,218,-1,59,60,220,-1,59,220,219,-1,60,61,221,-1,60,221,220,-1,61,62,222,-1,61,222,221,-1,62,63,223,-1,62,223,222,-1,64,65,97,-1,64,97,96,-1,64,96,127,-1,64,127,95,-1,65,66,98,-1,65,98,97,-1,66,67,99,-1,66,99,98,-1,67,68,100,-1,67,100,99,-1,68,69,101,-1,68,101,100,-1,69,70,102,-1,69,102,101,-1,70,71,103,-1,70,103,102,-1,71,72,104,-1,71,104,103,-1,72,73,105,-1,72,105,104,-1,73,74,106,-1,73,106,105,-1,74,75,107,-1,74,107,106,-1,75,76,108,-1,75,108,107,-1,76,77,109,-1,76,109,108,-1,77,78,110,-1,77,110,109,-1,78,79,111,-1,78,111,110,-1,79,80,112,-1,79,112,111,-1,80,81,113,-1,80,113,112,-1,81,82,114,-1,81,114,113,-1,82,83,115,-1,82,115,114,-1,83,84,116,-1,83,116,115,-1,84,85,117,-1,84,117,116,-1,85,86,118,-1,85,118,117,-1,86,87,119,-1,86,119,118,-1,87,88,120,-1,87,120,119,-1,88,89,121,-1,88,121,120,-1,89,90,122,-1,89,122,121,-1,90,91,123,-1,90,123,122,-1,91,92,124,-1,91,124,123,-1};
			return value;
		}
		private int[] getIndexedFaceSet_13_24_coordIndex_2()
		{
			int[] value = {92,93,125,-1,92,125,124,-1,93,94,126,-1,93,126,125,-1,94,95,127,-1,94,127,126,-1,128,129,161,-1,128,161,160,-1,128,160,191,-1,128,191,159,-1,129,130,162,-1,129,162,161,-1,130,131,163,-1,130,163,162,-1,131,132,164,-1,131,164,163,-1,132,133,165,-1,132,165,164,-1,133,134,166,-1,133,166,165,-1,134,135,167,-1,134,167,166,-1,135,136,168,-1,135,168,167,-1,136,137,169,-1,136,169,168,-1,137,138,170,-1,137,170,169,-1,138,139,171,-1,138,171,170,-1,139,140,172,-1,139,172,171,-1,140,141,173,-1,140,173,172,-1,141,142,174,-1,141,174,173,-1,142,143,175,-1,142,175,174,-1,143,144,176,-1,143,176,175,-1,144,145,177,-1,144,177,176,-1,145,146,178,-1,145,178,177,-1,146,147,179,-1,146,179,178,-1,147,148,180,-1,147,180,179,-1,148,149,181,-1,148,181,180,-1,149,150,182,-1,149,182,181,-1,150,151,183,-1,150,183,182,-1,151,152,184,-1,151,184,183,-1,152,153,185,-1,152,185,184,-1,153,154,186,-1,153,186,185,-1,154,155,187,-1,154,187,186,-1,155,156,188,-1,155,188,187,-1,156,157,189,-1,156,189,188,-1,157,158,190,-1,157,190,189,-1,158,159,191,-1,158,191,190,-1,160,161,162,-1,160,162,163,-1,160,163,164,-1,160,164,165,-1,160,165,166,-1,160,166,167,-1,160,167,168,-1,160,168,169,-1,160,169,170,-1,160,170,171,-1,160,171,172,-1,160,172,173,-1,160,173,174,-1,160,174,175,-1,160,175,176,-1,160,176,177,-1,160,177,178,-1,160,178,179,-1,160,179,180,-1,160,180,181,-1,160,181,182,-1,160,182,183,-1,160,183,184,-1,160,184,185,-1,160,185,186,-1,160,186,187,-1,160,187,188,-1,160,188,189,-1,160,189,190,-1,160,190,191,-1,224,225,257,-1,224,257,256,-1,224,256,287,-1,224,287,255,-1,225,226,258,-1,225,258,257,-1,226,227,259,-1,226,259,258,-1,227,228,260,-1,227,260,259,-1,228,229,261,-1,228,261,260,-1,229,230,262,-1,229,262,261,-1,230,231,263,-1,230,263,262,-1,231,232,264,-1,231,264,263,-1,232,233,265,-1,232,265,264,-1,233,234,266,-1,233,266,265,-1,234,235,267,-1,234,267,266,-1,235,236,268,-1,235,268,267,-1,236,237,269,-1,236,269,268,-1,237,238,270,-1,237,270,269,-1,238,239,271,-1,238,271,270,-1,239,240,272,-1,239,272,271,-1,240,241,273,-1,240,273,272,-1,241,242,274,-1,241,274,273,-1,242,243,275,-1,242,275,274,-1,243,244,276,-1,243,276,275,-1,244,245,277,-1,244,277,276,-1,245,246,278,-1,245,278,277,-1,246,247,279,-1,246,279,278,-1,247,248,280,-1,247,280,279,-1,248,249,281,-1,248,281,280,-1,249,250,282,-1,249,282,281,-1,250,251,283,-1,250,283,282,-1,251,252,284,-1,251,284,283,-1,252,253,285,-1,252,285,284,-1,253,254,286,-1,253,286,285,-1,254,255,287,-1,254,287,286,-1,256,257,289,-1,256,289,288,-1,256,288,319,-1,256,319,287,-1,257,258,290,-1,257,290,289,-1,258,259,291,-1,258,291,290,-1,259,260,292,-1,259,292,291,-1,260,261,293,-1,260,293,292,-1,261,262,294,-1,261,294,293,-1,262,263,295,-1,262,295,294,-1,263,264,296,-1,263,296,295,-1,264,265,297,-1,264,297,296,-1,265,266,298,-1,265,298,297,-1,266,267,299,-1,266,299,298,-1,267,268,300,-1,267,300,299,-1,268,269,301,-1,268,301,300,-1,269,270,302,-1,269,302,301,-1,270,271,303,-1,270,303,302,-1,271,272,304,-1,271,304,303,-1,272,273,305,-1,272,305,304,-1,273,274,306,-1,273,306,305,-1,274,275,307,-1,274,307,306,-1,275,276,308,-1,275,308,307,-1,276,277,309,-1,276,309,308,-1,277,278,310,-1,277,310,309,-1,278,279,311,-1,278,311,310,-1,279,280,312,-1,279,312,311,-1,280,281,313,-1,280,313,312,-1,281,282,314,-1,281,314,313,-1,282,283,315,-1,282,315,314,-1,283,284,316,-1,283,316,315,-1,284,285,317,-1,284,317,316,-1,285,286,318,-1,285,318,317,-1,286,287,319,-1,286,319,318,-1,288,289,321,-1,288,321,320,-1,288,320,351,-1,288,351,319,-1,289,290,322,-1,289,322,321,-1,290,291,323,-1,290,323,322,-1,291,292,324,-1,291,324,323,-1,292,293,325,-1,292,325,324,-1,293,294,326,-1,293,326,325,-1,294,295,327,-1,294,327,326,-1,295,296,328,-1,295,328,327,-1,296,297,329,-1,296,329,328,-1,297,298,330,-1,297,330,329,-1};
			return value;
		}
		private int[] getIndexedFaceSet_13_24_coordIndex_3()
		{
			int[] value = {298,299,331,-1,298,331,330,-1,299,300,332,-1,299,332,331,-1,300,301,333,-1,300,333,332,-1,301,302,334,-1,301,334,333,-1,302,303,335,-1,302,335,334,-1,303,304,336,-1,303,336,335,-1,304,305,337,-1,304,337,336,-1,305,306,338,-1,305,338,337,-1,306,307,339,-1,306,339,338,-1,307,308,340,-1,307,340,339,-1,308,309,341,-1,308,341,340,-1,309,310,342,-1,309,342,341,-1,310,311,343,-1,310,343,342,-1,311,312,344,-1,311,344,343,-1,312,313,345,-1,312,345,344,-1,313,314,346,-1,313,346,345,-1,314,315,347,-1,314,347,346,-1,315,316,348,-1,315,348,347,-1,316,317,349,-1,316,349,348,-1,317,318,350,-1,317,350,349,-1,318,319,351,-1,318,351,350,-1,320,321,353,-1,320,353,352,-1,320,352,383,-1,320,383,351,-1,321,322,354,-1,321,354,353,-1,322,323,355,-1,322,355,354,-1,323,324,356,-1,323,356,355,-1,324,325,357,-1,324,357,356,-1,325,326,358,-1,325,358,357,-1,326,327,359,-1,326,359,358,-1,327,328,360,-1,327,360,359,-1,328,329,361,-1,328,361,360,-1,329,330,362,-1,329,362,361,-1,330,331,363,-1,330,363,362,-1,331,332,364,-1,331,364,363,-1,332,333,365,-1,332,365,364,-1,333,334,366,-1,333,366,365,-1,334,335,367,-1,334,367,366,-1,335,336,368,-1,335,368,367,-1,336,337,369,-1,336,369,368,-1,337,338,370,-1,337,370,369,-1,338,339,371,-1,338,371,370,-1,339,340,372,-1,339,372,371,-1,340,341,373,-1,340,373,372,-1,341,342,374,-1,341,374,373,-1,342,343,375,-1,342,375,374,-1,343,344,376,-1,343,376,375,-1,344,345,377,-1,344,377,376,-1,345,346,378,-1,345,378,377,-1,346,347,379,-1,346,379,378,-1,347,348,380,-1,347,380,379,-1,348,349,381,-1,348,381,380,-1,349,350,382,-1,349,382,381,-1,350,351,383,-1,350,383,382,-1,352,353,385,-1,352,385,384,-1,352,384,415,-1,352,415,383,-1,353,354,386,-1,353,386,385,-1,354,355,387,-1,354,387,386,-1,355,356,388,-1,355,388,387,-1,356,357,389,-1,356,389,388,-1,357,358,390,-1,357,390,389,-1,358,359,391,-1,358,391,390,-1,359,360,392,-1,359,392,391,-1,360,361,393,-1,360,393,392,-1,361,362,394,-1,361,394,393,-1,362,363,395,-1,362,395,394,-1,363,364,396,-1,363,396,395,-1,364,365,397,-1,364,397,396,-1,365,366,398,-1,365,398,397,-1,366,367,399,-1,366,399,398,-1,367,368,400,-1,367,400,399,-1,368,369,401,-1,368,401,400,-1,369,370,402,-1,369,402,401,-1,370,371,403,-1,370,403,402,-1,371,372,404,-1,371,404,403,-1,372,373,405,-1,372,405,404,-1,373,374,406,-1,373,406,405,-1,374,375,407,-1,374,407,406,-1,375,376,408,-1,375,408,407,-1,376,377,409,-1,376,409,408,-1,377,378,410,-1,377,410,409,-1,378,379,411,-1,378,411,410,-1,379,380,412,-1,379,412,411,-1,380,381,413,-1,380,413,412,-1,381,382,414,-1,381,414,413,-1,382,383,415,-1,382,415,414,-1,384,385,417,-1,384,417,416,-1,384,416,447,-1,384,447,415,-1,385,386,418,-1,385,418,417,-1,386,387,419,-1,386,419,418,-1,387,388,420,-1,387,420,419,-1,388,389,421,-1,388,421,420,-1,389,390,422,-1,389,422,421,-1,390,391,423,-1,390,423,422,-1,391,392,424,-1,391,424,423,-1,392,393,425,-1,392,425,424,-1,393,394,426,-1,393,426,425,-1,394,395,427,-1,394,427,426,-1,395,396,428,-1,395,428,427,-1,396,397,429,-1,396,429,428,-1,397,398,430,-1,397,430,429,-1,398,399,431,-1,398,431,430,-1,399,400,432,-1,399,432,431,-1,400,401,433,-1,400,433,432,-1,401,402,434,-1,401,434,433,-1,402,403,435,-1,402,435,434,-1,403,404,436,-1,403,436,435,-1,404,405,437,-1,404,437,436,-1,405,406,438,-1,405,438,437,-1,406,407,439,-1,406,439,438,-1,407,408,440,-1,407,440,439,-1,408,409,441,-1,408,441,440,-1,409,410,442,-1,409,442,441,-1,410,411,443,-1,410,443,442,-1,411,412,444,-1,411,444,443,-1,412,413,445,-1,412,445,444,-1,413,414,446,-1,413,446,445,-1,414,415,447,-1,414,447,446,-1,416,417,449,-1,416,449,448,-1,416,448,479,-1,416,479,447,-1,417,418,450,-1,417,450,449,-1,418,419,451,-1,418,451,450,-1,419,420,452,-1,419,452,451,-1,420,421,453,-1,420,453,452,-1,421,422,454,-1,421,454,453,-1,422,423,455,-1,422,455,454,-1};
			return value;
		}
		private int[] getIndexedFaceSet_13_24_coordIndex_4()
		{
			int[] value = {423,424,456,-1,423,456,455,-1,424,425,457,-1,424,457,456,-1,425,426,458,-1,425,458,457,-1,426,427,459,-1,426,459,458,-1,427,428,460,-1,427,460,459,-1,428,429,461,-1,428,461,460,-1,429,430,462,-1,429,462,461,-1,430,431,463,-1,430,463,462,-1,431,432,464,-1,431,464,463,-1,432,433,465,-1,432,465,464,-1,433,434,466,-1,433,466,465,-1,434,435,467,-1,434,467,466,-1,435,436,468,-1,435,468,467,-1,436,437,469,-1,436,469,468,-1,437,438,470,-1,437,470,469,-1,438,439,471,-1,438,471,470,-1,439,440,472,-1,439,472,471,-1,440,441,473,-1,440,473,472,-1,441,442,474,-1,441,474,473,-1,442,443,475,-1,442,475,474,-1,443,444,476,-1,443,476,475,-1,444,445,477,-1,444,477,476,-1,445,446,478,-1,445,478,477,-1,446,447,479,-1,446,479,478,-1,448,449,481,-1,448,481,480,-1,448,480,511,-1,448,511,479,-1,449,450,482,-1,449,482,481,-1,450,451,483,-1,450,483,482,-1,451,452,484,-1,451,484,483,-1,452,453,485,-1,452,485,484,-1,453,454,486,-1,453,486,485,-1,454,455,487,-1,454,487,486,-1,455,456,488,-1,455,488,487,-1,456,457,489,-1,456,489,488,-1,457,458,490,-1,457,490,489,-1,458,459,491,-1,458,491,490,-1,459,460,492,-1,459,492,491,-1,460,461,493,-1,460,493,492,-1,461,462,494,-1,461,494,493,-1,462,463,495,-1,462,495,494,-1,463,464,496,-1,463,496,495,-1,464,465,497,-1,464,497,496,-1,465,466,498,-1,465,498,497,-1,466,467,499,-1,466,499,498,-1,467,468,500,-1,467,500,499,-1,468,469,501,-1,468,501,500,-1,469,470,502,-1,469,502,501,-1,470,471,503,-1,470,503,502,-1,471,472,504,-1,471,504,503,-1,472,473,505,-1,472,505,504,-1,473,474,506,-1,473,506,505,-1,474,475,507,-1,474,507,506,-1,475,476,508,-1,475,508,507,-1,476,477,509,-1,476,509,508,-1,477,478,510,-1,477,510,509,-1,478,479,511,-1,478,511,510,-1,480,481,482,-1,480,482,483,-1,480,483,484,-1,480,484,485,-1,480,485,486,-1,480,486,487,-1,480,487,488,-1,480,488,489,-1,480,489,490,-1,480,490,491,-1,480,491,492,-1,480,492,493,-1,480,493,494,-1,480,494,495,-1,480,495,496,-1,480,496,497,-1,480,497,498,-1,480,498,499,-1,480,499,500,-1,480,500,501,-1,480,501,502,-1,480,502,503,-1,480,503,504,-1,480,504,505,-1,480,505,506,-1,480,506,507,-1,480,507,508,-1,480,508,509,-1,480,509,510,-1,480,510,511,-1,512,513,529,-1,512,529,528,-1,512,527,526,-1,512,526,525,-1,512,525,524,-1,512,524,523,-1,512,523,522,-1,512,522,521,-1,512,521,520,-1,512,520,519,-1,512,519,518,-1,512,518,517,-1,512,517,516,-1,512,516,515,-1,512,515,514,-1,512,514,513,-1,512,528,543,-1,512,543,527,-1,513,514,530,-1,513,530,529,-1,514,515,531,-1,514,531,530,-1,515,516,532,-1,515,532,531,-1,516,517,533,-1,516,533,532,-1,517,518,534,-1,517,534,533,-1,518,519,535,-1,518,535,534,-1,519,520,536,-1,519,536,535,-1,520,521,537,-1,520,537,536,-1,521,522,538,-1,521,538,537,-1,522,523,539,-1,522,539,538,-1,523,524,540,-1,523,540,539,-1,524,525,541,-1,524,541,540,-1,525,526,542,-1,525,542,541,-1,526,527,543,-1,526,543,542,-1,528,529,530,-1,528,530,531,-1,528,531,532,-1,528,532,533,-1,528,533,534,-1,528,534,535,-1,528,535,536,-1,528,536,537,-1,528,537,538,-1,528,538,539,-1,528,539,540,-1,528,540,541,-1,528,541,542,-1,528,542,543,-1,544,545,561,-1,544,561,560,-1,544,559,558,-1,544,558,557,-1,544,557,556,-1,544,556,555,-1,544,555,554,-1,544,554,553,-1,544,553,552,-1,544,552,551,-1,544,551,550,-1,544,550,549,-1,544,549,548,-1,544,548,547,-1,544,547,546,-1,544,546,545,-1,544,560,575,-1,544,575,559,-1,545,546,562,-1,545,562,561,-1,546,547,563,-1,546,563,562,-1,547,548,564,-1,547,564,563,-1,548,549,565,-1,548,565,564,-1,549,550,566,-1,549,566,565,-1,550,551,567,-1,550,567,566,-1,551,552,568,-1,551,568,567,-1,552,553,569,-1,552,569,568,-1,553,554,570,-1,553,570,569,-1,554,555,571,-1,554,571,570,-1,555,556,572,-1,555,572,571,-1,556,557,573,-1,556,573,572,-1,557,558,574,-1,557,574,573,-1,558,559,575,-1,558,575,574,-1,560,561,562,-1,560,562,563,-1};
			return value;
		}
		private int[] getIndexedFaceSet_13_24_coordIndex_5()
		{
			int[] value = {560,563,564,-1,560,564,565,-1,560,565,566,-1,560,566,567,-1,560,567,568,-1,560,568,569,-1,560,569,570,-1,560,570,571,-1,560,571,572,-1,560,572,573,-1,560,573,574,-1,560,574,575,-1};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getCoordinate_14_24_point_1()
		{
			double[] value = {.24857,-1.0,.00059,.24857,-.98079,.19569,.24857,-.92388,.38328,.24857,-.83147,.55617,.24857,-.70711,.7077,.24857,-.55557,.83206,.24857,-.38268,.92447,.24857,-.19509,.98138,.24857,-0.0,1.00059,.24857,.19509,.98138,.24857,.38268,.92447,.24857,.55557,.83206,.24857,.70711,.7077,.24857,.83147,.55617,.24857,.92388,.38328,.24857,.98079,.19569,.24857,1.0,.00059,.24857,.98079,-.1945,.24857,.92388,-.38209,.24857,.83147,-.55498,.24857,.70711,-.70651,.24857,.55557,-.83088,.24857,.38268,-.92329,.24857,.19509,-.98019,.24857,0.0,-.9994,.24857,-.19509,-.98019,.24857,-.38268,-.92329,.24857,-.55557,-.83088,.24857,-.70711,-.70651,.24857,-.83147,-.55498,.24857,-.92388,-.38209,.24857,-.98079,-.1945,-.25143,-1.0,.00059,-.25143,-.98079,.19569,-.25143,-.92388,.38328,-.25143,-.83147,.55617,-.25143,-.70711,.7077,-.25143,-.55557,.83206,-.25143,-.38268,.92447,-.25143,-.19509,.98138,-.25143,-0.0,1.00059,-.25143,.19509,.98138,-.25143,.38268,.92447,-.25143,.55557,.83206,-.25143,.70711,.7077,-.25143,.83147,.55617,-.25143,.92388,.38328,-.25143,.98079,.19569,-.25143,1.0,.00059,-.25143,.98079,-.1945,-.25143,.92388,-.38209,-.25143,.83147,-.55498,-.25143,.70711,-.70651,-.25143,.55557,-.83088,-.25143,.38268,-.92329,-.25143,.19509,-.98019,-.25143,0.0,-.9994,-.25143,-.19509,-.98019,-.25143,-.38268,-.92329,-.25143,-.55557,-.83088,-.25143,-.70711,-.70651,-.25143,-.83147,-.55498,-.25143,-.92388,-.38209,-.25143,-.98079,-.1945,.24857,-.68655,.13716,.24857,-.7,.00059,.24857,-.68655,-.13597,.24857,-.64672,-.26728,.24857,-.58203,-.38831,.24857,-.49498,-.49438,.24857,-.3889,-.58143,.24857,-.26788,-.64612,.24857,-.13656,-.68595,.24857,-0.0,-.69941,.24857,.13656,-.68595,.24857,.26788,-.64612,.24857,.3889,-.58143,.24857,.49498,-.49438,.24857,.58203,-.38831,.24857,.64672,-.26728,.24857,.68655,-.13597,.24857,.7,.00059,.24857,.68655,.13716,.24857,.64672,.26847,.24857,.58203,.38949,.24857,.49498,.49557,.24857,.3889,.58262,.24857,.26788,.64731,.24857,.13656,.68714,.24857,-0.0,.70059,.24857,-.13656,.68714,.24857,-.26788,.64731,.24857,-.3889,.58262,.24857,-.49498,.49557,.24857,-.58203,.38949,.24857,-.64672,.26847,.49857,-.68655,.13716,.49857,-.7,.00059,.49857,-.68655,-.13597,.49857,-.64672,-.26728};
			return value;
		}
		private double[] getCoordinate_14_24_point_2()
		{
			double[] value = {.49857,-.58203,-.38831,.49857,-.49498,-.49438,.49857,-.3889,-.58143,.49857,-.26788,-.64612,.49857,-.13656,-.68595,.49857,-0.0,-.69941,.49857,.13656,-.68595,.49857,.26788,-.64612,.49857,.3889,-.58143,.49857,.49498,-.49438,.49857,.58203,-.38831,.49857,.64672,-.26728,.49857,.68655,-.13597,.49857,.7,.00059,.49857,.68655,.13716,.49857,.64672,.26847,.49857,.58203,.38949,.49857,.49498,.49557,.49857,.3889,.58262,.49857,.26788,.64731,.49857,.13656,.68714,.49857,-0.0,.70059,.49857,-.13656,.68714,.49857,-.26788,.64731,.49857,-.3889,.58262,.49857,-.49498,.49557,.49857,-.58203,.38949,.49857,-.64672,.26847,.49857,-.68655,.13716,.49857,-.7,.00059,.49857,-.68655,-.13597,.49857,-.64672,-.26728,.49857,-.58203,-.38831,.49857,-.49498,-.49438,.49857,-.3889,-.58143,.49857,-.26788,-.64612,.49857,-.13656,-.68595,.49857,-0.0,-.69941,.49857,.13656,-.68595,.49857,.26788,-.64612,.49857,.3889,-.58143,.49857,.49498,-.49438,.49857,.58203,-.38831,.49857,.64672,-.26728,.49857,.68655,-.13597,.49857,.7,.00059,.49857,.68655,.13716,.49857,.64672,.26847,.49857,.58203,.38949,.49857,.49498,.49557,.49857,.3889,.58262,.49857,.26788,.64731,.49857,.13656,.68714,.49857,-0.0,.70059,.49857,-.13656,.68714,.49857,-.26788,.64731,.49857,-.3889,.58262,.49857,-.49498,.49557,.49857,-.58203,.38949,.49857,-.64672,.26847,.59857,-.588,.11755,.59857,-.59952,.00059,.59857,-.588,-.11637,.59857,-.55388,-.22883,.59857,-.49848,-.33248,.59857,-.42392,-.42333,.59857,-.33307,-.49789,.59857,-.22942,-.55329,.59857,-.11696,-.5874,.59857,-0.0,-.59892,.59857,.11696,-.5874,.59857,.22942,-.55329,.59857,.33307,-.49789,.59857,.42392,-.42333,.59857,.49848,-.33248,.59857,.55388,-.22883,.59857,.588,-.11637,.59857,.59952,.00059,.59857,.588,.11755,.59857,.55388,.23002,.59857,.49848,.33367,.59857,.42392,.42452,.59857,.33307,.49907,.59857,.22942,.55448,.59857,.11696,.58859,.59857,-0.0,.60011,.59857,-.11696,.58859,.59857,-.22942,.55448,.59857,-.33307,.49907,.59857,-.42392,.42452,.59857,-.49848,.33367,.59857,-.55388,.23002,-.25143,-.4,.00059,-.25143,-.39231,.07863,-.25143,-.36955,.15367,-.25143,-.33259,.22282,-.25143,-.28284,.28344,-.25143,-.22223,.33318,-.25143,-.15307,.37015,-.25143,-.07804,.39291};
			return value;
		}
		private double[] getCoordinate_14_24_point_3()
		{
			double[] value = {-.25143,-0.0,.40059,-.25143,.07804,.39291,-.25143,.15307,.37015,-.25143,.22223,.33318,-.25143,.28284,.28344,-.25143,.33259,.22282,-.25143,.36955,.15367,-.25143,.39231,.07863,-.25143,.4,.00059,-.25143,.39231,-.07744,-.25143,.36955,-.15248,-.25143,.33259,-.22163,-.25143,.28284,-.28225,-.25143,.22223,-.33199,-.25143,.15307,-.36896,-.25143,.07804,-.39172,-.25143,-0.0,-.39941,-.25143,-.07804,-.39172,-.25143,-.15307,-.36896,-.25143,-.22223,-.33199,-.25143,-.28284,-.28225,-.25143,-.33259,-.22163,-.25143,-.36955,-.15248,-.25143,-.39231,-.07744,-.25143,-.4,.00059,-.25143,-.39231,.07863,-.25143,-.36955,.15367,-.25143,-.33259,.22282,-.25143,-.28284,.28344,-.25143,-.22223,.33318,-.25143,-.15307,.37015,-.25143,-.07804,.39291,-.25143,-0.0,.40059,-.25143,.07804,.39291,-.25143,.15307,.37015,-.25143,.22223,.33318,-.25143,.28284,.28344,-.25143,.33259,.22282,-.25143,.36955,.15367,-.25143,.39231,.07863,-.25143,.4,.00059,-.25143,.39231,-.07744,-.25143,.36955,-.15248,-.25143,.33259,-.22163,-.25143,.28284,-.28225,-.25143,.22223,-.33199,-.25143,.15307,-.36896,-.25143,.07804,-.39172,-.25143,-0.0,-.39941,-.25143,-.07804,-.39172,-.25143,-.15307,-.36896,-.25143,-.22223,-.33199,-.25143,-.28284,-.28225,-.25143,-.33259,-.22163,-.25143,-.36955,-.15248,-.25143,-.39231,-.07744,-.30143,-.34976,.00059,-.30143,-.34304,.06883,-.30143,-.32313,.13444,-.30143,-.29081,.19491,-.30143,-.24732,.24791,-.30143,-.19431,.29141,-.30143,-.13385,.32373,-.30143,-.06823,.34363,-.30143,-0.0,.35035,-.30143,.06823,.34363,-.30143,.13385,.32373,-.30143,.19431,.29141,-.30143,.24732,.24791,-.30143,.29081,.19491,-.30143,.32313,.13444,-.30143,.34304,.06883,-.30143,.34976,.00059,-.30143,.34304,-.06764,-.30143,.32313,-.13325,-.30143,.29081,-.19372,-.30143,.24732,-.24672,-.30143,.19431,-.29022,-.30143,.13385,-.32254,-.30143,.06823,-.34244,-.30143,-0.0,-.34916,-.30143,-.06823,-.34244,-.30143,-.13385,-.32254,-.30143,-.19431,-.29022,-.30143,-.24732,-.24672,-.30143,-.29081,-.19372,-.30143,-.32313,-.13325,-.30143,-.34304,-.06764,-.55143,-.34976,.00059,-.55143,-.34304,.06883,-.55143,-.32313,.13444,-.55143,-.29081,.19491,-.55143,-.24732,.24791,-.55143,-.19431,.29141,-.55143,-.13385,.32373,-.55143,-.06823,.34363,-.55143,-0.0,.35035,-.55143,.06823,.34363,-.55143,.13385,.32373,-.55143,.19431,.29141};
			return value;
		}
		private double[] getCoordinate_14_24_point_4()
		{
			double[] value = {-.55143,.24732,.24791,-.55143,.29081,.19491,-.55143,.32313,.13444,-.55143,.34304,.06883,-.55143,.34976,.00059,-.55143,.34304,-.06764,-.55143,.32313,-.13325,-.55143,.29081,-.19372,-.55143,.24732,-.24672,-.55143,.19431,-.29022,-.55143,.13385,-.32254,-.55143,.06823,-.34244,-.55143,0.0,-.34916,-.55143,-.06823,-.34244,-.55143,-.13385,-.32254,-.55143,-.19431,-.29022,-.55143,-.24732,-.24672,-.55143,-.29081,-.19372,-.55143,-.32313,-.13325,-.55143,-.34304,-.06764,-.55143,-.37162,.00059,-.55143,-.36448,.07309,-.55143,-.34333,.14281,-.55143,-.30899,.20705,-.55143,-.26277,.26337,-.55143,-.20646,.30958,-.55143,-.14221,.34392,-.55143,-.0725,.36507,-.55143,-0.0,.37221,-.55143,.0725,.36507,-.55143,.14221,.34392,-.55143,.20646,.30958,-.55143,.26277,.26337,-.55143,.30899,.20705,-.55143,.34333,.14281,-.55143,.36448,.07309,-.55143,.37162,.00059,-.55143,.36448,-.0719,-.55143,.34333,-.14162,-.55143,.30899,-.20586,-.55143,.26277,-.26218,-.55143,.20646,-.30839,-.55143,.14221,-.34274,-.55143,.0725,-.36388,-.55143,0.0,-.37102,-.55143,-.0725,-.36388,-.55143,-.14221,-.34274,-.55143,-.20646,-.30839,-.55143,-.26277,-.26218,-.55143,-.30899,-.20586,-.55143,-.34333,-.14162,-.55143,-.36448,-.0719,-.60143,-.37162,.00059,-.60143,-.36448,.07309,-.60143,-.34333,.14281,-.60143,-.30899,.20705,-.60143,-.26277,.26337,-.60143,-.20646,.30958,-.60143,-.14221,.34392,-.60143,-.0725,.36507,-.60143,-0.0,.37221,-.60143,.0725,.36507,-.60143,.14221,.34392,-.60143,.20646,.30958,-.60143,.26277,.26337,-.60143,.30899,.20705,-.60143,.34333,.14281,-.60143,.36448,.07309,-.60143,.37162,.00059,-.60143,.36448,-.0719,-.60143,.34333,-.14162,-.60143,.30899,-.20586,-.60143,.26277,-.26218,-.60143,.20646,-.30839,-.60143,.14221,-.34274,-.60143,.0725,-.36388,-.60143,0.0,-.37102,-.60143,-.0725,-.36388,-.60143,-.14221,-.34274,-.60143,-.20646,-.30839,-.60143,-.26277,-.26218,-.60143,-.30899,-.20586,-.60143,-.34333,-.14162,-.60143,-.36448,-.0719,-.60143,-.33446,.00059,-.60143,-.32803,.06584,-.60143,-.309,.12859,-.60143,-.27809,.18641,-.60143,-.2365,.23709,-.60143,-.18581,.27869,-.60143,-.12799,.30959,-.60143,-.06525,.32862,-.60143,-0.0,.33505,-.60143,.06525,.32862,-.60143,.12799,.30959,-.60143,.18581,.27869,-.60143,.2365,.23709,-.60143,.27809,.18641,-.60143,.309,.12859,-.60143,.32803,.06584};
			return value;
		}
		private double[] getCoordinate_14_24_point_5()
		{
			double[] value = {-.60143,.33446,.00059,-.60143,.32803,-.06465,-.60143,.309,-.1274,-.60143,.27809,-.18522,-.60143,.2365,-.2359,-.60143,.18581,-.27749,-.60143,.12799,-.3084,-.60143,.06525,-.32743,-.60143,0.0,-.33386,-.60143,-.06525,-.32743,-.60143,-.12799,-.3084,-.60143,-.18581,-.27749,-.60143,-.2365,-.2359,-.60143,-.27809,-.18522,-.60143,-.309,-.1274,-.60143,-.32803,-.06465,-.65143,-.33446,.00059,-.65143,-.32803,.06584,-.65143,-.309,.12859,-.65143,-.27809,.18641,-.65143,-.2365,.23709,-.65143,-.18581,.27869,-.65143,-.12799,.30959,-.65143,-.06525,.32862,-.65143,-0.0,.33505,-.65143,.06525,.32862,-.65143,.12799,.30959,-.65143,.18581,.27869,-.65143,.2365,.23709,-.65143,.27809,.18641,-.65143,.309,.12859,-.65143,.32803,.06584,-.65143,.33446,.00059,-.65143,.32803,-.06465,-.65143,.309,-.1274,-.65143,.27809,-.18522,-.65143,.2365,-.2359,-.65143,.18581,-.27749,-.65143,.12799,-.3084,-.65143,.06525,-.32743,-.65143,0.0,-.33386,-.65143,-.06525,-.32743,-.65143,-.12799,-.3084,-.65143,-.18581,-.27749,-.65143,-.2365,-.2359,-.65143,-.27809,-.18522,-.65143,-.309,-.1274,-.65143,-.32803,-.06465,-.65143,-.3679,.00059,-.65143,-.36083,.07237,-.65143,-.3399,.14139,-.65143,-.3059,.20499,-.65143,-.26015,.26074,-.65143,-.20439,.30649,-.65143,-.14079,.34049,-.65143,-.07177,.36143,-.65143,-0.0,.3685,-.65143,.07177,.36143,-.65143,.14079,.34049,-.65143,.20439,.30649,-.65143,.26015,.26074,-.65143,.3059,.20499,-.65143,.3399,.14139,-.65143,.36083,.07237,-.65143,.3679,.00059,-.65143,.36083,-.07118,-.65143,.3399,-.14019,-.65143,.3059,-.2038,-.65143,.26015,-.25955,-.65143,.20439,-.3053,-.65143,.14079,-.3393,-.65143,.07177,-.36024,-.65143,0.0,-.36731,-.65143,-.07177,-.36024,-.65143,-.14079,-.3393,-.65143,-.20439,-.3053,-.65143,-.26015,-.25955,-.65143,-.3059,-.2038,-.65143,-.3399,-.14019,-.65143,-.36083,-.07118,-.70143,-.3679,.00059,-.70143,-.36083,.07237,-.70143,-.3399,.14139,-.70143,-.3059,.20499,-.70143,-.26015,.26074,-.70143,-.20439,.30649,-.70143,-.14079,.34049,-.70143,-.07177,.36143,-.70143,-0.0,.3685,-.70143,.07177,.36143,-.70143,.14079,.34049,-.70143,.20439,.30649,-.70143,.26015,.26074,-.70143,.3059,.20499,-.70143,.3399,.14139,-.70143,.36083,.07237,-.70143,.3679,.00059,-.70143,.36083,-.07118,-.70143,.3399,-.14019,-.70143,.3059,-.2038};
			return value;
		}
		private double[] getCoordinate_14_24_point_6()
		{
			double[] value = {-.70143,.26015,-.25955,-.70143,.20439,-.3053,-.70143,.14079,-.3393,-.70143,.07177,-.36024,-.70143,0.0,-.36731,-.70143,-.07177,-.36024,-.70143,-.14079,-.3393,-.70143,-.20439,-.3053,-.70143,-.26015,-.25955,-.70143,-.3059,-.2038,-.70143,-.3399,-.14019,-.70143,-.36083,-.07118,.2454,0.0,1.00032,.22672,-.09391,1.00032,.17352,-.17352,1.00032,.09391,-.22672,1.00032,-0.0,-.2454,1.00032,-.09391,-.22672,1.00032,-.17352,-.17352,1.00032,-.22672,-.09391,1.00032,-.2454,-0.0,1.00032,-.22672,.09391,1.00032,-.17352,.17352,1.00032,-.09391,.22672,1.00032,-0.0,.2454,1.00032,.09391,.22672,1.00032,.17352,.17352,1.00032,.22672,.09391,1.00032,.2454,-0.0,.70032,.22672,-.09391,.70032,.17352,-.17352,.70032,.09391,-.22672,.70032,-0.0,-.2454,.70032,-.09391,-.22672,.70032,-.17352,-.17352,.70032,-.22672,-.09391,.70032,-.2454,-0.0,.70032,-.22672,.09391,.70032,-.17352,.17352,.70032,-.09391,.22672,.70032,-0.0,.2454,.70032,.09391,.22672,.70032,.17352,.17352,.70032,.22672,.09391,.70032,.2454,0.0,-.84317,.22672,-.09391,-.84317,.17352,-.17352,-.84317,.09391,-.22672,-.84317,-0.0,-.2454,-.84317,-.09391,-.22672,-.84317,-.17352,-.17352,-.84317,-.22672,-.09391,-.84317,-.2454,-0.0,-.84317,-.22672,.09391,-.84317,-.17352,.17352,-.84317,-.09391,.22672,-.84317,-0.0,.2454,-.84317,.09391,.22672,-.84317,.17352,.17352,-.84317,.22672,.09391,-.84317,.2454,-0.0,-1.14317,.22672,-.09391,-1.14317,.17352,-.17352,-1.14317,.09391,-.22672,-1.14317,-0.0,-.2454,-1.14317,-.09391,-.22672,-1.14317,-.17352,-.17352,-1.14317,-.22672,-.09391,-1.14317,-.2454,-0.0,-1.14317,-.22672,.09391,-1.14317,-.17352,.17352,-1.14317,-.09391,.22672,-1.14317,-0.0,.2454,-1.14317,.09391,.22672,-1.14317,.17352,.17352,-1.14317,.22672,.09391,-1.14317};
			return value;
		}

		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=10, element #17, 2144 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_10_17_coordIndex()
		{
			MFInt32 IndexedFaceSet_10_17_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_10_17_coordIndex_1()))
				.append(new MFInt32(getIndexedFaceSet_10_17_coordIndex_2()))
				.append(new MFInt32(getIndexedFaceSet_10_17_coordIndex_3()));
			return IndexedFaceSet_10_17_coordIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=11, element #17, 900 total numbers made up of 300 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 getCoordinate_11_17_point()
		{
			MFVec3f Coordinate_11_17_point = new MFVec3f()/*2.finalize*/
				.append(new MFVec3f(getCoordinate_11_17_point_1()))
				.append(new MFVec3f(getCoordinate_11_17_point_2()))
				.append(new MFVec3f(getCoordinate_11_17_point_3()));
			return Coordinate_11_17_point;
		}
		/** Large attribute array: IndexedFaceSet coordIndex field, scene-graph level=13, element #24, 4048 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_13_24_coordIndex()
		{
			MFInt32 IndexedFaceSet_13_24_coordIndex = new MFInt32()/*2.finalize*/
				.append(new MFInt32(getIndexedFaceSet_13_24_coordIndex_1()))
				.append(new MFInt32(getIndexedFaceSet_13_24_coordIndex_2()))
				.append(new MFInt32(getIndexedFaceSet_13_24_coordIndex_3()))
				.append(new MFInt32(getIndexedFaceSet_13_24_coordIndex_4()))
				.append(new MFInt32(getIndexedFaceSet_13_24_coordIndex_5()));
			return IndexedFaceSet_13_24_coordIndex;
		}
		/** Large attribute array: Coordinate point field, scene-graph level=14, element #24, 1728 total numbers made up of 576 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 getCoordinate_14_24_point()
		{
			MFVec3f Coordinate_14_24_point = new MFVec3f()/*2.finalize*/
				.append(new MFVec3f(getCoordinate_14_24_point_1()))
				.append(new MFVec3f(getCoordinate_14_24_point_2()))
				.append(new MFVec3f(getCoordinate_14_24_point_3()))
				.append(new MFVec3f(getCoordinate_14_24_point_4()))
				.append(new MFVec3f(getCoordinate_14_24_point_5()))
				.append(new MFVec3f(getCoordinate_14_24_point_6()));
			return Coordinate_14_24_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 HTVSCMGPrototype 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 HTVSCMGPrototype().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: \"Savage.Space.SatelliteLab.HTVSCMGPrototype\" 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("Savage.Space.SatelliteLab.HTVSCMGPrototype self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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