コード例 #1
0
        public void CheckPosition()
        {
            string test =
                @"<?xml version=""1.0""?>
                    <initialize name=""reset00"">
                      <!--
                        This file sets up the mk82 to start off
                        from altitude.
                      -->
                      <latitude unit=""DEG"">   47.0  </latitude>
                      <longitude unit=""DEG"">-110.0  </longitude>
                      <altitude unit=""FT""> 10000.0  </altitude>
                    </initialize>";

            FDMExecutive     fdm  = new FDMExecutive();
            XmlElement       elem = BuildXmlConfig(test);
            InitialCondition IC   = fdm.GetIC();

            IC.Load(elem, false);

            if (log.IsDebugEnabled)
            {
                log.Debug("Testing JSBSim Initial Conditions: Lat, long, alt.");
            }

            //Checks values
            Assert.AreEqual(47.0, IC.GetLatitudeDegIC(), tolerance, "latitude in deg.");
            Assert.AreEqual(-110.0, IC.GetLongitudeDegIC(), tolerance, "longitude in deg.");
            Assert.AreEqual(10000.0, IC.GetAltitudeASLFtIC(), tolerance * 1000, "Altitude in Ft");
        }
コード例 #2
0
        public void TestSetPositionAGL()
        {
            FDMExecutive     fdmex = new FDMExecutive();
            InitialCondition ic    = new InitialCondition(fdmex);

            ic.SetTerrainElevationFtIC(2000.0);

            for (double lon = -180.0; lon <= 180.0; lon += 30.0)
            {
                ic.SetLongitudeDegIC(lon);

                // Altitude first, then latitude
                for (double agl = 1.0; agl <= 1000001.0; agl += 10000.0)
                {
                    ic.SetAltitudeAGLFtIC(agl);
                    for (double lat = -90.0; lat <= 90.0; lat += 10.0)
                    {
                        ic.SetLatitudeDegIC(lat);

                        Assert.AreEqual(lon, ic.GetLongitudeDegIC(), tolerance * 100.0);
                        Assert.AreEqual(lon * Math.PI / 180.0, ic.GetLongitudeRadIC(), tolerance);
                        Assert.AreEqual(1.0, ic.GetAltitudeASLFtIC() / (agl + 2000.0), 2E-8);
                        Assert.AreEqual(1.0, ic.GetAltitudeAGLFtIC() / agl, 2E-8);
                        Assert.AreEqual(lat, ic.GetLatitudeDegIC(), tolerance * 10.0);
                        Assert.AreEqual(lat * Math.PI / 180.0, ic.GetLatitudeRadIC(), tolerance);
                    }
                }

                // Latitude first, then altitude
                for (double lat = -90.0; lat <= 90.0; lat += 10.0)
                {
                    ic.SetLatitudeDegIC(lat);
                    for (double agl = 1.0; agl <= 1000001.0; agl += 10000.0)
                    {
                        ic.SetAltitudeAGLFtIC(agl);

                        Assert.AreEqual(lon, ic.GetLongitudeDegIC(), tolerance * 100.0);
                        Assert.AreEqual(lon * Math.PI / 180.0, ic.GetLongitudeRadIC(), tolerance);
                        Assert.AreEqual(1.0, ic.GetAltitudeASLFtIC() / (agl + 2000.0), 2E-8);
                        Assert.AreEqual(1.0, ic.GetAltitudeAGLFtIC() / agl, 2E-8);
                        Assert.AreEqual(lat, ic.GetLatitudeDegIC(), tolerance * 100.0);
                        Assert.AreEqual(lat * Math.PI / 180.0, ic.GetLatitudeRadIC(), tolerance);
                    }
                }
            }
        }
コード例 #3
0
        public void TestDefaultConstructor()
        {
            FDMExecutive     fdmex = new FDMExecutive();
            InitialCondition ic    = new InitialCondition(fdmex);

            Assert.AreEqual(0.0, ic.GetLatitudeDegIC());
            Assert.AreEqual(0.0, ic.GetLatitudeRadIC());
            Assert.AreEqual(0.0, ic.GetLongitudeDegIC());
            Assert.AreEqual(0.0, ic.GetLongitudeRadIC());
            Assert.AreEqual(0.0, ic.GetGeodLatitudeDegIC());
            Assert.AreEqual(0.0, ic.GetGeodLatitudeRadIC());
            Assert.AreEqual(0.0, ic.GetThetaDegIC());
            Assert.AreEqual(0.0, ic.GetThetaRadIC());
            Assert.AreEqual(0.0, ic.GetPhiDegIC());
            Assert.AreEqual(0.0, ic.GetPhiRadIC());
            Assert.AreEqual(0.0, ic.GetPsiDegIC());
            Assert.AreEqual(0.0, ic.GetPsiRadIC());
            Assert.AreEqual(0.0, ic.GetAltitudeASLFtIC());
            Assert.AreEqual(0.0, ic.GetAltitudeAGLFtIC());
            Assert.AreEqual(0.0, ic.GetEarthPositionAngleIC());
            Assert.AreEqual(0.0, ic.GetTerrainElevationFtIC());
            Assert.AreEqual(0.0, ic.GetVcalibratedKtsIC());
            Assert.AreEqual(0.0, ic.GetVequivalentKtsIC());
            Assert.AreEqual(0.0, ic.GetVgroundFpsIC());
            Assert.AreEqual(0.0, ic.GetVtrueFpsIC());
            Assert.AreEqual(0.0, ic.GetMachIC());
            Assert.AreEqual(0.0, ic.GetClimbRateFpsIC());
            Assert.AreEqual(0.0, ic.GetFlightPathAngleDegIC());
            Assert.AreEqual(0.0, ic.GetFlightPathAngleRadIC());
            Assert.AreEqual(0.0, ic.GetAlphaDegIC());
            Assert.AreEqual(0.0, ic.GetAlphaRadIC());
            Assert.AreEqual(0.0, ic.GetBetaDegIC());
            Assert.AreEqual(0.0, ic.GetBetaDegIC());
            Assert.AreEqual(0.0, ic.GetBetaRadIC());
            Assert.AreEqual(0.0, ic.GetWindFpsIC());
            Assert.AreEqual(0.0, ic.GetWindDirDegIC());
            Assert.AreEqual(0.0, ic.GetWindUFpsIC());
            Assert.AreEqual(0.0, ic.GetWindVFpsIC());
            Assert.AreEqual(0.0, ic.GetWindWFpsIC());
            Assert.AreEqual(0.0, ic.GetWindNFpsIC());
            Assert.AreEqual(0.0, ic.GetWindEFpsIC());
            Assert.AreEqual(0.0, ic.GetWindDFpsIC());
            Assert.AreEqual(0.0, ic.GetUBodyFpsIC());
            Assert.AreEqual(0.0, ic.GetVBodyFpsIC());
            Assert.AreEqual(0.0, ic.GetWBodyFpsIC());
            Assert.AreEqual(0.0, ic.GetVNorthFpsIC());
            Assert.AreEqual(0.0, ic.GetVEastFpsIC());
            Assert.AreEqual(0.0, ic.GetVDownFpsIC());
            Assert.AreEqual(0.0, ic.GetPRadpsIC());
            Assert.AreEqual(0.0, ic.GetQRadpsIC());
            Assert.AreEqual(0.0, ic.GetRRadpsIC());
            //  TS_ASSERT_VECTOR_EQUALS(ic.GetWindNEDFpsIC(), zero);
            //TS_ASSERT_VECTOR_EQUALS(ic.GetUVWFpsIC(), zero);
            //TS_ASSERT_VECTOR_EQUALS(ic.GetPQRRadpsIC(), zero);
        }