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

import org.web3d.x3d.jsail.Core.*;
import org.web3d.x3d.jsail.fields.*;
import org.web3d.x3d.jsail.Geospatial.*;
import org.web3d.x3d.jsail.Shape.*;
import org.web3d.x3d.jsail.Texturing.*;

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * &lt;p&gt; ESRI GeoVRML export subscene of Mars. &lt;/p&gt;
 &lt;p&gt; Related links: Catalog page &lt;a href="../../../Geospatial/MarsLOD003Index.html" target="_blank"&gt;MarsLOD003&lt;/a&gt;,  source &lt;a href="../../../Geospatial/MarsLOD003.java"&gt;MarsLOD003.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="../../../Geospatial/MarsLOD003.x3d"&gt;MarsLOD003.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; description &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; ESRI GeoVRML export subscene of Mars. &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; Salvador Bayarri, ESRI &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; translator &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; translated &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; 22 April 2003 &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; 20 January 2020 &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="http://www.geovrml.org/examples" target="_blank"&gt;http://www.geovrml.org/examples&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; subject &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; X3D geospatial example &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/Basic/Geospatial/MarsLOD003.x3d" target="_blank"&gt;https://www.web3d.org/x3d/content/examples/Basic/Geospatial/MarsLOD003.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; generator &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; Vrml97ToX3dNist, &lt;a href="http://ovrt.nist.gov/v2_x3d.html" target="_blank"&gt;http://ovrt.nist.gov/v2_x3d.html&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; license &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="../../../Geospatial/../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 Salvador Bayarri, ESRI
 */

public class MarsLOD003
{
	/** Default constructor to create this object. */
	public MarsLOD003 ()
	{
	  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_3)
  .setHead(new head()
    .addComponent(new component().setName("Geospatial").setLevel(1))
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("MarsLOD003.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("ESRI GeoVRML export subscene of Mars."))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Salvador Bayarri, ESRI"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATOR ).setContent("Don Brutzman"))
    .addMeta(new meta().setName(meta.NAME_TRANSLATED ).setContent("22 April 2003"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("20 January 2020"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("http://www.geovrml.org/examples"))
    .addMeta(new meta().setName(meta.NAME_SUBJECT    ).setContent("X3D geospatial example"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/Basic/Geospatial/MarsLOD003.x3d"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("Vrml97ToX3dNist, http://ovrt.nist.gov/v2_x3d.html"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("../license.html")))
  .setScene(new Scene()
    .addChild(new WorldInfo().setTitle("MarsLOD003.x3d"))
    .addChild(new GeoLOD().setCenter(45.000000,-135.000000,291100.000000).setRange(3.6E7).setChild1Url(new String[] {"MarsLOD004.x3d","https://www.web3d.org/x3d/content/examples/Basic/Geospatial/MarsLOD004.x3d"})
      .setGeoOrigin(new GeoOrigin("ORIGIN").setRotateYUp(true))
      .addRootNode(new Shape()
        .setAppearance(new Appearance()
          .setMaterial(new Material().setAmbientIntensity(0.9).setDiffuseColor(1.0,1.0,1.0).setShininess(1.0))
          .setTexture(new ImageTexture().setUrl(new String[] {"images/Mars001.jpg","https://www.web3d.org/x3d/content/examples/Basic/Geospatial/images/Mars001.jpg"})))
        .setGeometry(new GeoElevationGrid().setCcw(false).setCreaseAngle(0.5).setGeoGridOrigin(0.000000,-180.000000,0.000000).setSolid(false).setXDimension(32).setXSpacing(2.903226).setYScale(50.0).setZDimension(32).setZSpacing(2.903226).setHeight(getGeoElevationGrid_5_20_height())
          .setGeoOrigin(new GeoOrigin().setUSE("ORIGIN"))
          .setTexCoord(new TextureCoordinate().setPoint(getTextureCoordinate_6_21_point()))))));
            }
            catch (Exception ex)
            {       
                System.err.println ("*** Further hints on X3DJSAIL errors and exceptions at");
                System.err.println ("*** https://www.web3d.org/specifications/java/X3DJSAIL.html");
                throw (ex);
            }
	}
	// end of initialize() method

		/** Define subarrays using type double[] */
		private double[] getGeoElevationGrid_5_20_height_1()
		{
			double[] value = {-2331.8135,-2621.4492,-2782.416,-3055.9858,-3096.7434,-2402.735,-1296.9989,-851.7626,-2630.653,-2932.1582,-2101.7654,-1802.2705,-1011.29004,-770.3503,-303.37286,790.00336,1797.828,2478.528,3559.416,4507.473,5257.7207,6083.886,9589.305,9023.787,5749.0635,5539.3335,5224.552,4907.0835,4358.972,3896.072,3415.7349,2817.428,-2861.995,-2980.7844,-3105.586,-3183.648,-3103.7322,-2563.2825,-1828.5652,-2022.1736,-3092.452,-3113.6157,-2721.4087,-1556.7417,-1245.4701,-1423.5645,-179.64645,1170.1298,2071.9778,1752.0042,3450.0994,4478.7026,4391.1934,4286.671,6330.6763,7264.059,5421.913,5617.667,5093.0283,4474.8745,4035.291,3811.422,3164.9155,2297.8135,-3045.9019,-3115.5369,-3249.1072,-3241.6824,-3197.152,-3008.2375,-2505.7776,-2659.8523,-3293.6433,-3322.9314,-2726.8389,-1810.2416,-2201.817,-1330.1932,353.66577,1072.772,1202.6835,1186.5087,2397.9814,4380.1074,4233.452,3529.7632,3290.4575,4097.569,5254.3916,6250.09,4847.093,4101.5596,3743.0286,3589.919,2834.885,1667.6483,-3086.6292,-3128.9211,-3285.822,-3269.0588};
			return value;
		}
		private double[] getGeoElevationGrid_5_20_height_2()
		{
			double[] value = {-3265.7126,-3195.4856,-2778.8684,-3185.4016,-3431.0095,-3398.9385,-2831.5737,-2715.383,-2300.6394,-1222.9167,-477.68475,-212.2787,244.7245,691.94104,1963.891,4124.84,3876.0042,2971.271,2802.8357,3163.0732,4945.931,8355.127,5448.7476,3680.1316,3432.1826,3122.2705,2347.604,1528.6093,-3181.7637,-3213.7974,-3329.0596,-3350.0618,-3399.916,-3426.2983,-3325.7856,-3524.7825,-3533.3635,-3454.0583,-3210.4192,-2987.8728,-2215.3813,-1539.8898,-1152.2162,-549.7283,54.180042,634.4401,1709.705,2665.3362,2475.477,2491.2363,2455.7612,2342.3486,2994.0552,12268.973,11643.728,3747.5293,3176.5557,2754.0232,2316.8523,1467.8578,-3200.301,-3249.6553,-3346.394,-3359.6016,-3492.074,-3556.4834,-3611.2827,-3663.843,-3632.6355,-3579.223,-3295.0637,-2699.5728,-1876.1034,-1185.8832,1514.7836,3915.3914,2758.698,825.1487,1284.6343,1955.7533,2212.3052,2310.262,2263.8235,2080.1272,1910.8173,5512.339,7443.2144,4157.781,2952.0005,2385.8933,2595.6277,1046.6147,-3308.4163,-3369.5542,-3242.797,-3454.5105,-3515.6511,-3638.3047,-3693.9153,-3753.4167};
			return value;
		}
		private double[] getGeoElevationGrid_5_20_height_3()
		{
			double[] value = {-3752.2427,-3760.4346,-3029.9597,-2422.7861,-2128.589,155.75948,8509.598,16044.139,11971.958,2223.8914,1172.6901,1112.1202,1735.4751,2162.905,2210.0237,2084.8489,1917.8516,2187.0613,3451.7798,3223.5037,2635.414,2196.6309,1701.1198,845.9715,-3375.9087,-3466.3794,-3503.7776,-3508.377,-3565.6794,-3703.538,-3770.2666,-3824.6848,-3834.091,-3811.1404,-2962.2744,-2030.9608,-1505.3993,-323.669,8534.802,14693.098,11564.329,2017.5803,578.4693,560.04266,1136.4995,1957.7537,2366.0815,2465.0745,2198.583,1900.5969,2266.97,2392.5981,2302.5498,2146.2026,1792.1917,1029.8273,-3465.6538,-3543.7856,-3634.514,-3699.6768,-3751.24,-3813.0515,-3852.448,-3874.1572,-3874.129,-3719.6182,-2937.559,-1834.5367,-1784.8998,-1883.6512,2692.7722,5203.9873,3217.3977,-67.993675,17.252098,384.03918,1092.0746,1786.9608,2405.9817,2805.7854,2794.1284,2026.2576,1992.6946,2219.4695,2736.6326,2084.65,1825.2178,963.7697,-3581.767,-3605.567,-3737.9353,-3794.5435,-3829.9504,-3844.3557,-3875.6035,-3876.2607,-3867.9993,-3772.212,-2908.221,-1984.6768};
			return value;
		}
		private double[] getGeoElevationGrid_5_20_height_4()
		{
			double[] value = {-1883.9988,-2034.1094,-2090.1816,-1908.7001,-1409.3505,-637.06354,-23.442541,607.70135,1401.3876,1974.7852,2539.6602,3039.5732,3399.267,2529.8906,1921.523,2178.665,2694.7468,2254.4675,2034.0004,851.487,-3668.4768,-3765.4097,-3835.3787,-3857.952,-3889.2998,-3885.0933,-3887.0737,-3886.234,-3874.8538,-3868.4175,-3320.2275,-2248.7954,-1838.0114,-1789.6603,-1685.0044,-1086.8258,-1414.3394,-763.17896,228.00612,981.341,1626.0106,2156.376,2625.0789,3428.4548,3400.2617,2222.2207,1744.4098,1822.2421,1762.3044,1853.9479,1782.852,879.1625,-3746.9292,-3869.4546,-3892.8547,-3900.1218,-3932.229,-3929.1838,-3910.8125,-3915.0132,-3904.1333,-3888.129,-3738.599,-2948.6694,-2446.5303,-2326.7493,-2102.2683,-1695.2434,-1631.7617,-193.11145,529.0431,1223.7207,1796.0123,2249.6323,2638.7156,3236.5999,3124.7817,2051.5266,1655.1404,1550.926,1305.4924,1193.658,1076.3094,786.3528,-3686.7236,-3901.8098,-3933.2395,-3926.9414,-3945.7139,-3933.9321,-3937.4912,-3942.3367,-3932.0728,-3957.1182,-3927.0503,-3691.2266,-2717.6558,-1977.877,-2206.2827,-1978.375};
			return value;
		}
		private double[] getGeoElevationGrid_5_20_height_5()
		{
			double[] value = {-654.4804,170.5122,723.031,1423.7529,2068.8079,2595.4807,3092.01,3445.2178,3333.1702,2387.4006,1544.2781,1245.2625,1033.7052,938.60913,1028.4147,968.72833,-3965.8003,-3874.2197,-3901.0498,-3953.1345,-3949.1106,-3928.2537,-3943.9353,-3949.1887,-3938.0803,-3921.3755,-3902.4749,-3864.199,-3192.4463,-1805.1866,-1773.8058,-1076.82,-23.296179,168.89037,689.4845,1477.275,2633.3657,3657.4204,4406.285,4624.867,4335.8335,3700.1675,2628.573,1364.303,732.99426,694.42993,897.4272,1064.764,-4014.2798,-3955.0613,-3807.8662,-3935.6978,-3933.531,-3943.3164,-3931.3606,-3930.5127,-3897.2551,-3864.283,-3844.7346,-3827.9744,-3624.631,-2351.69,-1342.4777,-1133.8163,-798.80756,-124.62372,466.61737,1688.4501,3518.781,4999.969,5696.303,6004.9766,5571.777,4429.546,3881.4158,2133.2695,665.59186,433.48242,699.4394,784.9253,-4049.2825,-4034.3796,-3990.1228,-3967.6128,-3953.4084,-3934.6223,-3917.6394,-3928.2087,-3907.6445,-3869.2783,-3819.2634,-3669.6094,-3420.195,-2945.864,-2361.9758,-1768.0963,-1223.7261,-666.9682,34.160236,1370.2274};
			return value;
		}
		private double[] getGeoElevationGrid_5_20_height_6()
		{
			double[] value = {3259.1055,4655.217,5125.8164,5476.7134,5166.9146,4108.6147,2873.9849,1233.5525,310.61737,288.3956,432.67474,580.04193,-4083.6611,-4047.69,-4022.7485,-3991.1885,-3952.4915,-3949.624,-3955.1873,-3931.923,-3893.7542,-3832.4414,-3722.0352,-3514.1348,-3184.8523,-2756.5735,-2323.8406,-1964.2938,-1661.6501,-1281.6189,-734.1904,201.8927,1418.5343,2205.6099,2788.8628,3966.1274,4075.8025,2835.4548,1281.6542,215.29442,-182.90173,-197.51387,-356.5572,-519.1188,-4088.814,-4058.0327,-4035.184,-4004.2407,-3986.4863,-3966.5764,-3972.699,-3930.9526,-3872.3452,-3759.821,-3627.571,-3398.6138,-3122.32,-2802.779,-2503.359,-2274.4863,-2035.9509,-1779.9441,-1516.0764,-1144.8304,-687.6053,-417.41174,-369.66678,309.70126,590.7142,26.515799,-102.06906,-221.47523,-372.50806,-361.75916,-514.00793,-847.3451,-4096.421,-4076.9836,-4077.607,-4044.844,-4001.2383,-3982.13,-3953.7275,-3890.6597,-3798.5981,-3674.9219,-3508.0225,-3312.2585,-3106.3262,-2896.1802,-2700.8152,-2477.2139,-2266.471,-2092.0232,-1949.802,-1787.153,-1639.6495,-1454.6377,-1308.347,-1208.7523};
			return value;
		}
		private double[] getGeoElevationGrid_5_20_height_7()
		{
			double[] value = {-1191.103,-1093.9027,-798.9016,-591.0092,-633.54047,-629.31836,-623.10803,-959.7713,-4124.238,-4124.2954,-4084.5632,-4061.26,-4036.4644,-3967.682,-3931.261,-3862.6797,-3749.6375,-3626.925,-3416.6946,-3252.3115,-3161.5635,-3008.7007,-2864.686,-2709.6875,-2544.6226,-2391.0542,-2224.5942,-2115.6348,-1962.4962,-1859.7615,-1751.3943,-1749.6989,-1724.2336,-1576.9266,-1313.3481,-1075.3911,-1025.5397,-1093.6213,-1334.8295,-1744.6028,-4191.1255,-4140.148,-4108.6865,-4045.1167,-4022.7537,-3987.346,-3930.346,-3849.6138,-3774.8,-3679.206,-3649.0576,-3476.1182,-3277.9622,-3191.2139,-3080.9954,-2969.488,-2823.26,-2680.9788,-2527.3555,-2417.364,-2318.8926,-2252.8237,-2217.1091,-2204.4617,-2208.213,-2112.1814,-1962.513,-1764.7848,-1670.3074,-1631.3457,-1804.9395,-2181.4583,-4232.851,-4164.4497,-4159.2373,-4098.8687,-4074.0115,-4041.3076,-4000.6208,-3909.763,-3833.1208,-3754.4111,-3669.4893,-3552.1343,-3464.5264,-3372.1545,-3274.0774,-3158.5156,-3094.5947,-3030.5754,-2944.8157,-2869.3938,-2803.5215,-2720.5903,-2699.9368,-2693.0679,-2673.751,-2661.4614,-2559.1978,-2405.8242};
			return value;
		}
		private double[] getGeoElevationGrid_5_20_height_8()
		{
			double[] value = {-2326.2812,-2361.5862,-2560.3186,-2825.2056,-4234.7197,-4205.5566,-4196.295,-4191.4414,-4149.0186,-4120.691,-4052.2463,-4008.26,-3930.464,-3855.6995,-3806.822,-3733.0881,-3642.2373,-3554.9163,-3500.4424,-3448.3086,-3389.8237,-3338.8481,-3286.6443,-3249.3147,-3233.3484,-3204.1553,-3196.4622,-3167.1099,-3133.5686,-3140.2668,-3131.4473,-3104.1077,-3086.0564,-3108.9944,-3195.8762,-3272.6108,-4339.7617,-4312.202,-4301.171,-4292.8164,-4260.789,-4213.2812,-4180.9727,-4150.795,-4105.419,-4036.9448,-3991.5942,-3929.385,-3863.931,-3807.5994,-3768.8936,-3722.7737,-3682.228,-3649.8594,-3617.032,-3604.5344,-3574.6348,-3543.0388,-3510.3008,-3468.707,-3441.6382,-3439.4248,-3428.8613,-3428.6086,-3461.5725,-3510.9094,-3586.3623,-3671.2485,-4458.68,-4448.177,-4421.4214,-4411.013,-4383.1704,-4377.408,-4336.2417,-4318.7188,-4291.4155,-4259.0938,-4219.001,-4170.857,-4145.0522,-4091.3945,-4061.1228,-4027.2456,-3992.8816,-3943.1982,-3911.7869,-3871.0144,-3839.4675,-3814.967,-3782.573,-3726.3228,-3691.183,-3690.9778,-3681.5771,-3705.7031,-3761.8872,-3830.6575,-3894.451,-3988.416};
			return value;
		}
		private double[] getGeoElevationGrid_5_20_height_9()
		{
			double[] value = {-4595.897,-4583.1836,-4571.9185,-4561.857,-4533.0024,-4542.7485,-4510.9907,-4504.89,-4487.5464,-4476.915,-4456.566,-4451.3584,-4434.0205,-4381.998,-4354.4,-4351.9946,-4286.6064,-4243.549,-4171.0845,-4132.004,-4139.2705,-4140.6343,-4108.679,-4054.836,-4034.4744,-4020.7507,-4038.5476,-4060.6433,-4132.1143,-4199.134,-4265.281,-4349.5776,-4749.119,-4745.467,-4711.585,-4734.74,-4727.9614,-4730.662,-4717.6826,-4713.753,-4707.273,-4719.675,-4694.057,-4662.732,-4652.0933,-4602.878,-4529.6084,-4537.0215,-4547.8413,-4507.5874,-4534.532,-4497.174,-4490.014,-4461.134,-4416.358,-4387.9883,-4388.9165,-4382.795,-4415.7583,-4454.8154,-4513.5137,-4557.8345,-4609.866,-4656.7686,-4819.628,-4791.416,-4805.7334,-4836.7046,-4827.2383,-4841.3496,-4882.0757,-4837.0547,-4849.5015,-4825.3755,-4819.469,-4782.446,-4738.266,-4768.1733,-4786.568,-4871.125,-4865.7993,-4729.1387,-4709.5674,-4681.5757,-4683.5894,-4686.9014,-4715.2964,-4720.799,-4690.7754,-4669.8154,-4647.231,-4693.29,-4722.0063,-4752.7827,-4791.712,-4806.839,-4778.6133,-4741.359,-4713.474,-4740.3755};
			return value;
		}
		private double[] getGeoElevationGrid_5_20_height_10()
		{
			double[] value = {-4740.101,-4740.0947,-4802.1245,-4803.8413,-4803.9243,-4797.481,-4762.5884,-4772.546,-4740.7764,-4756.8125,-4775.3613,-4866.735,-4910.3696,-4874.6577,-4821.6665,-4783.0317,-4785.281,-4796.3984,-4824.806,-4810.6245,-4834.779,-4826.9526,-4845.6943,-4855.515,-4856.406,-4853.3447,-4866.006,-4899.9756,-4359.919,-4378.418,-4371.767,-4376.7764,-4384.8965,-4404.114,-4423.8687,-4446.041,-4466.1924,-4482.7104,-4496.276,-4507.641,-4519.1763,-4533.0522,-4550.6255,-4572.6035,-4598.769,-4619.653,-4636.1567,-4677.2847,-4750.854,-4775.3564,-4755.1445,-4627.8086,-4563.1978,-4512.529,-4439.021,-4462.0327,-4536.147,-4635.663,-4687.3022,-4719.5605,-4082.0967,-4065.9573,-4059.5627,-4061.1665,-4042.874,-4038.281,-4012.5847,-4020.2002,-4027.4692,-4040.3162,-4002.2454,-3984.3733,-3991.026,-3990.5254,-4007.318,-4039.2454,-4029.8037,-4074.2341,-4100.044,-4034.6604,-3809.151,-3719.8196,-3734.3262,-3634.0618,-3610.4531,-3582.5242,-3533.811,-3472.8264,-3447.2532,-3434.641,-3414.6274,-3408.0505,-3122.3496,-3059.5447,-3088.4934,-3094.8655,-3022.0317,-2992.8442,-2984.9268,-2978.764};
			return value;
		}
		private double[] getGeoElevationGrid_5_20_height_11()
		{
			double[] value = {-2977.1853,-2926.972,-2876.2412,-2853.7188,-2819.707,-2796.9895,-2810.4607,-2819.7415,-2819.7622,-2811.3518,-2840.2122,-2820.3381,-2796.1592,-2749.193,-2688.4026,-2667.7917,-2644.4646,-2624.7124,-2619.531,-2613.42,-2599.442,-2616.2886,-2590.7957,-2526.9043};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getTextureCoordinate_6_21_point_1()
		{
			double[] value = {0.00391,0.00391,0.03226,0.00391,0.06452,0.00391,0.09677,0.00391,0.12903,0.00391,0.16129,0.00391,0.19355,0.00391,0.22581,0.00391,0.25806,0.00391,0.29032,0.00391,0.32258,0.00391,0.35484,0.00391,0.3871,0.00391,0.41935,0.00391,0.45161,0.00391,0.48387,0.00391,0.51613,0.00391,0.54839,0.00391,0.58065,0.00391,0.6129,0.00391,0.64516,0.00391,0.67742,0.00391,0.70968,0.00391,0.74194,0.00391,0.77419,0.00391,0.80645,0.00391,0.83871,0.00391,0.87097,0.00391,0.90323,0.00391,0.93548,0.00391,0.96774,0.00391,0.99609,0.00391,0.00391,0.03226,0.03226,0.03226,0.06452,0.03226,0.09677,0.03226,0.12903,0.03226,0.16129,0.03226,0.19355,0.03226,0.22581,0.03226,0.25806,0.03226,0.29032,0.03226,0.32258,0.03226,0.35484,0.03226,0.3871,0.03226,0.41935,0.03226,0.45161,0.03226,0.48387,0.03226,0.51613,0.03226,0.54839,0.03226,0.58065,0.03226,0.6129,0.03226,0.64516,0.03226,0.67742,0.03226,0.70968,0.03226,0.74194,0.03226,0.77419,0.03226,0.80645,0.03226,0.83871,0.03226,0.87097,0.03226,0.90323,0.03226,0.93548,0.03226,0.96774,0.03226,0.99609,0.03226,0.00391,0.06452,0.03226,0.06452,0.06452,0.06452,0.09677,0.06452,0.12903,0.06452,0.16129,0.06452,0.19355,0.06452,0.22581,0.06452,0.25806,0.06452,0.29032,0.06452,0.32258,0.06452,0.35484,0.06452,0.3871,0.06452,0.41935,0.06452,0.45161,0.06452,0.48387,0.06452,0.51613,0.06452,0.54839,0.06452,0.58065,0.06452,0.6129,0.06452,0.64516,0.06452,0.67742,0.06452,0.70968,0.06452,0.74194,0.06452,0.77419,0.06452,0.80645,0.06452,0.83871,0.06452,0.87097,0.06452,0.90323,0.06452,0.93548,0.06452,0.96774,0.06452,0.99609,0.06452,0.00391,0.09677,0.03226,0.09677,0.06452,0.09677,0.09677,0.09677};
			return value;
		}
		private double[] getTextureCoordinate_6_21_point_2()
		{
			double[] value = {0.12903,0.09677,0.16129,0.09677,0.19355,0.09677,0.22581,0.09677,0.25806,0.09677,0.29032,0.09677,0.32258,0.09677,0.35484,0.09677,0.3871,0.09677,0.41935,0.09677,0.45161,0.09677,0.48387,0.09677,0.51613,0.09677,0.54839,0.09677,0.58065,0.09677,0.6129,0.09677,0.64516,0.09677,0.67742,0.09677,0.70968,0.09677,0.74194,0.09677,0.77419,0.09677,0.80645,0.09677,0.83871,0.09677,0.87097,0.09677,0.90323,0.09677,0.93548,0.09677,0.96774,0.09677,0.99609,0.09677,0.00391,0.12903,0.03226,0.12903,0.06452,0.12903,0.09677,0.12903,0.12903,0.12903,0.16129,0.12903,0.19355,0.12903,0.22581,0.12903,0.25806,0.12903,0.29032,0.12903,0.32258,0.12903,0.35484,0.12903,0.3871,0.12903,0.41935,0.12903,0.45161,0.12903,0.48387,0.12903,0.51613,0.12903,0.54839,0.12903,0.58065,0.12903,0.6129,0.12903,0.64516,0.12903,0.67742,0.12903,0.70968,0.12903,0.74194,0.12903,0.77419,0.12903,0.80645,0.12903,0.83871,0.12903,0.87097,0.12903,0.90323,0.12903,0.93548,0.12903,0.96774,0.12903,0.99609,0.12903,0.00391,0.16129,0.03226,0.16129,0.06452,0.16129,0.09677,0.16129,0.12903,0.16129,0.16129,0.16129,0.19355,0.16129,0.22581,0.16129,0.25806,0.16129,0.29032,0.16129,0.32258,0.16129,0.35484,0.16129,0.3871,0.16129,0.41935,0.16129,0.45161,0.16129,0.48387,0.16129,0.51613,0.16129,0.54839,0.16129,0.58065,0.16129,0.6129,0.16129,0.64516,0.16129,0.67742,0.16129,0.70968,0.16129,0.74194,0.16129,0.77419,0.16129,0.80645,0.16129,0.83871,0.16129,0.87097,0.16129,0.90323,0.16129,0.93548,0.16129,0.96774,0.16129,0.99609,0.16129,0.00391,0.19355,0.03226,0.19355,0.06452,0.19355,0.09677,0.19355,0.12903,0.19355,0.16129,0.19355,0.19355,0.19355,0.22581,0.19355};
			return value;
		}
		private double[] getTextureCoordinate_6_21_point_3()
		{
			double[] value = {0.25806,0.19355,0.29032,0.19355,0.32258,0.19355,0.35484,0.19355,0.3871,0.19355,0.41935,0.19355,0.45161,0.19355,0.48387,0.19355,0.51613,0.19355,0.54839,0.19355,0.58065,0.19355,0.6129,0.19355,0.64516,0.19355,0.67742,0.19355,0.70968,0.19355,0.74194,0.19355,0.77419,0.19355,0.80645,0.19355,0.83871,0.19355,0.87097,0.19355,0.90323,0.19355,0.93548,0.19355,0.96774,0.19355,0.99609,0.19355,0.00391,0.22581,0.03226,0.22581,0.06452,0.22581,0.09677,0.22581,0.12903,0.22581,0.16129,0.22581,0.19355,0.22581,0.22581,0.22581,0.25806,0.22581,0.29032,0.22581,0.32258,0.22581,0.35484,0.22581,0.3871,0.22581,0.41935,0.22581,0.45161,0.22581,0.48387,0.22581,0.51613,0.22581,0.54839,0.22581,0.58065,0.22581,0.6129,0.22581,0.64516,0.22581,0.67742,0.22581,0.70968,0.22581,0.74194,0.22581,0.77419,0.22581,0.80645,0.22581,0.83871,0.22581,0.87097,0.22581,0.90323,0.22581,0.93548,0.22581,0.96774,0.22581,0.99609,0.22581,0.00391,0.25806,0.03226,0.25806,0.06452,0.25806,0.09677,0.25806,0.12903,0.25806,0.16129,0.25806,0.19355,0.25806,0.22581,0.25806,0.25806,0.25806,0.29032,0.25806,0.32258,0.25806,0.35484,0.25806,0.3871,0.25806,0.41935,0.25806,0.45161,0.25806,0.48387,0.25806,0.51613,0.25806,0.54839,0.25806,0.58065,0.25806,0.6129,0.25806,0.64516,0.25806,0.67742,0.25806,0.70968,0.25806,0.74194,0.25806,0.77419,0.25806,0.80645,0.25806,0.83871,0.25806,0.87097,0.25806,0.90323,0.25806,0.93548,0.25806,0.96774,0.25806,0.99609,0.25806,0.00391,0.29032,0.03226,0.29032,0.06452,0.29032,0.09677,0.29032,0.12903,0.29032,0.16129,0.29032,0.19355,0.29032,0.22581,0.29032,0.25806,0.29032,0.29032,0.29032,0.32258,0.29032,0.35484,0.29032};
			return value;
		}
		private double[] getTextureCoordinate_6_21_point_4()
		{
			double[] value = {0.3871,0.29032,0.41935,0.29032,0.45161,0.29032,0.48387,0.29032,0.51613,0.29032,0.54839,0.29032,0.58065,0.29032,0.6129,0.29032,0.64516,0.29032,0.67742,0.29032,0.70968,0.29032,0.74194,0.29032,0.77419,0.29032,0.80645,0.29032,0.83871,0.29032,0.87097,0.29032,0.90323,0.29032,0.93548,0.29032,0.96774,0.29032,0.99609,0.29032,0.00391,0.32258,0.03226,0.32258,0.06452,0.32258,0.09677,0.32258,0.12903,0.32258,0.16129,0.32258,0.19355,0.32258,0.22581,0.32258,0.25806,0.32258,0.29032,0.32258,0.32258,0.32258,0.35484,0.32258,0.3871,0.32258,0.41935,0.32258,0.45161,0.32258,0.48387,0.32258,0.51613,0.32258,0.54839,0.32258,0.58065,0.32258,0.6129,0.32258,0.64516,0.32258,0.67742,0.32258,0.70968,0.32258,0.74194,0.32258,0.77419,0.32258,0.80645,0.32258,0.83871,0.32258,0.87097,0.32258,0.90323,0.32258,0.93548,0.32258,0.96774,0.32258,0.99609,0.32258,0.00391,0.35484,0.03226,0.35484,0.06452,0.35484,0.09677,0.35484,0.12903,0.35484,0.16129,0.35484,0.19355,0.35484,0.22581,0.35484,0.25806,0.35484,0.29032,0.35484,0.32258,0.35484,0.35484,0.35484,0.3871,0.35484,0.41935,0.35484,0.45161,0.35484,0.48387,0.35484,0.51613,0.35484,0.54839,0.35484,0.58065,0.35484,0.6129,0.35484,0.64516,0.35484,0.67742,0.35484,0.70968,0.35484,0.74194,0.35484,0.77419,0.35484,0.80645,0.35484,0.83871,0.35484,0.87097,0.35484,0.90323,0.35484,0.93548,0.35484,0.96774,0.35484,0.99609,0.35484,0.00391,0.3871,0.03226,0.3871,0.06452,0.3871,0.09677,0.3871,0.12903,0.3871,0.16129,0.3871,0.19355,0.3871,0.22581,0.3871,0.25806,0.3871,0.29032,0.3871,0.32258,0.3871,0.35484,0.3871,0.3871,0.3871,0.41935,0.3871,0.45161,0.3871,0.48387,0.3871};
			return value;
		}
		private double[] getTextureCoordinate_6_21_point_5()
		{
			double[] value = {0.51613,0.3871,0.54839,0.3871,0.58065,0.3871,0.6129,0.3871,0.64516,0.3871,0.67742,0.3871,0.70968,0.3871,0.74194,0.3871,0.77419,0.3871,0.80645,0.3871,0.83871,0.3871,0.87097,0.3871,0.90323,0.3871,0.93548,0.3871,0.96774,0.3871,0.99609,0.3871,0.00391,0.41935,0.03226,0.41935,0.06452,0.41935,0.09677,0.41935,0.12903,0.41935,0.16129,0.41935,0.19355,0.41935,0.22581,0.41935,0.25806,0.41935,0.29032,0.41935,0.32258,0.41935,0.35484,0.41935,0.3871,0.41935,0.41935,0.41935,0.45161,0.41935,0.48387,0.41935,0.51613,0.41935,0.54839,0.41935,0.58065,0.41935,0.6129,0.41935,0.64516,0.41935,0.67742,0.41935,0.70968,0.41935,0.74194,0.41935,0.77419,0.41935,0.80645,0.41935,0.83871,0.41935,0.87097,0.41935,0.90323,0.41935,0.93548,0.41935,0.96774,0.41935,0.99609,0.41935,0.00391,0.45161,0.03226,0.45161,0.06452,0.45161,0.09677,0.45161,0.12903,0.45161,0.16129,0.45161,0.19355,0.45161,0.22581,0.45161,0.25806,0.45161,0.29032,0.45161,0.32258,0.45161,0.35484,0.45161,0.3871,0.45161,0.41935,0.45161,0.45161,0.45161,0.48387,0.45161,0.51613,0.45161,0.54839,0.45161,0.58065,0.45161,0.6129,0.45161,0.64516,0.45161,0.67742,0.45161,0.70968,0.45161,0.74194,0.45161,0.77419,0.45161,0.80645,0.45161,0.83871,0.45161,0.87097,0.45161,0.90323,0.45161,0.93548,0.45161,0.96774,0.45161,0.99609,0.45161,0.00391,0.48387,0.03226,0.48387,0.06452,0.48387,0.09677,0.48387,0.12903,0.48387,0.16129,0.48387,0.19355,0.48387,0.22581,0.48387,0.25806,0.48387,0.29032,0.48387,0.32258,0.48387,0.35484,0.48387,0.3871,0.48387,0.41935,0.48387,0.45161,0.48387,0.48387,0.48387,0.51613,0.48387,0.54839,0.48387,0.58065,0.48387,0.6129,0.48387};
			return value;
		}
		private double[] getTextureCoordinate_6_21_point_6()
		{
			double[] value = {0.64516,0.48387,0.67742,0.48387,0.70968,0.48387,0.74194,0.48387,0.77419,0.48387,0.80645,0.48387,0.83871,0.48387,0.87097,0.48387,0.90323,0.48387,0.93548,0.48387,0.96774,0.48387,0.99609,0.48387,0.00391,0.51613,0.03226,0.51613,0.06452,0.51613,0.09677,0.51613,0.12903,0.51613,0.16129,0.51613,0.19355,0.51613,0.22581,0.51613,0.25806,0.51613,0.29032,0.51613,0.32258,0.51613,0.35484,0.51613,0.3871,0.51613,0.41935,0.51613,0.45161,0.51613,0.48387,0.51613,0.51613,0.51613,0.54839,0.51613,0.58065,0.51613,0.6129,0.51613,0.64516,0.51613,0.67742,0.51613,0.70968,0.51613,0.74194,0.51613,0.77419,0.51613,0.80645,0.51613,0.83871,0.51613,0.87097,0.51613,0.90323,0.51613,0.93548,0.51613,0.96774,0.51613,0.99609,0.51613,0.00391,0.54839,0.03226,0.54839,0.06452,0.54839,0.09677,0.54839,0.12903,0.54839,0.16129,0.54839,0.19355,0.54839,0.22581,0.54839,0.25806,0.54839,0.29032,0.54839,0.32258,0.54839,0.35484,0.54839,0.3871,0.54839,0.41935,0.54839,0.45161,0.54839,0.48387,0.54839,0.51613,0.54839,0.54839,0.54839,0.58065,0.54839,0.6129,0.54839,0.64516,0.54839,0.67742,0.54839,0.70968,0.54839,0.74194,0.54839,0.77419,0.54839,0.80645,0.54839,0.83871,0.54839,0.87097,0.54839,0.90323,0.54839,0.93548,0.54839,0.96774,0.54839,0.99609,0.54839,0.00391,0.58065,0.03226,0.58065,0.06452,0.58065,0.09677,0.58065,0.12903,0.58065,0.16129,0.58065,0.19355,0.58065,0.22581,0.58065,0.25806,0.58065,0.29032,0.58065,0.32258,0.58065,0.35484,0.58065,0.3871,0.58065,0.41935,0.58065,0.45161,0.58065,0.48387,0.58065,0.51613,0.58065,0.54839,0.58065,0.58065,0.58065,0.6129,0.58065,0.64516,0.58065,0.67742,0.58065,0.70968,0.58065,0.74194,0.58065};
			return value;
		}
		private double[] getTextureCoordinate_6_21_point_7()
		{
			double[] value = {0.77419,0.58065,0.80645,0.58065,0.83871,0.58065,0.87097,0.58065,0.90323,0.58065,0.93548,0.58065,0.96774,0.58065,0.99609,0.58065,0.00391,0.6129,0.03226,0.6129,0.06452,0.6129,0.09677,0.6129,0.12903,0.6129,0.16129,0.6129,0.19355,0.6129,0.22581,0.6129,0.25806,0.6129,0.29032,0.6129,0.32258,0.6129,0.35484,0.6129,0.3871,0.6129,0.41935,0.6129,0.45161,0.6129,0.48387,0.6129,0.51613,0.6129,0.54839,0.6129,0.58065,0.6129,0.6129,0.6129,0.64516,0.6129,0.67742,0.6129,0.70968,0.6129,0.74194,0.6129,0.77419,0.6129,0.80645,0.6129,0.83871,0.6129,0.87097,0.6129,0.90323,0.6129,0.93548,0.6129,0.96774,0.6129,0.99609,0.6129,0.00391,0.64516,0.03226,0.64516,0.06452,0.64516,0.09677,0.64516,0.12903,0.64516,0.16129,0.64516,0.19355,0.64516,0.22581,0.64516,0.25806,0.64516,0.29032,0.64516,0.32258,0.64516,0.35484,0.64516,0.3871,0.64516,0.41935,0.64516,0.45161,0.64516,0.48387,0.64516,0.51613,0.64516,0.54839,0.64516,0.58065,0.64516,0.6129,0.64516,0.64516,0.64516,0.67742,0.64516,0.70968,0.64516,0.74194,0.64516,0.77419,0.64516,0.80645,0.64516,0.83871,0.64516,0.87097,0.64516,0.90323,0.64516,0.93548,0.64516,0.96774,0.64516,0.99609,0.64516,0.00391,0.67742,0.03226,0.67742,0.06452,0.67742,0.09677,0.67742,0.12903,0.67742,0.16129,0.67742,0.19355,0.67742,0.22581,0.67742,0.25806,0.67742,0.29032,0.67742,0.32258,0.67742,0.35484,0.67742,0.3871,0.67742,0.41935,0.67742,0.45161,0.67742,0.48387,0.67742,0.51613,0.67742,0.54839,0.67742,0.58065,0.67742,0.6129,0.67742,0.64516,0.67742,0.67742,0.67742,0.70968,0.67742,0.74194,0.67742,0.77419,0.67742,0.80645,0.67742,0.83871,0.67742,0.87097,0.67742};
			return value;
		}
		private double[] getTextureCoordinate_6_21_point_8()
		{
			double[] value = {0.90323,0.67742,0.93548,0.67742,0.96774,0.67742,0.99609,0.67742,0.00391,0.70968,0.03226,0.70968,0.06452,0.70968,0.09677,0.70968,0.12903,0.70968,0.16129,0.70968,0.19355,0.70968,0.22581,0.70968,0.25806,0.70968,0.29032,0.70968,0.32258,0.70968,0.35484,0.70968,0.3871,0.70968,0.41935,0.70968,0.45161,0.70968,0.48387,0.70968,0.51613,0.70968,0.54839,0.70968,0.58065,0.70968,0.6129,0.70968,0.64516,0.70968,0.67742,0.70968,0.70968,0.70968,0.74194,0.70968,0.77419,0.70968,0.80645,0.70968,0.83871,0.70968,0.87097,0.70968,0.90323,0.70968,0.93548,0.70968,0.96774,0.70968,0.99609,0.70968,0.00391,0.74194,0.03226,0.74194,0.06452,0.74194,0.09677,0.74194,0.12903,0.74194,0.16129,0.74194,0.19355,0.74194,0.22581,0.74194,0.25806,0.74194,0.29032,0.74194,0.32258,0.74194,0.35484,0.74194,0.3871,0.74194,0.41935,0.74194,0.45161,0.74194,0.48387,0.74194,0.51613,0.74194,0.54839,0.74194,0.58065,0.74194,0.6129,0.74194,0.64516,0.74194,0.67742,0.74194,0.70968,0.74194,0.74194,0.74194,0.77419,0.74194,0.80645,0.74194,0.83871,0.74194,0.87097,0.74194,0.90323,0.74194,0.93548,0.74194,0.96774,0.74194,0.99609,0.74194,0.00391,0.77419,0.03226,0.77419,0.06452,0.77419,0.09677,0.77419,0.12903,0.77419,0.16129,0.77419,0.19355,0.77419,0.22581,0.77419,0.25806,0.77419,0.29032,0.77419,0.32258,0.77419,0.35484,0.77419,0.3871,0.77419,0.41935,0.77419,0.45161,0.77419,0.48387,0.77419,0.51613,0.77419,0.54839,0.77419,0.58065,0.77419,0.6129,0.77419,0.64516,0.77419,0.67742,0.77419,0.70968,0.77419,0.74194,0.77419,0.77419,0.77419,0.80645,0.77419,0.83871,0.77419,0.87097,0.77419,0.90323,0.77419,0.93548,0.77419,0.96774,0.77419,0.99609,0.77419};
			return value;
		}
		private double[] getTextureCoordinate_6_21_point_9()
		{
			double[] value = {0.00391,0.80645,0.03226,0.80645,0.06452,0.80645,0.09677,0.80645,0.12903,0.80645,0.16129,0.80645,0.19355,0.80645,0.22581,0.80645,0.25806,0.80645,0.29032,0.80645,0.32258,0.80645,0.35484,0.80645,0.3871,0.80645,0.41935,0.80645,0.45161,0.80645,0.48387,0.80645,0.51613,0.80645,0.54839,0.80645,0.58065,0.80645,0.6129,0.80645,0.64516,0.80645,0.67742,0.80645,0.70968,0.80645,0.74194,0.80645,0.77419,0.80645,0.80645,0.80645,0.83871,0.80645,0.87097,0.80645,0.90323,0.80645,0.93548,0.80645,0.96774,0.80645,0.99609,0.80645,0.00391,0.83871,0.03226,0.83871,0.06452,0.83871,0.09677,0.83871,0.12903,0.83871,0.16129,0.83871,0.19355,0.83871,0.22581,0.83871,0.25806,0.83871,0.29032,0.83871,0.32258,0.83871,0.35484,0.83871,0.3871,0.83871,0.41935,0.83871,0.45161,0.83871,0.48387,0.83871,0.51613,0.83871,0.54839,0.83871,0.58065,0.83871,0.6129,0.83871,0.64516,0.83871,0.67742,0.83871,0.70968,0.83871,0.74194,0.83871,0.77419,0.83871,0.80645,0.83871,0.83871,0.83871,0.87097,0.83871,0.90323,0.83871,0.93548,0.83871,0.96774,0.83871,0.99609,0.83871,0.00391,0.87097,0.03226,0.87097,0.06452,0.87097,0.09677,0.87097,0.12903,0.87097,0.16129,0.87097,0.19355,0.87097,0.22581,0.87097,0.25806,0.87097,0.29032,0.87097,0.32258,0.87097,0.35484,0.87097,0.3871,0.87097,0.41935,0.87097,0.45161,0.87097,0.48387,0.87097,0.51613,0.87097,0.54839,0.87097,0.58065,0.87097,0.6129,0.87097,0.64516,0.87097,0.67742,0.87097,0.70968,0.87097,0.74194,0.87097,0.77419,0.87097,0.80645,0.87097,0.83871,0.87097,0.87097,0.87097,0.90323,0.87097,0.93548,0.87097,0.96774,0.87097,0.99609,0.87097,0.00391,0.90323,0.03226,0.90323,0.06452,0.90323,0.09677,0.90323};
			return value;
		}
		private double[] getTextureCoordinate_6_21_point_10()
		{
			double[] value = {0.12903,0.90323,0.16129,0.90323,0.19355,0.90323,0.22581,0.90323,0.25806,0.90323,0.29032,0.90323,0.32258,0.90323,0.35484,0.90323,0.3871,0.90323,0.41935,0.90323,0.45161,0.90323,0.48387,0.90323,0.51613,0.90323,0.54839,0.90323,0.58065,0.90323,0.6129,0.90323,0.64516,0.90323,0.67742,0.90323,0.70968,0.90323,0.74194,0.90323,0.77419,0.90323,0.80645,0.90323,0.83871,0.90323,0.87097,0.90323,0.90323,0.90323,0.93548,0.90323,0.96774,0.90323,0.99609,0.90323,0.00391,0.93548,0.03226,0.93548,0.06452,0.93548,0.09677,0.93548,0.12903,0.93548,0.16129,0.93548,0.19355,0.93548,0.22581,0.93548,0.25806,0.93548,0.29032,0.93548,0.32258,0.93548,0.35484,0.93548,0.3871,0.93548,0.41935,0.93548,0.45161,0.93548,0.48387,0.93548,0.51613,0.93548,0.54839,0.93548,0.58065,0.93548,0.6129,0.93548,0.64516,0.93548,0.67742,0.93548,0.70968,0.93548,0.74194,0.93548,0.77419,0.93548,0.80645,0.93548,0.83871,0.93548,0.87097,0.93548,0.90323,0.93548,0.93548,0.93548,0.96774,0.93548,0.99609,0.93548,0.00391,0.96774,0.03226,0.96774,0.06452,0.96774,0.09677,0.96774,0.12903,0.96774,0.16129,0.96774,0.19355,0.96774,0.22581,0.96774,0.25806,0.96774,0.29032,0.96774,0.32258,0.96774,0.35484,0.96774,0.3871,0.96774,0.41935,0.96774,0.45161,0.96774,0.48387,0.96774,0.51613,0.96774,0.54839,0.96774,0.58065,0.96774,0.6129,0.96774,0.64516,0.96774,0.67742,0.96774,0.70968,0.96774,0.74194,0.96774,0.77419,0.96774,0.80645,0.96774,0.83871,0.96774,0.87097,0.96774,0.90323,0.96774,0.93548,0.96774,0.96774,0.96774,0.99609,0.96774,0.00391,0.99609,0.03226,0.99609,0.06452,0.99609,0.09677,0.99609,0.12903,0.99609,0.16129,0.99609,0.19355,0.99609,0.22581,0.99609};
			return value;
		}
		private double[] getTextureCoordinate_6_21_point_11()
		{
			double[] value = {0.25806,0.99609,0.29032,0.99609,0.32258,0.99609,0.35484,0.99609,0.3871,0.99609,0.41935,0.99609,0.45161,0.99609,0.48387,0.99609,0.51613,0.99609,0.54839,0.99609,0.58065,0.99609,0.6129,0.99609,0.64516,0.99609,0.67742,0.99609,0.70968,0.99609,0.74194,0.99609,0.77419,0.99609,0.80645,0.99609,0.83871,0.99609,0.87097,0.99609,0.90323,0.99609,0.93548,0.99609,0.96774,0.99609,0.99609,0.99609};
			return value;
		}

		/** Large attribute array: GeoElevationGrid height field, scene-graph level=5, element #20, 1024 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 MFDouble getGeoElevationGrid_5_20_height()
		{
			MFDouble GeoElevationGrid_5_20_height = new MFDouble()/*2.finalize*/
				.append(new MFDouble(getGeoElevationGrid_5_20_height_1()))
				.append(new MFDouble(getGeoElevationGrid_5_20_height_2()))
				.append(new MFDouble(getGeoElevationGrid_5_20_height_3()))
				.append(new MFDouble(getGeoElevationGrid_5_20_height_4()))
				.append(new MFDouble(getGeoElevationGrid_5_20_height_5()))
				.append(new MFDouble(getGeoElevationGrid_5_20_height_6()))
				.append(new MFDouble(getGeoElevationGrid_5_20_height_7()))
				.append(new MFDouble(getGeoElevationGrid_5_20_height_8()))
				.append(new MFDouble(getGeoElevationGrid_5_20_height_9()))
				.append(new MFDouble(getGeoElevationGrid_5_20_height_10()))
				.append(new MFDouble(getGeoElevationGrid_5_20_height_11()));
			return GeoElevationGrid_5_20_height;
		}
		/** Large attribute array: TextureCoordinate point field, scene-graph level=6, element #21, 2048 total numbers made up of 1024 2-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 MFVec2f getTextureCoordinate_6_21_point()
		{
			MFVec2f TextureCoordinate_6_21_point = new MFVec2f()/*2.finalize*/
				.append(new MFVec2f(getTextureCoordinate_6_21_point_1()))
				.append(new MFVec2f(getTextureCoordinate_6_21_point_2()))
				.append(new MFVec2f(getTextureCoordinate_6_21_point_3()))
				.append(new MFVec2f(getTextureCoordinate_6_21_point_4()))
				.append(new MFVec2f(getTextureCoordinate_6_21_point_5()))
				.append(new MFVec2f(getTextureCoordinate_6_21_point_6()))
				.append(new MFVec2f(getTextureCoordinate_6_21_point_7()))
				.append(new MFVec2f(getTextureCoordinate_6_21_point_8()))
				.append(new MFVec2f(getTextureCoordinate_6_21_point_9()))
				.append(new MFVec2f(getTextureCoordinate_6_21_point_10()))
				.append(new MFVec2f(getTextureCoordinate_6_21_point_11()));
			return TextureCoordinate_6_21_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 MarsLOD003 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 MarsLOD003().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: \"Basic.Geospatial.MarsLOD003\" 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("Basic.Geospatial.MarsLOD003 self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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