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

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.Interpolation.*;
import org.web3d.x3d.jsail.Rendering.*;
import org.web3d.x3d.jsail.Shape.*;
import org.web3d.x3d.jsail.Time.*;

// Javadoc metadata annotations follow, see below for X3DJSAIL Java source code.
/**
 * &lt;p&gt; BVH file conversion support: test and visualize various rotations in order to properly configure converter from Euler angles to SFRotation values. &lt;/p&gt;
 &lt;p&gt; Related links:  source RotationTests.java, &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;HumanoidAnimation.MotionAnimation.RotationTests&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="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/MotionAnimation/RotationTests.x3d"&gt;RotationTests.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; BVH file conversion support: test and visualize various rotations in order to properly configure converter from Euler angles to SFRotation values. &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; creator &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; Don Brutzman &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; created &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; 17 December 2016 &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; 16 January 2022 &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; Image &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/MotionAnimation/RotationTests.png"&gt;RotationTests.png&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; reference &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/MotionAnimation/BvhConversion1.x3d"&gt;BvhConversion1.x3d&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="color:burntorange"&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; warning &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; under development: euler-angle conversions still problematic, single-step animation reveals that animations are not smooth. &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; reference &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/MotionAnimation/../Animation/RotationCalculatorExample.x3d"&gt;../Animation/RotationCalculatorExample.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; drawing &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="https://savage.nps.edu/X3D-Edit/images/RotationCalculator.png" target="_blank"&gt;https://savage.nps.edu/X3D-Edit/images/RotationCalculator.png&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; generator &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; Java BVH to X3D Converter, org.web3d.x3d.hanim.bvh package &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; generator &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; X3D-Edit 3.3, &lt;a href="https://savage.nps.edu/X3D-Edit" target="_blank"&gt;https://savage.nps.edu/X3D-Edit&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; identifier &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/MotionAnimation/RotationTests.x3d" target="_blank"&gt;https://www.web3d.org/x3d/content/examples/HumanoidAnimation/MotionAnimation/RotationTests.x3d&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style="text-align:right; vertical-align: text-top;"&gt; &lt;i&gt; license &lt;/i&gt; &lt;/td&gt;
			&lt;td&gt; &lt;a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/MotionAnimation/license.html"&gt;license.html&lt;/a&gt; &lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="background-color:silver; border-color:silver;"&gt;
			&lt;td style="text-align:center;" colspan="2"&gt;  &amp;nbsp; &lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;

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

	* @author Don Brutzman
 */

public class RotationTests
{
	/** Default constructor to create this object. */
	public RotationTests ()
	{
	  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("H-Anim").setLevel(1))
    .addMeta(new meta().setName(meta.NAME_TITLE      ).setContent("RotationTests.x3d"))
    .addMeta(new meta().setName(meta.NAME_DESCRIPTION).setContent("BVH file conversion support: test and visualize various rotations in order to properly configure converter from Euler angles to SFRotation values."))
    .addMeta(new meta().setName(meta.NAME_CREATOR    ).setContent("Don Brutzman"))
    .addMeta(new meta().setName(meta.NAME_CREATED    ).setContent("17 December 2016"))
    .addMeta(new meta().setName(meta.NAME_MODIFIED   ).setContent("16 January 2022"))
    .addMeta(new meta().setName(meta.NAME_IMAGE      ).setContent("RotationTests.png"))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("BvhConversion1.x3d"))
    .addMeta(new meta().setName(meta.NAME_WARNING    ).setContent("under development: euler-angle conversions still problematic, single-step animation reveals that animations are not smooth."))
    .addMeta(new meta().setName(meta.NAME_REFERENCE  ).setContent("../Animation/RotationCalculatorExample.x3d"))
    .addMeta(new meta().setName(meta.NAME_DRAWING    ).setContent("https://savage.nps.edu/X3D-Edit/images/RotationCalculator.png"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("Java BVH to X3D Converter, org.web3d.x3d.hanim.bvh package"))
    .addMeta(new meta().setName(meta.NAME_GENERATOR  ).setContent("X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit"))
    .addMeta(new meta().setName(meta.NAME_IDENTIFIER ).setContent("https://www.web3d.org/x3d/content/examples/HumanoidAnimation/MotionAnimation/RotationTests.x3d"))
    .addMeta(new meta().setName(meta.NAME_LICENSE    ).setContent("license.html")))
  .setScene(new Scene()
    .addComments(" initial 3 rotations from 1.bvh, Zrotation Xrotation Yrotation: -1.829527 -4.400301 -0.381611, 2.832229 5.801149 2.553770, -3.939975 -3.766201 -3.474078 ")
    .addComments(" *Expected rotation values for initial rotations* in Interpolator1 ")
    .addChild(new WorldInfo().setTitle("RotationTests.x3d"))
    .addChild(new Transform("Transform1").setRotation(0.40671,-0.71645,-0.56683,2.6753).setTranslation(-3.0,0.0,0.0)
      .addComments(" RotationCalculator composed rotation: 0.0 0.0 1.0 -1.829527, 1.0 0.0 0.0 -4.400301, 0.0 1.0 0.0 -0.381611 ")
      .addChild(new Shape("BoxShape")
        .setGeometry(new Box().setSize(0.5,0.5,0.5))
        .setAppearance(new Appearance()
          .setMaterial(new Material().setDiffuseColor(0.9,0.9,0.9))))
      .addChild(new Shape("AxisLinesShape")
        .addComments(" RGB lines showing XYZ axes ")
        .setGeometry(new IndexedLineSet().setColorPerVertex(false).setColorIndex(new int[] {0,1,2}).setCoordIndex(new int[] {0,1,-1,0,2,-1,0,3,-1})
          .setCoord(new Coordinate().setPoint(new MFVec3f(new double[] {0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0})))
          .setColor(new Color().setColor(new MFColor(new double[] {1.0,0.0,0.0,0.0,0.6,0.0,0.0,0.0,1.0}))))))
    .addComments(" *Expected rotation values for initial rotations* in Interpolator2 ")
    .addChild(new Transform("Transform2").setRotation(-0.96458,0.07774,0.25206,2.59674)
      .addComments(" RotationCalculator composed rotation: 0.0 0.0 1.0 2.832229, 1.0 0.0 0.0 5.801149, 0.0 1.0 0.0 2.55377 ")
      .addChild(new Shape().setUSE("BoxShape"))
      .addChild(new Shape().setUSE("AxisLinesShape")))
    .addComments(" *Expected rotation values for initial rotations* in Interpolator3 ")
    .addChild(new Transform("Transform3").setRotation(0.40758,-0.49149,-0.76962,1.12862).setTranslation(3.0,0.0,0.0)
      .addComments(" RotationCalculator composed rotation: 0.0 0.0 1.0 -3.939975, 1.0 0.0 0.0 -3.766201, 0.0 1.0 0.0 -3.474078 ")
      .addChild(new Shape().setUSE("BoxShape"))
      .addChild(new Shape().setUSE("AxisLinesShape")))
    .addComments(" Animation playback: enable ClockTimer for continuous motion at 60.000 frames/second (fps) ")
    .addChild(new TimeSensor("ClockTimer").setCycleInterval(4.767).setEnabled(false).setLoop(true))
    .addComments(" Alternative replay: enable ClockStepper for discrete time-step motion at 1 fps ")
    .addChild(new TimeSensor("ClockStepper").setCycleInterval(286).setLoop(true))
    .addChild(new ScalarInterpolator("DiscreteFrameStepper").setKey(getDiscreteFrameStepper_3_35_key()).setKeyValue(getDiscreteFrameStepper_3_35_keyValue()))
    .addChild(new ROUTE().setFromNode("ClockStepper").setFromField("fraction_changed").setToNode("DiscreteFrameStepper").setToField("set_fraction"))
    .addComments(" TODO fix OrientationInterpolator euler-angle to SFRotation conversions ")
    .addChild(new OrientationInterpolator("Interpolator1").setKey(getInterpolator1_3_37_key()).setKeyValue(getInterpolator1_3_37_keyValue()))
    .addComments("** Warning: extra-large comment found (6149 characters)")
    .addChild(new OrientationInterpolator("Interpolator2").setKey(getInterpolator2_3_38_key()).setKeyValue(getInterpolator2_3_38_keyValue()))
    .addComments("** Warning: extra-large comment found (5898 characters)")
    .addChild(new OrientationInterpolator("Interpolator3").setKey(getInterpolator3_3_39_key()).setKeyValue(getInterpolator3_3_39_keyValue()))
    .addComments("** Warning: extra-large comment found (6265 characters)")
    .addChild(new ROUTE().setFromNode("ClockTimer").setFromField("fraction_changed").setToNode("Interpolator1").setToField("set_fraction"))
    .addChild(new ROUTE().setFromNode("DiscreteFrameStepper").setFromField("value_changed").setToNode("Interpolator1").setToField("set_fraction"))
    .addChild(new ROUTE().setFromNode("Interpolator1").setFromField("value_changed").setToNode("Transform1").setToField("set_rotation"))
    .addChild(new ROUTE().setFromNode("ClockTimer").setFromField("fraction_changed").setToNode("Interpolator2").setToField("set_fraction"))
    .addChild(new ROUTE().setFromNode("DiscreteFrameStepper").setFromField("value_changed").setToNode("Interpolator2").setToField("set_fraction"))
    .addChild(new ROUTE().setFromNode("Interpolator2").setFromField("value_changed").setToNode("Transform2").setToField("set_rotation"))
    .addChild(new ROUTE().setFromNode("ClockTimer").setFromField("fraction_changed").setToNode("Interpolator3").setToField("set_fraction"))
    .addChild(new ROUTE().setFromNode("DiscreteFrameStepper").setFromField("value_changed").setToNode("Interpolator3").setToField("set_fraction"))
    .addChild(new ROUTE().setFromNode("Interpolator3").setFromField("value_changed").setToNode("Transform3").setToField("set_rotation")));
            }
            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[] getDiscreteFrameStepper_3_35_key_1()
		{
			double[] value = {0.0000,0.0035,0.0035,0.0070,0.0070,0.0105,0.0105,0.0140,0.0140,0.0175,0.0175,0.0211,0.0211,0.0246,0.0246,0.0281,0.0281,0.0316,0.0316,0.0351,0.0351,0.0386,0.0386,0.0421,0.0421,0.0456,0.0456,0.0491,0.0491,0.0526,0.0526,0.0561,0.0561,0.0596,0.0596,0.0632,0.0632,0.0667,0.0667,0.0702,0.0702,0.0737,0.0737,0.0772,0.0772,0.0807,0.0807,0.0842,0.0842,0.0877,0.0877,0.0912,0.0912,0.0947,0.0947,0.0982,0.0982,0.1018,0.1018,0.1053,0.1053,0.1088,0.1088,0.1123,0.1123,0.1158,0.1158,0.1193,0.1193,0.1228,0.1228,0.1263,0.1263,0.1298,0.1298,0.1333,0.1333,0.1368,0.1368,0.1404,0.1404,0.1439,0.1439,0.1474,0.1474,0.1509,0.1509,0.1544,0.1544,0.1579,0.1579,0.1614,0.1614,0.1649,0.1649,0.1684,0.1684,0.1719,0.1719,0.1754,0.1754,0.1789,0.1789,0.1825,0.1825,0.1860,0.1860,0.1895,0.1895,0.1930,0.1930,0.1965,0.1965,0.2000,0.2000,0.2035,0.2035,0.2070,0.2070,0.2105,0.2105,0.2140,0.2140,0.2175,0.2175,0.2211,0.2211,0.2246,0.2246,0.2281,0.2281,0.2316,0.2316,0.2351,0.2351,0.2386,0.2386,0.2421,0.2421,0.2456,0.2456,0.2491,0.2491,0.2526,0.2526,0.2561,0.2561,0.2596,0.2596,0.2632,0.2632,0.2667,0.2667,0.2702,0.2702,0.2737,0.2737,0.2772,0.2772,0.2807,0.2807,0.2842,0.2842,0.2877,0.2877,0.2912,0.2912,0.2947,0.2947,0.2982,0.2982,0.3018,0.3018,0.3053,0.3053,0.3088,0.3088,0.3123,0.3123,0.3158,0.3158,0.3193,0.3193,0.3228,0.3228,0.3263,0.3263,0.3298,0.3298,0.3333,0.3333,0.3368,0.3368,0.3404,0.3404,0.3439,0.3439,0.3474,0.3474,0.3509,0.3509,0.3544,0.3544,0.3579,0.3579,0.3614,0.3614,0.3649,0.3649,0.3684,0.3684,0.3719,0.3719,0.3754,0.3754,0.3789,0.3789,0.3825,0.3825,0.3860,0.3860,0.3895,0.3895,0.3930,0.3930,0.3965,0.3965,0.4000,0.4000,0.4035,0.4035,0.4070,0.4070,0.4105,0.4105,0.4140,0.4140,0.4175,0.4175,0.4211,0.4211,0.4246,0.4246,0.4281,0.4281,0.4316,0.4316,0.4351,0.4351,0.4386,0.4386,0.4421,0.4421,0.4456,0.4456,0.4491,0.4491,0.4526,0.4526,0.4561,0.4561,0.4596,0.4596,0.4632,0.4632,0.4667,0.4667,0.4702,0.4702,0.4737,0.4737,0.4772,0.4772,0.4807,0.4807,0.4842,0.4842,0.4877,0.4877,0.4912,0.4912,0.4947,0.4947,0.4982,0.4982,0.5018,0.5018,0.5053,0.5053,0.5088,0.5088,0.5123,0.5123,0.5158,0.5158,0.5193,0.5193,0.5228,0.5228,0.5263,0.5263,0.5298,0.5298,0.5333,0.5333,0.5368,0.5368,0.5404,0.5404,0.5439,0.5439,0.5474,0.5474,0.5509,0.5509,0.5544,0.5544,0.5579,0.5579,0.5614,0.5614,0.5649,0.5649,0.5684,0.5684,0.5719,0.5719,0.5754,0.5754,0.5789,0.5789,0.5825,0.5825,0.5860,0.5860,0.5895,0.5895,0.5930,0.5930,0.5965,0.5965,0.6000,0.6000,0.6035,0.6035,0.6070,0.6070,0.6105,0.6105,0.6140,0.6140,0.6175,0.6175,0.6211,0.6211,0.6246,0.6246,0.6281,0.6281,0.6316,0.6316,0.6351,0.6351,0.6386,0.6386,0.6421,0.6421,0.6456,0.6456,0.6491,0.6491,0.6526,0.6526,0.6561,0.6561,0.6596,0.6596,0.6632,0.6632,0.6667,0.6667,0.6702,0.6702,0.6737,0.6737,0.6772,0.6772,0.6807,0.6807,0.6842,0.6842,0.6877,0.6877,0.6912,0.6912,0.6947,0.6947,0.6982,0.6982,0.7018,0.7018,0.7053,0.7053,0.7088,0.7088,0.7123,0.7123,0.7158,0.7158,0.7193,0.7193,0.7228,0.7228,0.7263,0.7263,0.7298,0.7298,0.7333,0.7333,0.7368,0.7368,0.7404,0.7404,0.7439,0.7439,0.7474,0.7474,0.7509,0.7509,0.7544,0.7544,0.7579,0.7579,0.7614,0.7614,0.7649,0.7649,0.7684,0.7684,0.7719,0.7719,0.7754,0.7754,0.7789,0.7789,0.7825,0.7825,0.7860,0.7860,0.7895,0.7895,0.7930,0.7930,0.7965,0.7965,0.8000,0.8000,0.8035,0.8035,0.8070,0.8070,0.8105,0.8105,0.8140,0.8140,0.8175,0.8175,0.8211,0.8211,0.8246,0.8246,0.8281,0.8281,0.8316,0.8316,0.8351,0.8351,0.8386,0.8386,0.8421,0.8421,0.8456,0.8456,0.8491,0.8491,0.8526,0.8526,0.8561,0.8561,0.8596,0.8596,0.8632,0.8632,0.8667,0.8667,0.8702,0.8702,0.8737,0.8737,0.8772,0.8772,0.8807,0.8807,0.8842,0.8842,0.8877,0.8877,0.8912,0.8912,0.8947,0.8947,0.8982,0.8982,0.9018,0.9018,0.9053,0.9053,0.9088,0.9088,0.9123,0.9123,0.9158,0.9158,0.9193,0.9193,0.9228,0.9228,0.9263,0.9263,0.9298,0.9298,0.9333,0.9333,0.9368,0.9368,0.9404,0.9404,0.9439,0.9439,0.9474,0.9474,0.9509,0.9509,0.9544,0.9544,0.9579,0.9579,0.9614,0.9614,0.9649,0.9649,0.9684,0.9684,0.9719,0.9719,0.9754,0.9754,0.9789,0.9789,0.9825,0.9825,0.9860,0.9860,0.9895,0.9895,0.9930,0.9930,0.9965,0.9965,1.0,1.0};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getDiscreteFrameStepper_3_35_keyValue_1()
		{
			double[] value = {0.0000,0.0000,0.0035,0.0035,0.0070,0.0070,0.0105,0.0105,0.0140,0.0140,0.0175,0.0175,0.0211,0.0211,0.0246,0.0246,0.0281,0.0281,0.0316,0.0316,0.0351,0.0351,0.0386,0.0386,0.0421,0.0421,0.0456,0.0456,0.0491,0.0491,0.0526,0.0526,0.0561,0.0561,0.0596,0.0596,0.0632,0.0632,0.0667,0.0667,0.0702,0.0702,0.0737,0.0737,0.0772,0.0772,0.0807,0.0807,0.0842,0.0842,0.0877,0.0877,0.0912,0.0912,0.0947,0.0947,0.0982,0.0982,0.1018,0.1018,0.1053,0.1053,0.1088,0.1088,0.1123,0.1123,0.1158,0.1158,0.1193,0.1193,0.1228,0.1228,0.1263,0.1263,0.1298,0.1298,0.1333,0.1333,0.1368,0.1368,0.1404,0.1404,0.1439,0.1439,0.1474,0.1474,0.1509,0.1509,0.1544,0.1544,0.1579,0.1579,0.1614,0.1614,0.1649,0.1649,0.1684,0.1684,0.1719,0.1719,0.1754,0.1754,0.1789,0.1789,0.1825,0.1825,0.1860,0.1860,0.1895,0.1895,0.1930,0.1930,0.1965,0.1965,0.2000,0.2000,0.2035,0.2035,0.2070,0.2070,0.2105,0.2105,0.2140,0.2140,0.2175,0.2175,0.2211,0.2211,0.2246,0.2246,0.2281,0.2281,0.2316,0.2316,0.2351,0.2351,0.2386,0.2386,0.2421,0.2421,0.2456,0.2456,0.2491,0.2491,0.2526,0.2526,0.2561,0.2561,0.2596,0.2596,0.2632,0.2632,0.2667,0.2667,0.2702,0.2702,0.2737,0.2737,0.2772,0.2772,0.2807,0.2807,0.2842,0.2842,0.2877,0.2877,0.2912,0.2912,0.2947,0.2947,0.2982,0.2982,0.3018,0.3018,0.3053,0.3053,0.3088,0.3088,0.3123,0.3123,0.3158,0.3158,0.3193,0.3193,0.3228,0.3228,0.3263,0.3263,0.3298,0.3298,0.3333,0.3333,0.3368,0.3368,0.3404,0.3404,0.3439,0.3439,0.3474,0.3474,0.3509,0.3509,0.3544,0.3544,0.3579,0.3579,0.3614,0.3614,0.3649,0.3649,0.3684,0.3684,0.3719,0.3719,0.3754,0.3754,0.3789,0.3789,0.3825,0.3825,0.3860,0.3860,0.3895,0.3895,0.3930,0.3930,0.3965,0.3965,0.4000,0.4000,0.4035,0.4035,0.4070,0.4070,0.4105,0.4105,0.4140,0.4140,0.4175,0.4175,0.4211,0.4211,0.4246,0.4246,0.4281,0.4281,0.4316,0.4316,0.4351,0.4351,0.4386,0.4386,0.4421,0.4421,0.4456,0.4456,0.4491,0.4491,0.4526,0.4526,0.4561,0.4561,0.4596,0.4596,0.4632,0.4632,0.4667,0.4667,0.4702,0.4702,0.4737,0.4737,0.4772,0.4772,0.4807,0.4807,0.4842,0.4842,0.4877,0.4877,0.4912,0.4912,0.4947,0.4947,0.4982,0.4982,0.5018,0.5018,0.5053,0.5053,0.5088,0.5088,0.5123,0.5123,0.5158,0.5158,0.5193,0.5193,0.5228,0.5228,0.5263,0.5263,0.5298,0.5298,0.5333,0.5333,0.5368,0.5368,0.5404,0.5404,0.5439,0.5439,0.5474,0.5474,0.5509,0.5509,0.5544,0.5544,0.5579,0.5579,0.5614,0.5614,0.5649,0.5649,0.5684,0.5684,0.5719,0.5719,0.5754,0.5754,0.5789,0.5789,0.5825,0.5825,0.5860,0.5860,0.5895,0.5895,0.5930,0.5930,0.5965,0.5965,0.6000,0.6000,0.6035,0.6035,0.6070,0.6070,0.6105,0.6105,0.6140,0.6140,0.6175,0.6175,0.6211,0.6211,0.6246,0.6246,0.6281,0.6281,0.6316,0.6316,0.6351,0.6351,0.6386,0.6386,0.6421,0.6421,0.6456,0.6456,0.6491,0.6491,0.6526,0.6526,0.6561,0.6561,0.6596,0.6596,0.6632,0.6632,0.6667,0.6667,0.6702,0.6702,0.6737,0.6737,0.6772,0.6772,0.6807,0.6807,0.6842,0.6842,0.6877,0.6877,0.6912,0.6912,0.6947,0.6947,0.6982,0.6982,0.7018,0.7018,0.7053,0.7053,0.7088,0.7088,0.7123,0.7123,0.7158,0.7158,0.7193,0.7193,0.7228,0.7228,0.7263,0.7263,0.7298,0.7298,0.7333,0.7333,0.7368,0.7368,0.7404,0.7404,0.7439,0.7439,0.7474,0.7474,0.7509,0.7509,0.7544,0.7544,0.7579,0.7579,0.7614,0.7614,0.7649,0.7649,0.7684,0.7684,0.7719,0.7719,0.7754,0.7754,0.7789,0.7789,0.7825,0.7825,0.7860,0.7860,0.7895,0.7895,0.7930,0.7930,0.7965,0.7965,0.8000,0.8000,0.8035,0.8035,0.8070,0.8070,0.8105,0.8105,0.8140,0.8140,0.8175,0.8175,0.8211,0.8211,0.8246,0.8246,0.8281,0.8281,0.8316,0.8316,0.8351,0.8351,0.8386,0.8386,0.8421,0.8421,0.8456,0.8456,0.8491,0.8491,0.8526,0.8526,0.8561,0.8561,0.8596,0.8596,0.8632,0.8632,0.8667,0.8667,0.8702,0.8702,0.8737,0.8737,0.8772,0.8772,0.8807,0.8807,0.8842,0.8842,0.8877,0.8877,0.8912,0.8912,0.8947,0.8947,0.8982,0.8982,0.9018,0.9018,0.9053,0.9053,0.9088,0.9088,0.9123,0.9123,0.9158,0.9158,0.9193,0.9193,0.9228,0.9228,0.9263,0.9263,0.9298,0.9298,0.9333,0.9333,0.9368,0.9368,0.9404,0.9404,0.9439,0.9439,0.9474,0.9474,0.9509,0.9509,0.9544,0.9544,0.9579,0.9579,0.9614,0.9614,0.9649,0.9649,0.9684,0.9684,0.9719,0.9719,0.9754,0.9754,0.9789,0.9789,0.9825,0.9825,0.9860,0.9860,0.9895,0.9895,0.9930,0.9930,0.9965,0.9965,1.0};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getInterpolator1_3_37_key_1()
		{
			double[] value = {0.0000,0.0035,0.0070,0.0105,0.0140,0.0175,0.0211,0.0246,0.0281,0.0316,0.0351,0.0386,0.0421,0.0456,0.0491,0.0526,0.0561,0.0596,0.0632,0.0667,0.0702,0.0737,0.0772,0.0807,0.0842,0.0877,0.0912,0.0947,0.0982,0.1018,0.1053,0.1088,0.1123,0.1158,0.1193,0.1228,0.1263,0.1298,0.1333,0.1368,0.1404,0.1439,0.1474,0.1509,0.1544,0.1579,0.1614,0.1649,0.1684,0.1719,0.1754,0.1789,0.1825,0.1860,0.1895,0.1930,0.1965,0.2000,0.2035,0.2070,0.2105,0.2140,0.2175,0.2211,0.2246,0.2281,0.2316,0.2351,0.2386,0.2421,0.2456,0.2491,0.2526,0.2561,0.2596,0.2632,0.2667,0.2702,0.2737,0.2772,0.2807,0.2842,0.2877,0.2912,0.2947,0.2982,0.3018,0.3053,0.3088,0.3123,0.3158,0.3193,0.3228,0.3263,0.3298,0.3333,0.3368,0.3404,0.3439,0.3474,0.3509,0.3544,0.3579,0.3614,0.3649,0.3684,0.3719,0.3754,0.3789,0.3825,0.3860,0.3895,0.3930,0.3965,0.4000,0.4035,0.4070,0.4105,0.4140,0.4175,0.4211,0.4246,0.4281,0.4316,0.4351,0.4386,0.4421,0.4456,0.4491,0.4526,0.4561,0.4596,0.4632,0.4667,0.4702,0.4737,0.4772,0.4807,0.4842,0.4877,0.4912,0.4947,0.4982,0.5018,0.5053,0.5088,0.5123,0.5158,0.5193,0.5228,0.5263,0.5298,0.5333,0.5368,0.5404,0.5439,0.5474,0.5509,0.5544,0.5579,0.5614,0.5649,0.5684,0.5719,0.5754,0.5789,0.5825,0.5860,0.5895,0.5930,0.5965,0.6000,0.6035,0.6070,0.6105,0.6140,0.6175,0.6211,0.6246,0.6281,0.6316,0.6351,0.6386,0.6421,0.6456,0.6491,0.6526,0.6561,0.6596,0.6632,0.6667,0.6702,0.6737,0.6772,0.6807,0.6842,0.6877,0.6912,0.6947,0.6982,0.7018,0.7053,0.7088,0.7123,0.7158,0.7193,0.7228,0.7263,0.7298,0.7333,0.7368,0.7404,0.7439,0.7474,0.7509,0.7544,0.7579,0.7614,0.7649,0.7684,0.7719,0.7754,0.7789,0.7825,0.7860,0.7895,0.7930,0.7965,0.8000,0.8035,0.8070,0.8105,0.8140,0.8175,0.8211,0.8246,0.8281,0.8316,0.8351,0.8386,0.8421,0.8456,0.8491,0.8526,0.8561,0.8596,0.8632,0.8667,0.8702,0.8737,0.8772,0.8807,0.8842,0.8877,0.8912,0.8947,0.8982,0.9018,0.9053,0.9088,0.9123,0.9158,0.9193,0.9228,0.9263,0.9298,0.9333,0.9368,0.9404,0.9439,0.9474,0.9509,0.9544,0.9579,0.9614,0.9649,0.9684,0.9719,0.9754,0.9789,0.9825,0.9860,0.9895,0.9930,0.9965,1.0};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getInterpolator1_3_37_keyValue_1()
		{
			double[] value = {0.4067,-0.7164,-0.5668,2.6753,0.4067,-0.7164,-0.5668,2.6753,0.4067,-0.7164,-0.5668,2.6753,0.4067,-0.7164,-0.5668,2.6753,0.4067,-0.7164,-0.5668,2.6753,0.4264,-0.7221,-0.5448,2.7319,0.4264,-0.7221,-0.5448,2.7319,0.4264,-0.7221,-0.5448,2.7319,0.4824,-0.7116,-0.5109,2.6702,0.5368,-0.6984,-0.4734,2.6122,0.5816,-0.7012,-0.4124,2.5799,0.6440,-0.6810,-0.3486,2.4645,0.7160,-0.6611,-0.2240,2.3903,0.7921,-0.6049,-0.0821,2.2618,0.8465,-0.5298,0.0535,2.0872,0.8909,-0.4161,0.1823,1.8758,0.9066,-0.2271,0.3558,1.6867,0.8619,-0.0538,0.5042,1.5931,0.7611,0.1215,0.6372,1.5273,0.6172,0.2146,0.7570,1.4445,0.4566,0.3368,0.8234,1.4326,0.3518,0.4617,0.8143,1.3287,0.2258,0.5350,0.8141,1.1803,0.0083,0.6008,0.7994,1.0217,-0.3406,0.5168,0.7854,0.8700,-0.7142,0.2838,0.6398,1.0034,-0.8252,-0.0188,0.5646,1.1993,-0.7174,-0.2186,0.6614,1.3395,-0.5661,-0.3990,0.7213,1.4831,-0.3911,-0.5528,0.7358,1.6705,-0.2740,-0.6443,0.7140,1.9331,-0.2658,-0.6919,0.6713,2.0768,-0.2631,-0.7150,0.6478,2.2363,-0.3529,-0.6942,0.6273,2.2344,-0.4796,-0.6427,0.5974,2.1412,-0.5556,-0.6225,0.5512,2.0068,-0.6780,-0.5732,0.4603,1.8082,-0.7737,-0.5407,0.3302,1.5971,-0.9047,-0.4117,0.1093,1.4036,-0.9488,-0.2584,-0.1815,1.2562,-0.9018,-0.1112,-0.4177,1.1521,-0.8441,0.1014,-0.5266,1.1234,-0.7890,0.2470,-0.5626,1.0648,-0.6545,0.4092,-0.6358,1.1022,-0.6437,0.4788,-0.5969,1.0816,-0.6487,0.5159,-0.5595,1.1265,-0.6909,0.5167,-0.5056,0.9729,-0.7369,0.5258,-0.4249,0.8267,-0.8485,0.4949,-0.1872,0.6121,-0.8614,0.5052,0.0528,0.5159,-0.6657,0.6760,0.3160,0.4286,-0.5117,0.6273,0.5871,0.5391,-0.5445,0.6318,0.5517,0.6337,-0.3788,0.8212,0.4268,0.6897,-0.3158,0.8677,0.3839,0.8033,-0.1761,0.9374,0.3006,0.9144,-0.1489,0.9698,0.1935,1.0727,-0.0485,0.9680,0.2462,1.1781,-0.0429,0.9676,0.2489,1.3136,0.0309,0.9714,0.2353,1.4550,0.0197,0.9576,0.2874,1.6577,0.0596,0.9391,0.3385,1.7845,0.0596,0.9391,0.3385,1.7845,-0.0008,0.9437,0.3307,1.8656,-0.0008,0.9437,0.3307,1.8656,-0.0872,0.9629,0.2553,1.9066,-0.1290,0.9710,0.2013,1.7883,-0.1313,0.9794,0.1533,1.5965,-0.1064,0.9798,0.1692,1.2920,-0.0273,0.9778,0.2077,0.8131,0.4686,0.8347,0.2893,0.3345,0.8424,-0.5329,0.0805,0.2964,0.7189,-0.6948,-0.0187,0.5934,0.6922,-0.7189,-0.0637,0.7428,0.8097,-0.5726,0.1284,0.6727,0.8656,-0.3642,0.3436,0.6471,0.8230,-0.1413,0.5502,0.7473,0.7339,0.0557,0.6770,0.8150,0.5240,0.2287,0.8204,0.8719,0.2423,0.2814,0.9285,0.9595,0.0298,0.1690,0.9852,1.0331,-0.0987,0.1240,0.9874,1.1192,-0.1450,0.0461,0.9884,1.2853,-0.1115,-0.0447,0.9928,1.4015,-0.0730,-0.1199,0.9901,1.5287,0.0129,-0.2312,0.9728,1.8070,0.1069,-0.2598,0.9597,2.0313,0.1997,-0.3075,0.9304,2.3342,0.2977,-0.3294,0.8960,2.6428,0.4250,-0.3037,0.8527,2.8127,0.5551,-0.2830,0.7821,3.0566,-0.6685,0.2586,-0.6973,3.0845,-0.7817,0.1941,-0.5927,2.8851,-0.8952,0.1424,-0.4223,2.7506,-0.9745,0.0387,-0.2209,2.7608,-0.9999,0.0109,-0.0077,2.8430,-0.9783,0.0027,0.2074,2.9264,-0.8924,0.0461,0.4488,3.0111,-0.7795,0.1128,0.6162,3.0816,-0.5859,0.2238,0.7789,3.0575};
			return value;
		}
		private double[] getInterpolator1_3_37_keyValue_2()
		{
			double[] value = {-0.3932,0.2974,0.8700,2.9838,-0.1814,0.3600,0.9152,2.8521,0.0164,0.4320,0.9017,2.7446,0.2220,0.4458,0.8672,2.4777,0.3739,0.4305,0.8215,2.2899,0.5258,0.3966,0.7525,2.1079,0.5838,0.3848,0.7149,2.0312,0.6692,0.3172,0.6720,1.9129,0.7256,0.2947,0.6218,1.8469,0.7256,0.2947,0.6218,1.8469,0.7256,0.2947,0.6218,1.8469,0.7256,0.2947,0.6218,1.8469,0.6627,0.2944,0.6885,1.8818,0.5942,0.2934,0.7489,1.9124,0.4354,0.3504,0.8292,2.0675,0.2216,0.4256,0.8774,2.3062,0.0728,0.4737,0.8777,2.4881,-0.0706,0.5045,0.8605,2.6818,-0.0903,0.5517,0.8291,2.7399,-0.0885,0.5797,0.8100,2.7177,-0.0892,0.5667,0.8191,2.5697,-0.1119,0.5651,0.8174,2.3647,-0.1466,0.5308,0.8347,2.1807,-0.2501,0.4867,0.8370,2.0696,-0.3567,0.4528,0.8171,2.0505,-0.4363,0.4644,0.7707,2.0551,-0.4346,0.5352,0.7243,2.0360,-0.4050,0.5788,0.7078,2.1658,-0.3758,0.6125,0.6954,2.2096,-0.3587,0.6661,0.6539,2.2160,-0.3700,0.6914,0.6205,2.1795,-0.3962,0.7299,0.5571,2.2678,-0.4134,0.7886,0.4551,2.3487,-0.4204,0.8288,0.3693,2.5419,-0.3905,0.8662,0.3117,2.8167,0.3861,-0.8820,-0.2701,3.0517,0.4027,-0.8704,-0.2832,2.5097,0.5358,-0.7750,-0.3350,1.9940,0.7830,-0.4936,-0.3785,1.7198,0.9565,-0.1335,-0.2593,1.8713,0.9939,0.0918,0.0619,2.2634,0.8640,0.2072,0.4589,2.7231,0.6205,0.1623,0.7673,3.0798,-0.2096,-0.0336,-0.9772,2.8977,0.2387,0.1707,-0.9560,2.8772,-0.5988,-0.3026,0.7415,3.1114,-0.8206,-0.3239,0.4708,2.7282,-0.9373,-0.2896,0.1940,2.3223,-0.9868,-0.1614,-0.0119,1.9519,-0.9748,0.0827,-0.2070,1.7317,-0.8807,0.3273,-0.3426,1.7063,-0.7682,0.4810,-0.4225,1.8108,-0.5994,0.6120,-0.5158,2.0476,-0.5116,0.6527,-0.5587,2.1908,-0.4322,0.6991,-0.5697,2.3170,-0.4391,0.7284,-0.5259,2.2518,-0.4711,0.7539,-0.4580,2.0499,-0.5449,0.7090,-0.4476,1.8152,-0.6322,0.6540,-0.4155,1.5740,-0.7341,0.5583,-0.3866,1.3512,-0.8420,0.4196,-0.3390,1.2262,-0.9562,0.2109,-0.2029,1.2626,-0.9991,-0.0086,-0.0416,1.3192,-0.9685,-0.2086,0.1358,1.3636,-0.8772,-0.3543,0.3239,1.6351,-0.7465,-0.4641,0.4768,1.8846,-0.5924,-0.5166,0.6182,2.2687,-0.4530,-0.5470,0.7040,2.5676,-0.3032,-0.5753,0.7597,2.8680,0.1646,0.5602,-0.8118,3.1055,0.0632,0.5304,-0.8454,2.8759,0.0025,0.5137,-0.8579,2.7154,-0.0582,0.4924,-0.8684,2.5561,-0.1191,0.4657,-0.8769,2.3987,-0.2088,0.4085,-0.8885,2.2906,-0.3066,0.3694,-0.8772,2.1737,-0.4511,0.2880,-0.8447,2.0188,-0.6561,0.2255,-0.7202,1.9026,-0.7999,0.1107,-0.5898,1.8249,-0.9205,-0.0043,-0.3907,1.7927,-0.9780,-0.1252,-0.1668,1.7884,-0.9671,-0.2472,0.0601,1.8155,-0.8931,-0.3262,0.3097,1.7159,-0.7090,-0.4750,0.5213,1.7189,-0.4979,-0.6162,0.6102,1.8423,-0.3140,-0.7260,0.6119,2.0719,-0.2387,-0.7682,0.5941,2.2988,-0.1555,-0.8055,0.5719,2.5174,-0.1079,-0.8040,0.5848,2.7510,-0.0916,-0.7947,0.6001,2.8830,-0.0522,-0.8196,0.5705,3.0314,-0.0103,0.8166,-0.5771,3.0379,-0.1172,0.8346,-0.5382,2.7312,-0.2687,0.8412,-0.4693,2.3793,-0.4338,0.8181,-0.3775,2.0963,-0.6056,0.7440,-0.2823,1.8923,-0.7694,0.6130,-0.1797,1.7108,-0.9024,0.4293,-0.0377,1.5863,-0.9790,0.1766,0.1023,1.5257,-0.9483,-0.1626,0.2725,1.5839};
			return value;
		}
		private double[] getInterpolator1_3_37_keyValue_3()
		{
			double[] value = {-0.7881,-0.4986,0.3609,1.9000,-0.6118,-0.6845,0.3964,2.3824,-0.4877,-0.7465,0.4526,2.7066,-0.4358,-0.7606,0.4812,2.9033,-0.4244,-0.7777,0.4638,3.0027,-0.4432,-0.7728,0.4543,3.0488,-0.5572,-0.7165,0.4197,3.0198,-0.6783,-0.6237,0.3884,3.0586,-0.8218,-0.4586,0.3381,2.9931,-0.8917,-0.3286,0.3113,2.9095,-0.9414,-0.1884,0.2796,2.8387,-0.9776,-0.0853,0.1923,2.7838,-0.9920,0.0888,0.0894,2.8495,-0.9695,0.2292,-0.0870,2.9149,-0.9004,0.3370,-0.2750,3.0150,-0.7787,0.4347,-0.4523,3.0616,0.6098,-0.5205,0.5977,3.1043,0.3365,-0.6061,0.7207,2.9791,0.0573,-0.6657,0.7440,2.9095,-0.1769,-0.7074,0.6843,2.8532,-0.4156,-0.7383,0.5312,2.7297,-0.5714,-0.7704,0.2826,2.5547,-0.6000,-0.8000,-0.0091,2.2489,-0.5588,-0.7832,-0.2726,1.8284,-0.4167,-0.7196,-0.5555,1.3965,-0.1454,-0.5915,-0.7931,1.0408,0.1920,-0.3575,-0.9140,0.8291,0.3922,0.0021,-0.9199,0.7121,0.4157,0.4437,-0.7939,0.6637,0.3756,0.6985,-0.6091,0.8095,0.3370,0.8408,-0.4237,1.0961,0.3218,0.9303,-0.1761,1.5385,0.3475,0.9355,-0.0639,2.0818,0.3903,0.9203,0.0276,2.6668,-0.3951,-0.9046,-0.1600,3.1150,-0.4061,-0.8740,-0.2668,2.7453,-0.3547,-0.8536,-0.3814,2.5943,-0.3706,-0.8225,-0.4314,2.5861,-0.3786,-0.7972,-0.4702,2.7398,-0.4112,-0.7862,-0.4613,3.0153,0.4180,0.7840,0.4590,3.1171,0.4444,0.8024,0.3984,3.0891,-0.4927,-0.8213,-0.2877,3.0148,-0.5593,-0.8005,-0.2153,2.9657,-0.5588,-0.8121,-0.1679,2.9437,-0.5588,-0.8121,-0.1679,2.9437,-0.5588,-0.8121,-0.1679,2.9437,-0.5762,-0.8129,-0.0843,3.0937,-0.5241,-0.8471,0.0883,3.1304,0.4303,0.8666,-0.2528,3.0749,0.2795,0.8483,-0.4498,3.1105,0.1089,0.7955,-0.5960,3.0500,-0.0373,0.7097,-0.7035,3.0579,-0.1387,0.6418,-0.7542,3.0540,-0.2432,0.5680,-0.7863,3.0667,-0.4216,0.4523,-0.7859,2.9884,-0.5573,0.3874,-0.7344,2.9318,-0.7381,0.2626,-0.6215,2.8400,-0.8914,0.1661,-0.4217,2.8722,-0.9781,0.0931,-0.1859,2.9727,-0.9915,0.0815,0.1014,3.0643,-0.9121,0.1214,0.3915,2.9874,-0.7762,0.0540,0.6282,2.7846,-0.5784,-0.0594,0.8136,2.6588,-0.3348,-0.1991,0.9210,2.6435,-0.1036,-0.3096,0.9452,2.7824,0.1054,-0.3579,0.9278,2.8548,0.2928,-0.3696,0.8819,2.9228,0.4719,-0.3465,0.8107,2.9298,0.6517,-0.3407,0.6777,2.8583,0.7941,-0.3365,0.5061,2.7216,0.8781,-0.3316,0.3449,2.6680,0.9250,-0.3406,0.1684,2.6071,0.9319,-0.3615,0.0313,2.5196,0.9375,-0.3453,-0.0430,2.4856,0.9496,-0.3042,-0.0753,2.4763,0.9672,-0.2498,-0.0453,2.5672,0.9751,-0.2072,-0.0790,2.5471,0.9680,-0.1896,-0.1646,2.4012,0.9252,-0.2566,-0.2796,2.2815,0.8532,-0.3498,-0.3869,2.0027,0.7084,-0.5154,-0.4822,1.7956,0.5420,-0.6869,-0.4841,1.6448,0.3411,-0.8488,-0.4040,1.5919,0.1235,-0.9734,-0.1929,1.6588,-0.0184,-0.9998,-0.0004,1.8333};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getInterpolator2_3_38_key_1()
		{
			double[] value = {0.0000,0.0035,0.0070,0.0105,0.0140,0.0175,0.0211,0.0246,0.0281,0.0316,0.0351,0.0386,0.0421,0.0456,0.0491,0.0526,0.0561,0.0596,0.0632,0.0667,0.0702,0.0737,0.0772,0.0807,0.0842,0.0877,0.0912,0.0947,0.0982,0.1018,0.1053,0.1088,0.1123,0.1158,0.1193,0.1228,0.1263,0.1298,0.1333,0.1368,0.1404,0.1439,0.1474,0.1509,0.1544,0.1579,0.1614,0.1649,0.1684,0.1719,0.1754,0.1789,0.1825,0.1860,0.1895,0.1930,0.1965,0.2000,0.2035,0.2070,0.2105,0.2140,0.2175,0.2211,0.2246,0.2281,0.2316,0.2351,0.2386,0.2421,0.2456,0.2491,0.2526,0.2561,0.2596,0.2632,0.2667,0.2702,0.2737,0.2772,0.2807,0.2842,0.2877,0.2912,0.2947,0.2982,0.3018,0.3053,0.3088,0.3123,0.3158,0.3193,0.3228,0.3263,0.3298,0.3333,0.3368,0.3404,0.3439,0.3474,0.3509,0.3544,0.3579,0.3614,0.3649,0.3684,0.3719,0.3754,0.3789,0.3825,0.3860,0.3895,0.3930,0.3965,0.4000,0.4035,0.4070,0.4105,0.4140,0.4175,0.4211,0.4246,0.4281,0.4316,0.4351,0.4386,0.4421,0.4456,0.4491,0.4526,0.4561,0.4596,0.4632,0.4667,0.4702,0.4737,0.4772,0.4807,0.4842,0.4877,0.4912,0.4947,0.4982,0.5018,0.5053,0.5088,0.5123,0.5158,0.5193,0.5228,0.5263,0.5298,0.5333,0.5368,0.5404,0.5439,0.5474,0.5509,0.5544,0.5579,0.5614,0.5649,0.5684,0.5719,0.5754,0.5789,0.5825,0.5860,0.5895,0.5930,0.5965,0.6000,0.6035,0.6070,0.6105,0.6140,0.6175,0.6211,0.6246,0.6281,0.6316,0.6351,0.6386,0.6421,0.6456,0.6491,0.6526,0.6561,0.6596,0.6632,0.6667,0.6702,0.6737,0.6772,0.6807,0.6842,0.6877,0.6912,0.6947,0.6982,0.7018,0.7053,0.7088,0.7123,0.7158,0.7193,0.7228,0.7263,0.7298,0.7333,0.7368,0.7404,0.7439,0.7474,0.7509,0.7544,0.7579,0.7614,0.7649,0.7684,0.7719,0.7754,0.7789,0.7825,0.7860,0.7895,0.7930,0.7965,0.8000,0.8035,0.8070,0.8105,0.8140,0.8175,0.8211,0.8246,0.8281,0.8316,0.8351,0.8386,0.8421,0.8456,0.8491,0.8526,0.8561,0.8596,0.8632,0.8667,0.8702,0.8737,0.8772,0.8807,0.8842,0.8877,0.8912,0.8947,0.8982,0.9018,0.9053,0.9088,0.9123,0.9158,0.9193,0.9228,0.9263,0.9298,0.9333,0.9368,0.9404,0.9439,0.9474,0.9509,0.9544,0.9579,0.9614,0.9649,0.9684,0.9719,0.9754,0.9789,0.9825,0.9860,0.9895,0.9930,0.9965,1.0};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getInterpolator2_3_38_keyValue_1()
		{
			double[] value = {-0.9646,0.0777,0.2521,2.5967,-0.9646,0.0777,0.2521,2.5967,-0.9698,0.0655,0.2351,2.6805,-0.9752,0.0934,0.2006,2.8117,-0.9730,0.1474,0.1775,2.7027,-0.9777,0.1759,0.1145,2.4980,-0.9730,0.2281,0.0360,2.3593,-0.9708,0.2399,0.0044,2.2127,-0.9687,0.2483,0.0077,2.0006,-0.9734,0.2287,-0.0156,1.8093,-0.9946,0.0993,0.0313,1.6511,-0.9796,-0.0654,0.1903,1.6319,-0.9413,-0.2708,0.2015,1.6299,-0.8903,-0.4228,0.1691,1.7668,-0.8594,-0.4753,0.1885,1.9129,-0.8416,-0.4766,0.2543,1.9513,-0.8061,-0.4659,0.3648,1.8895,-0.7589,-0.4702,0.4505,1.8643,-0.6763,-0.5050,0.5363,1.9239,-0.6844,-0.4674,0.5595,1.9042,-0.7170,-0.3875,0.5794,1.9180,-0.7636,-0.2714,0.5859,2.1165,-0.8610,-0.2505,0.4427,2.2532,-0.9058,-0.2913,0.3076,2.1550,-0.9366,-0.2679,0.2257,1.8600,-0.9205,-0.2512,0.2992,1.4725,-0.8864,-0.2540,0.3871,1.1863,-0.9035,-0.2689,0.3338,1.3035,-0.9230,-0.2511,0.2916,1.4517,-0.9369,-0.2523,0.2419,1.6782,-0.9446,-0.2538,0.2083,1.7721,-0.9476,-0.2859,0.1426,1.9303,-0.9515,-0.2959,0.0837,1.9462,-0.9205,-0.3850,0.0664,2.0637,-0.8819,-0.4701,0.0347,2.1729,-0.8404,-0.5261,-0.1302,2.2317,-0.7339,-0.6024,-0.3139,2.2477,-0.5212,-0.6512,-0.5517,2.2672,-0.2503,-0.7086,-0.6597,2.0428,0.0783,-0.7090,-0.7008,1.8858,0.3824,-0.6502,-0.6565,1.8776,0.4778,-0.6199,-0.6224,1.9456,0.5674,-0.5815,-0.5831,2.0767,0.5186,-0.5978,-0.6112,2.1155,0.4429,-0.6162,-0.6513,2.1998,0.3137,-0.6350,-0.7060,2.3464,0.1547,-0.6972,-0.7000,2.8275,0.0047,0.7402,0.6724,2.9245,0.0772,0.7885,0.6102,2.3738,0.0508,0.8353,0.5474,1.9478,-0.1895,0.8802,0.4351,1.6212,-0.4406,0.8755,0.1984,1.6249,-0.5214,0.8522,-0.0446,1.8188,-0.6927,0.6813,-0.2365,1.7902,-0.7951,0.4833,-0.3664,1.7604,-0.8928,0.1668,-0.4184,1.7903,-0.9678,-0.1101,-0.2262,1.7988,-0.9425,-0.2965,-0.1543,1.9708,-0.9282,-0.3446,-0.1405,2.1512,-0.8663,-0.4659,-0.1804,2.3417,-0.7915,-0.5468,-0.2729,2.5683,-0.6640,-0.6095,-0.4332,2.8133,-0.5200,-0.6578,-0.5449,2.8242,-0.4552,-0.6681,-0.5886,2.8834,-0.3336,-0.6864,-0.6462,2.8959,-0.3448,-0.6988,-0.6268,2.9934,-0.2904,-0.7054,-0.6466,3.0040,-0.1861,-0.7132,-0.6759,3.0654,0.0668,0.7091,0.7020,3.1033,-0.0447,0.7000,0.7128,3.0134,-0.1287,0.6995,0.7029,3.0304,0.0887,-0.7060,-0.7026,3.1414,-0.1216,-0.6925,-0.7111,3.0003,-0.3999,-0.5699,-0.7179,2.5644,-0.7628,-0.2564,-0.5936,1.8428,-0.8883,0.4441,-0.1169,1.7863,0.7272,-0.6595,-0.1905,3.0768,0.9613,0.0746,-0.2653,1.4081,0.2282,0.8835,-0.4090,2.6998,-0.5476,-0.0729,0.8336,2.3379,0.6850,-0.5087,-0.5215,1.7655,-0.3481,0.6820,-0.6432,1.6213,0.5973,-0.0761,0.7984,2.2607,0.4679,0.8820,0.0552,2.9957,-0.5965,-0.1607,0.7863,1.8584,-0.0654,-0.7092,-0.7020,3.1202,-0.7841,-0.1403,-0.6046,1.8436,-0.5481,0.8362,0.0198,2.0386,0.1087,0.7662,0.6333,2.6891,0.4984,0.2418,0.8325,3.0997,-0.6039,0.3561,-0.7130,2.5547,-0.4968,0.7124,-0.4956,1.8221,-0.0346,0.9210,-0.3881,1.1118,0.7285,0.6009,-0.3290,0.9437,0.9116,0.1588,-0.3792,1.1201,0.9054,-0.0793,-0.4172,1.2420,0.7485,-0.3828,-0.5415,1.5417,0.4685,-0.5725,-0.6729,1.8455,0.0689,-0.6948,-0.7159,2.3795,-0.3346,-0.7218,-0.6058,2.8511};
			return value;
		}
		private double[] getInterpolator2_3_38_keyValue_2()
		{
			double[] value = {0.6518,0.6804,0.3349,3.0205,0.7711,0.6353,-0.0428,2.9911,-0.6827,-0.6365,0.3588,3.0241,-0.4640,-0.6814,0.5660,2.7855,-0.2176,-0.6849,0.6954,2.6490,-0.0043,-0.6791,0.7341,2.6089,0.0798,-0.7295,0.6793,2.6484,0.0980,-0.7597,0.6428,2.9691,0.1385,-0.8115,0.5676,3.1398,-0.1315,0.8607,-0.4918,2.8993,-0.0279,0.9137,-0.4053,2.7926,0.2367,0.9425,-0.2359,2.8469,0.5035,0.8618,0.0614,2.8019,0.5200,0.7340,0.4369,2.6433,0.5715,0.5669,0.5933,2.0567,0.8087,-0.0594,0.5853,1.3732,0.5906,-0.7568,0.2802,1.9457,-0.4778,0.8360,-0.2700,2.9217,-0.7683,0.3881,-0.5089,1.8156,-0.6555,-0.4178,-0.6290,2.1152,-0.2795,-0.6965,-0.6609,2.8370,-0.0872,0.6371,0.7659,2.6400,-0.3700,0.3337,0.8670,2.1159,-0.4561,-0.1514,0.8769,1.9309,-0.4468,-0.6011,0.6627,2.2441,-0.4287,-0.7960,0.4273,3.0166,0.5305,0.8293,-0.1757,2.3153,0.8577,0.4879,0.1625,1.6531,0.9382,-0.1545,0.3097,1.8837,0.8570,-0.4203,0.2982,2.6707,-0.8137,0.4799,-0.3278,2.7706,-0.8367,0.4139,-0.3586,1.9163,-0.8719,0.1830,-0.4541,1.1938,-0.5459,-0.3352,-0.7679,0.7191,0.4575,-0.6485,-0.6084,0.8640,0.9081,-0.3042,-0.2877,1.4735,0.9888,-0.0090,-0.1493,2.4757,-0.9590,-0.2616,0.1094,2.7166,-0.8972,-0.2748,0.3457,1.5535,-0.3538,0.2208,0.9089,1.4323,0.0535,0.6047,0.7946,2.4925,-0.1852,-0.8729,-0.4514,2.6971,-0.2161,-0.9467,0.2388,2.2733,-0.2634,-0.5601,0.7854,2.8788,0.3579,0.0650,-0.9315,2.5186,0.5759,-0.3776,-0.7251,1.9693,0.7139,-0.6428,-0.2778,2.1832,0.7253,-0.6852,0.0664,2.8699,-0.7301,0.5968,-0.3329,2.6494,-0.6757,0.5156,-0.5269,1.9054,-0.5537,0.5511,-0.6243,1.2920,-0.1586,0.8424,-0.5150,1.0612,0.0809,0.9866,-0.1414,0.9965,0.1310,0.9834,0.1258,1.2987,-0.0038,0.9844,0.1760,1.4581,-0.1773,0.9823,0.0597,1.6814,-0.3587,0.8963,-0.2608,1.9496,-0.4683,0.4926,-0.7335,2.3856,-0.2469,-0.1784,-0.9525,2.5757,0.3544,-0.7072,-0.6118,2.5650,0.5599,-0.7652,0.3177,2.8257,0.2710,0.6768,-0.6845,2.8448,0.7722,0.5865,0.2443,2.2322,-0.3486,0.4168,0.8395,1.5931,-0.7198,-0.0097,-0.6941,1.8008,0.3971,-0.6874,-0.6081,2.4389,-0.1800,-0.7970,0.5766,2.3506,0.8429,-0.1419,-0.5189,2.6922,-0.0050,-0.6844,-0.7291,0.7379,-0.8743,0.4555,-0.1676,2.3275,0.5893,-0.6322,-0.5030,2.2706,-0.2517,0.0599,-0.9659,2.2720,-0.2790,0.8560,-0.4351,2.3229,0.5858,0.8074,0.0703,1.6410,0.9309,-0.3330,0.1500,1.8727,0.5303,-0.8345,0.1499,2.8547,-0.2852,0.8704,-0.4013,2.7780,-0.2810,0.7861,-0.5505,2.5085,-0.3619,0.7254,-0.5855,2.2752,-0.4902,0.6876,-0.5356,1.9993,-0.5787,0.7268,-0.3699,1.5670,-0.6956,0.7182,0.0202,0.9330,-0.0537,0.3311,0.9421,0.7301,0.6581,0.0787,0.7488,1.1111,0.8012,0.3525,0.4836,1.6775,0.7367,0.6349,0.2327,2.1147,0.6027,0.7980,-0.0037,2.3623,0.5498,0.8212,-0.1525,2.5153,0.6219,0.7683,-0.1517,2.5080,0.7193,0.6391,-0.2722,2.3610,0.7047,0.4823,-0.5204,2.4524,0.6000,0.4262,-0.6770,2.8611,-0.4809,-0.5205,0.7055,2.6406,-0.4163,-0.7119,0.5657,2.2437,-0.4133,-0.8208,0.3942,2.5475,0.3871,0.7842,-0.4850,3.0053,0.2715,0.6543,-0.7058,2.1974,0.2414,0.2896,-0.9262,1.6675,0.3895,-0.3068,-0.8684,1.8015,0.6122,-0.6446,-0.4580,2.1788};
			return value;
		}
		private double[] getInterpolator2_3_38_keyValue_3()
		{
			double[] value = {0.6217,-0.7734,0.1242,2.3839,0.3212,-0.7877,0.5257,2.7489,0.0514,0.6636,-0.7463,2.9146,0.3970,0.3747,-0.8378,2.1902,0.4974,-0.1943,-0.8455,1.9067,0.3663,-0.6883,-0.6262,2.5262,-0.3798,0.7438,0.5500,2.7352,-0.5752,0.4004,0.7133,1.9155,-0.5347,-0.4053,0.7415,2.0508,-0.3701,-0.8654,0.3377,2.6052,-0.1141,-0.9709,-0.2104,2.8244,0.2542,-0.6933,-0.6743,2.6328,0.5906,-0.0075,-0.8069,2.3235,0.4038,0.5525,-0.7291,2.6729,-0.0085,-0.7061,0.7081,2.9731,0.4303,-0.4796,0.7647,2.2777,0.6785,0.0793,0.7303,2.0095,0.4863,0.7542,0.4413,2.1074,0.0660,0.9954,0.0698,2.5569,-0.0888,0.9166,-0.3898,3.0029,0.0399,0.6081,-0.7929,3.0612,0.3056,0.2108,-0.9285,2.6149,0.5149,-0.2429,-0.8221,2.1445,0.6274,-0.5958,-0.5013,2.0425,0.5901,-0.7979,-0.1229,2.4004,0.5495,-0.8071,0.2160,2.9869,-0.5228,0.7234,-0.4509,2.6593,-0.5346,0.5812,-0.6135,2.1131,-0.4964,0.3856,-0.7777,1.7487,-0.3655,0.1118,-0.9241,1.4989,-0.1862,-0.2148,-0.9587,1.3501,-0.0013,-0.5565,-0.8308,1.3841,0.3130,-0.7031,-0.6385,1.3857,0.6237,-0.6426,-0.4451,1.4388,0.8389,-0.4487,-0.3079,1.5085,0.9487,-0.3055,-0.0820,1.3105,0.9712,-0.1168,0.2075,1.1385,0.6093,0.0640,0.7904,0.8280,-0.5865,0.0982,0.8040,0.8661,-0.9942,-0.0963,-0.0478,1.7260,-0.6703,-0.4679,-0.5760,2.8905,-0.2228,0.7999,0.5572,2.2951,-0.6845,0.4037,-0.6070,1.8786,0.5204,-0.4106,-0.7488,1.9290,0.3364,-0.7457,0.5752,2.0783,-0.8378,-0.5170,0.1754,2.9506,0.2413,0.7370,0.6314,1.8158,-0.3409,0.5905,-0.7315,2.5183,0.1744,-0.6634,-0.7277,2.8598,-0.8415,-0.5403,-0.0072,1.4500,0.6138,-0.6794,-0.4022,3.1181,-0.0222,-0.0997,-0.9948,2.1940,-0.1050,0.8311,-0.5462,3.0522,-0.0799,-0.9588,-0.2726,3.0947,0.1549,0.5589,0.8146,2.6794,0.1509,0.0080,0.9885,2.1400,0.0574,-0.4432,0.8946,2.1893,-0.0788,-0.6491,0.7566,2.3927,-0.1117,-0.6910,0.7141,2.7204,-0.0944,-0.7023,0.7056,2.8940,-0.0031,-0.7068,0.7074,3.1110,-0.2915,0.6870,-0.6656,2.8573,-0.6403,0.6364,-0.4301,2.7225,-0.8078,0.5885,0.0334,2.5490,-0.6185,0.5848,0.5248,2.5105,-0.1835,0.6314,0.7535,2.4316,0.1644,0.6708,0.7232,2.6349,0.2978,0.7624,0.5746,3.0191,-0.3597,-0.8436,-0.3987,2.8798,-0.4460,-0.8743,-0.1914,2.3482,-0.5655,-0.8168,0.1141,2.0840,-0.5679,-0.6251,0.5354,2.1313,-0.2056,-0.4971,0.8430,2.2851,0.4531,-0.5275,0.7186,2.4717,0.7116,-0.6990,0.0711,2.8891,-0.3590,0.7443,0.5632,2.5256,0.4766,0.5892,0.6525,1.9601,0.8965,0.3848,0.2196,1.9460,0.9150,0.3816,-0.1311,2.3415,0.7922,0.5492,-0.2662,3.0174,-0.7203,-0.5963,0.3544,2.6909,-0.6948,-0.5483,0.4654,2.0911,-0.6118,-0.4596,0.6438,1.7615,-0.3933,-0.4284,0.8135,1.6609,-0.2354,-0.4997,0.8336,1.6910,-0.0854,-0.6005,0.7950,1.7906};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getInterpolator3_3_39_key_1()
		{
			double[] value = {0.0000,0.0035,0.0070,0.0105,0.0140,0.0175,0.0211,0.0246,0.0281,0.0316,0.0351,0.0386,0.0421,0.0456,0.0491,0.0526,0.0561,0.0596,0.0632,0.0667,0.0702,0.0737,0.0772,0.0807,0.0842,0.0877,0.0912,0.0947,0.0982,0.1018,0.1053,0.1088,0.1123,0.1158,0.1193,0.1228,0.1263,0.1298,0.1333,0.1368,0.1404,0.1439,0.1474,0.1509,0.1544,0.1579,0.1614,0.1649,0.1684,0.1719,0.1754,0.1789,0.1825,0.1860,0.1895,0.1930,0.1965,0.2000,0.2035,0.2070,0.2105,0.2140,0.2175,0.2211,0.2246,0.2281,0.2316,0.2351,0.2386,0.2421,0.2456,0.2491,0.2526,0.2561,0.2596,0.2632,0.2667,0.2702,0.2737,0.2772,0.2807,0.2842,0.2877,0.2912,0.2947,0.2982,0.3018,0.3053,0.3088,0.3123,0.3158,0.3193,0.3228,0.3263,0.3298,0.3333,0.3368,0.3404,0.3439,0.3474,0.3509,0.3544,0.3579,0.3614,0.3649,0.3684,0.3719,0.3754,0.3789,0.3825,0.3860,0.3895,0.3930,0.3965,0.4000,0.4035,0.4070,0.4105,0.4140,0.4175,0.4211,0.4246,0.4281,0.4316,0.4351,0.4386,0.4421,0.4456,0.4491,0.4526,0.4561,0.4596,0.4632,0.4667,0.4702,0.4737,0.4772,0.4807,0.4842,0.4877,0.4912,0.4947,0.4982,0.5018,0.5053,0.5088,0.5123,0.5158,0.5193,0.5228,0.5263,0.5298,0.5333,0.5368,0.5404,0.5439,0.5474,0.5509,0.5544,0.5579,0.5614,0.5649,0.5684,0.5719,0.5754,0.5789,0.5825,0.5860,0.5895,0.5930,0.5965,0.6000,0.6035,0.6070,0.6105,0.6140,0.6175,0.6211,0.6246,0.6281,0.6316,0.6351,0.6386,0.6421,0.6456,0.6491,0.6526,0.6561,0.6596,0.6632,0.6667,0.6702,0.6737,0.6772,0.6807,0.6842,0.6877,0.6912,0.6947,0.6982,0.7018,0.7053,0.7088,0.7123,0.7158,0.7193,0.7228,0.7263,0.7298,0.7333,0.7368,0.7404,0.7439,0.7474,0.7509,0.7544,0.7579,0.7614,0.7649,0.7684,0.7719,0.7754,0.7789,0.7825,0.7860,0.7895,0.7930,0.7965,0.8000,0.8035,0.8070,0.8105,0.8140,0.8175,0.8211,0.8246,0.8281,0.8316,0.8351,0.8386,0.8421,0.8456,0.8491,0.8526,0.8561,0.8596,0.8632,0.8667,0.8702,0.8737,0.8772,0.8807,0.8842,0.8877,0.8912,0.8947,0.8982,0.9018,0.9053,0.9088,0.9123,0.9158,0.9193,0.9228,0.9263,0.9298,0.9333,0.9368,0.9404,0.9439,0.9474,0.9509,0.9544,0.9579,0.9614,0.9649,0.9684,0.9719,0.9754,0.9789,0.9825,0.9860,0.9895,0.9930,0.9965,1.0};
			return value;
		}


		/** Define subarrays using type double[] */
		private double[] getInterpolator3_3_39_keyValue_1()
		{
			double[] value = {0.4076,-0.4915,-0.7696,1.1286,0.4076,-0.4915,-0.7696,1.1286,0.3769,-0.4805,-0.7918,1.2767,0.3920,-0.5347,-0.7486,1.4086,0.4155,-0.5341,-0.7362,1.2493,0.3632,-0.5888,-0.7220,1.1116,0.2549,-0.7172,-0.6486,1.1387,0.1896,-0.8296,-0.5253,1.1772,0.1034,-0.9183,-0.3821,1.2229,0.0442,-0.9733,-0.2251,1.3207,0.0187,-0.9899,-0.1408,1.4986,-0.0545,-0.9903,-0.1280,1.7112,-0.0359,-0.9993,0.0127,1.9737,-0.0595,-0.9894,0.1321,2.2517,0.0029,-0.9726,0.2326,2.6004,0.0511,-0.9598,0.2761,3.0004,-0.0844,0.9694,-0.2306,2.8822,-0.0883,0.9769,-0.1944,2.6296,-0.0722,0.9837,-0.1650,2.4812,0.0167,0.9946,-0.1028,2.2651,0.2282,0.9684,-0.1008,2.2442,0.5117,0.8490,-0.1317,2.0190,0.7884,0.4709,-0.3957,1.7643,0.6878,-0.0898,-0.7204,1.8285,0.4788,-0.4333,-0.7635,2.1411,0.3388,-0.5583,-0.7573,2.4319,0.2997,-0.6397,-0.7078,2.5562,0.3256,-0.7532,-0.5715,2.4374,0.3394,-0.8028,-0.4903,2.2661,0.4016,-0.8501,-0.3407,1.8754,0.4145,-0.8731,-0.2565,1.4975,0.4898,-0.8563,-0.1638,1.0910,0.7320,-0.6808,-0.0254,0.7506,0.9025,-0.4287,-0.0402,0.4799,0.8762,0.4551,0.1584,0.2814,0.2201,0.9721,0.0806,0.4456,-0.1126,0.9913,-0.0685,0.6186,-0.2287,0.9547,-0.1905,0.8343,-0.1037,0.9159,-0.3879,0.9486,-0.0323,0.8067,-0.5901,0.9592,-0.0223,0.5716,-0.8202,1.0166,0.0227,0.2180,-0.9757,1.1590,-0.1469,-0.1183,-0.9821,1.4748,-0.2435,-0.5084,-0.8260,1.7078,-0.3697,-0.6606,-0.6534,2.3841,-0.4625,-0.6843,-0.5637,2.9549,-0.4743,-0.6937,-0.5421,3.1344,-0.4488,-0.6744,-0.5863,3.1377,-0.3667,-0.6440,-0.6714,3.0177,-0.2952,-0.6019,-0.7420,2.9010,-0.3704,-0.4623,-0.8057,2.9049,0.5516,0.2604,0.7924,2.9391,0.7146,0.0337,0.6988,2.6991,0.7638,-0.1573,0.6259,2.6253,0.7597,-0.3015,0.5761,2.6321,0.7156,-0.4291,0.5511,2.6594,0.6821,-0.4931,0.5400,2.4101,0.6926,-0.5539,0.4620,2.0284,0.7702,-0.5035,0.3915,1.7758,0.8320,-0.5480,0.0865,1.6078,0.7566,-0.5629,-0.3328,1.7169,0.6516,-0.4585,-0.6043,2.1379,0.5400,-0.3769,-0.7525,2.8893,-0.6138,0.2819,0.7375,2.7341,-0.7894,0.1642,0.5916,1.9725,-0.9950,0.0934,0.0343,1.5832,-0.8091,-0.0090,-0.5876,1.8190,-0.5049,-0.1162,-0.8553,2.4182,-0.2084,-0.3346,-0.9190,3.0915,0.0511,0.7348,0.6764,3.0655,-0.3283,-0.9189,-0.2187,2.3586,-0.9994,-0.0325,-0.0131,1.5608,0.4874,-0.8249,-0.2862,2.9768,0.5067,0.1356,-0.8514,2.7869,-0.1783,-0.7192,-0.6715,1.0195,0.4656,-0.8365,0.2889,2.8281,0.5604,-0.4756,-0.6781,2.7349,-0.7391,0.6050,-0.2961,1.8753,0.4347,-0.0542,0.8990,2.6624,0.9082,0.4182,0.0190,1.8769,-0.8584,-0.3500,0.3750,2.2169,0.8014,0.2821,-0.5275,0.6350,0.5611,-0.3898,0.7302,2.4906,-0.5136,-0.8260,-0.2323,3.1369,-0.8475,-0.2182,0.4839,1.9443,0.9566,0.2750,-0.0963,2.4140,0.1782,0.5912,0.7866,2.7116,0.2541,-0.6473,-0.7186,1.6562,0.9732,-0.1866,0.1345,1.9254,0.6888,0.3123,0.6543,2.1774,-0.0484,0.9828,-0.1782,2.4920,-0.1577,0.9264,-0.3418,2.8601,0.2786,-0.7161,-0.6400,2.6076,0.0612,0.6134,-0.7874,2.9968,0.5626,-0.4433,-0.6978,2.1553,-0.4700,-0.5829,0.6628,2.4254,0.8456,-0.3792,-0.3758,1.6860,0.0121,0.7244,-0.6893,2.5898,0.6770,0.4718,0.5648,2.8005,-0.7572,0.0903,0.6469,2.2105};
			return value;
		}
		private double[] getInterpolator3_3_39_keyValue_2()
		{
			double[] value = {0.6064,-0.5646,0.5600,0.9282,-0.6373,-0.7679,-0.0642,2.4916,0.7569,-0.1680,-0.6315,2.9512,-0.4708,-0.5316,0.7040,1.2975,0.4347,0.5920,0.6786,2.0931,-0.4731,-0.8186,-0.3257,2.8303,-0.3444,-0.9382,0.0347,2.6227,-0.1723,-0.9827,0.0679,2.8814,-0.0868,-0.9957,-0.0315,3.0287,-0.0904,-0.9737,-0.2093,3.0475,-0.1190,-0.9395,-0.3213,2.8255,-0.1398,-0.9049,-0.4020,2.5333,-0.3053,-0.8673,-0.3931,2.4564,-0.5624,-0.7757,-0.2862,2.6780,-0.7711,-0.5522,-0.3168,3.0185,0.8452,0.2088,0.4919,2.8405,0.8259,-0.1024,0.5545,2.1193,0.7634,-0.4974,0.4121,1.4242,0.2909,-0.9440,-0.1558,0.8056,-0.6559,-0.2747,-0.7031,1.1749,-0.5383,0.5036,-0.6758,2.0717,0.0395,-0.8957,0.4430,3.0634,-0.3576,-0.9304,-0.0803,2.2362,-0.2942,-0.6739,-0.6777,2.1357,-0.0640,-0.5966,-0.8000,2.8090,-0.0168,0.7625,0.6468,3.1199,0.1834,0.9045,0.3849,3.0928,-0.5026,-0.8379,-0.2127,2.8656,-0.7117,-0.6645,-0.2280,2.3071,-0.8699,-0.2612,-0.4184,1.9701,-0.7946,0.2573,-0.5499,1.9460,-0.5119,0.6008,-0.6141,2.2092,-0.2261,0.7427,-0.6303,2.4320,0.0361,0.7597,-0.6493,2.5351,0.3126,0.6555,-0.6875,2.7264,0.4640,0.4178,-0.7811,2.8813,-0.4291,-0.1211,0.8951,3.1011,-0.1168,0.0756,0.9903,2.3743,0.4544,-0.1066,0.8844,1.4179,0.6030,-0.7966,-0.0424,1.3572,0.0906,-0.8526,-0.5147,2.3252,0.4410,0.6858,0.5789,2.6711,0.8969,0.3075,0.3179,1.6163,0.7559,-0.4397,-0.4850,1.3081,0.0504,-0.6204,-0.7827,2.1656,0.4056,0.5214,0.7508,3.0244,0.6998,0.3910,0.5978,2.1807,0.9529,0.2389,0.1869,1.5986,0.8157,0.0488,-0.5764,1.8479,0.5668,0.1162,-0.8156,3.0810,-0.7638,-0.4269,0.4841,1.8421,-0.8019,-0.4689,-0.3704,2.5211,0.7511,0.4673,0.4664,1.8506,0.0931,0.8091,-0.5803,1.7795,0.3599,-0.6024,0.7124,1.7282,0.9946,0.0710,-0.0756,2.6536,0.1292,0.6617,-0.7386,1.5933,0.1300,-0.8182,0.5600,1.0691,0.8595,-0.4898,-0.1464,2.0309,-0.7151,-0.6360,0.2901,1.4959,-0.3565,0.9335,-0.0392,3.0160,0.0859,0.6401,0.7635,2.5966,-0.4587,0.8223,-0.3367,1.7518,0.1975,-0.1319,0.9714,1.7351,0.8035,0.3383,0.4899,3.0188,-0.0439,0.9424,-0.3316,2.5619,-0.3837,0.2157,0.8979,2.9453,0.3145,-0.9325,-0.1774,1.1044,-0.4766,-0.6214,0.6218,2.2506,-0.2817,0.9589,-0.0336,2.3410,0.5600,-0.0478,-0.8271,2.3692,0.7127,-0.1083,0.6930,1.4660,0.0767,0.9832,0.1656,2.7996,-0.4554,0.1383,-0.8795,1.3388,-0.6711,-0.4275,0.6057,1.3591,0.3028,0.7689,0.5631,2.6201,-0.4403,0.7902,-0.4262,2.5361,0.7144,-0.5526,-0.4293,2.0341,0.2353,0.6478,-0.7246,2.4823,-0.9152,-0.3606,0.1796,2.8510,0.6289,0.6897,0.3589,1.8381,-0.4990,-0.3865,-0.7756,2.8159,-0.8228,0.2752,-0.4973,1.6275,0.9312,-0.2754,0.2390,2.9281,0.1637,0.8341,0.5267,2.3366,-0.1976,0.6943,-0.6920,2.7569,0.7493,0.3309,0.5737,1.8128,-0.2685,-0.9623,-0.0444,3.0560,-0.0705,-0.9457,0.3174,2.7602,0.0417,-0.9310,0.3625,2.7215,0.1249,-0.9656,0.2281,2.7860,0.0541,-0.9778,0.2027,2.9285,-0.1288,-0.9690,0.2107,2.9923,-0.3463,-0.9378,-0.0243,3.1221,0.5294,0.7235,0.4430,2.7536,0.3338,0.6945,0.6373,1.6642,0.2426,0.9238,-0.2960,1.7436,-0.6234,-0.5771,0.5276,3.0818,-0.9565,-0.0198,0.2911,2.4877,-0.8163,0.5655,0.1179,2.7875};
			return value;
		}
		private double[] getInterpolator3_3_39_keyValue_3()
		{
			double[] value = {0.4126,-0.8927,-0.1810,2.6120,0.3277,-0.7594,-0.5621,2.0575,0.4883,-0.6606,-0.5702,2.5384,0.3759,-0.8993,-0.2234,2.6650,-0.1249,-0.9918,-0.0255,2.2430,-0.6870,-0.7183,-0.1101,1.6180,-0.6866,0.2985,-0.6629,1.6979,-0.1082,0.7516,-0.6507,3.0989,-0.1944,-0.9101,0.3659,1.7399,0.1084,-0.9260,-0.3616,1.2315,0.5397,-0.5987,-0.5918,2.0532,-0.6174,0.5577,0.5548,2.9457,-0.7680,0.6037,0.2140,1.8395,-0.8548,0.3630,-0.3710,1.7312,-0.7999,0.1603,-0.5783,2.4358,0.8705,-0.1029,0.4813,2.9793,0.9387,-0.2311,0.2560,2.2208,0.8263,-0.4855,-0.2854,1.8986,0.3110,-0.7001,-0.6428,2.5819,0.2784,0.6544,0.7030,2.6314,0.8373,0.3474,0.4221,1.7802,0.9038,-0.3489,-0.2479,1.6977,0.3654,-0.6825,-0.6330,2.4362,0.0837,0.6284,0.7734,2.8754,0.4145,0.4454,0.7936,2.0187,0.7462,0.0511,0.6638,1.2344,0.6781,-0.7342,0.0336,0.7778,-0.1485,-0.7026,-0.6959,0.8737,-0.5285,-0.1283,-0.8392,1.4250,-0.5556,0.3489,-0.7547,2.0018,-0.2758,0.7771,-0.5657,2.5260,0.2706,0.9363,-0.2237,2.6442,0.7730,0.6239,0.1146,2.0930,0.9015,-0.3148,0.2970,1.2161,-0.5528,-0.7621,0.3371,1.1604,-0.9164,0.2463,0.3155,2.6452,0.3085,-0.5380,-0.7845,1.9611,0.0921,-0.7863,0.6109,3.1235,0.5712,-0.4835,-0.6633,2.6499,0.0517,0.2388,-0.9697,1.9702,-0.8886,-0.4474,-0.1014,1.0966,0.7682,-0.1106,-0.6306,2.1425,0.3921,-0.0347,-0.9193,1.4256,-0.7773,-0.3943,0.4902,1.9509,0.1026,-0.1717,-0.9798,2.1520,-0.0961,-0.9366,-0.3371,2.1580,-0.8806,0.4532,0.1384,2.0797,0.2637,-0.3398,-0.9028,1.6440,0.8673,-0.4930,0.0687,3.1058,-0.7195,-0.4861,0.4961,1.4984,0.8183,0.0232,0.5744,3.1080,-0.1030,0.9028,0.4176,2.1778,-0.3532,-0.6534,-0.6696,1.8590,-0.5200,-0.4060,0.7515,2.8495,-0.1658,0.5117,-0.8430,1.4413,0.9903,0.1337,0.0378,1.1806,-0.9673,-0.0559,0.2475,1.2643,0.1892,0.7042,0.6843,1.5860,-0.2642,0.9512,0.1595,1.9625,-0.0533,-0.9007,0.4311,2.9528,0.4806,-0.6244,-0.6158,2.3166,-0.5631,-0.6256,0.5400,1.4882,0.6270,0.6518,0.4265,2.4209,-0.7593,-0.4870,0.4316,1.8090,0.9904,0.1147,0.0771,2.4970,-0.2068,0.8411,0.4999,2.0727,-0.5686,0.6795,-0.4636,2.3418,0.1439,0.5059,-0.8505,2.2257,0.7353,0.2196,-0.6412,1.8690,0.8566,-0.4532,-0.2468,1.7572,0.5390,-0.8292,0.1482,2.6405,-0.3001,0.7787,-0.5510,2.8055,0.0278,0.5366,-0.8434,2.9208,-0.5211,-0.2195,0.8248,2.9157,-0.9301,0.1280,0.3443,2.7981,0.8370,-0.4201,0.3506,2.9198,0.5040,-0.3614,0.7844,1.7205,0.4984,0.0459,0.8657,0.9992,0.8875,0.3268,0.3248,1.2855,0.9933,-0.0835,0.0804,2.1256,0.8877,-0.3946,0.2373,2.8828,0.4947,-0.6826,0.5379,3.1277,-0.1094,-0.6973,0.7083,2.9901,-0.6527,-0.4615,0.6008,2.7229,-0.9366,-0.1455,0.3186,2.7823,-0.9963,0.0509,0.0689,3.0582};
			return value;
		}

		/** Large attribute array: ScalarInterpolator DEF='DiscreteFrameStepper' key field, scene-graph level=3, element #35, 571 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 MFFloat getDiscreteFrameStepper_3_35_key()
		{
			MFFloat DiscreteFrameStepper_3_35_key = new MFFloat()/*2.finalize*/
				.append(new MFFloat(getDiscreteFrameStepper_3_35_key_1()));
			return DiscreteFrameStepper_3_35_key;
		}
		/** Large attribute array: ScalarInterpolator DEF='DiscreteFrameStepper' keyValue field, scene-graph level=3, element #35, 571 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 MFFloat getDiscreteFrameStepper_3_35_keyValue()
		{
			MFFloat DiscreteFrameStepper_3_35_keyValue = new MFFloat()/*2.finalize*/
				.append(new MFFloat(getDiscreteFrameStepper_3_35_keyValue_1()));
			return DiscreteFrameStepper_3_35_keyValue;
		}
		/** Large attribute array: OrientationInterpolator DEF='Interpolator1' key field, scene-graph level=3, element #37, 286 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 MFFloat getInterpolator1_3_37_key()
		{
			MFFloat Interpolator1_3_37_key = new MFFloat()/*2.finalize*/
				.append(new MFFloat(getInterpolator1_3_37_key_1()));
			return Interpolator1_3_37_key;
		}
		/** Large attribute array: OrientationInterpolator DEF='Interpolator1' keyValue field, scene-graph level=3, element #37, 1144 total numbers made up of 286 4-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 MFRotation getInterpolator1_3_37_keyValue()
		{
			MFRotation Interpolator1_3_37_keyValue = new MFRotation()/*2.finalize*/
				.append(new MFRotation(getInterpolator1_3_37_keyValue_1()))
				.append(new MFRotation(getInterpolator1_3_37_keyValue_2()))
				.append(new MFRotation(getInterpolator1_3_37_keyValue_3()));
			return Interpolator1_3_37_keyValue;
		}
		/** Large attribute array: OrientationInterpolator DEF='Interpolator2' key field, scene-graph level=3, element #38, 286 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 MFFloat getInterpolator2_3_38_key()
		{
			MFFloat Interpolator2_3_38_key = new MFFloat()/*2.finalize*/
				.append(new MFFloat(getInterpolator2_3_38_key_1()));
			return Interpolator2_3_38_key;
		}
		/** Large attribute array: OrientationInterpolator DEF='Interpolator2' keyValue field, scene-graph level=3, element #38, 1144 total numbers made up of 286 4-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 MFRotation getInterpolator2_3_38_keyValue()
		{
			MFRotation Interpolator2_3_38_keyValue = new MFRotation()/*2.finalize*/
				.append(new MFRotation(getInterpolator2_3_38_keyValue_1()))
				.append(new MFRotation(getInterpolator2_3_38_keyValue_2()))
				.append(new MFRotation(getInterpolator2_3_38_keyValue_3()));
			return Interpolator2_3_38_keyValue;
		}
		/** Large attribute array: OrientationInterpolator DEF='Interpolator3' key field, scene-graph level=3, element #39, 286 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 MFFloat getInterpolator3_3_39_key()
		{
			MFFloat Interpolator3_3_39_key = new MFFloat()/*2.finalize*/
				.append(new MFFloat(getInterpolator3_3_39_key_1()));
			return Interpolator3_3_39_key;
		}
		/** Large attribute array: OrientationInterpolator DEF='Interpolator3' keyValue field, scene-graph level=3, element #39, 1144 total numbers made up of 286 4-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 MFRotation getInterpolator3_3_39_keyValue()
		{
			MFRotation Interpolator3_3_39_keyValue = new MFRotation()/*2.finalize*/
				.append(new MFRotation(getInterpolator3_3_39_keyValue_1()))
				.append(new MFRotation(getInterpolator3_3_39_keyValue_2()))
				.append(new MFRotation(getInterpolator3_3_39_keyValue_3()));
			return Interpolator3_3_39_keyValue;
		}

	/** 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 RotationTests 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 RotationTests().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: \"HumanoidAnimation.MotionAnimation.RotationTests\" model invocation is attempting to load file \"" + fileName + "\" instead of simply validating itself... file loading ignored.");
        else if (hasArguments) // if no arguments provided, this method produces usage warning
                thisExampleX3dModel.handleArguments(args);
	
        if (validate)
        {
            //  System.out.println("--- TODO fix duplicated outputs ---"); // omit when duplicated outputs problem is solved/refactored
		String validationResults = thisExampleX3dModel.validationReport();
            //  System.out.println("-----------------------------------"); // omit when duplicated outputs problem is solved/refactored
                System.out.print("HumanoidAnimation.MotionAnimation.RotationTests self-validation test confirmation: ");
                if (!validationResults.equals("success"))
                    System.out.println();
                System.out.println(validationResults.trim());

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