Exemplo n.º 1
0
        private static void HardsetOrbit(OrbitDriver orbitDriver, Orbit newOrbit)
        {
            Log.Info("HardsetOrbit");
            var orbit = orbitDriver.orbit;

            orbit.inclination         = newOrbit.inclination;
            orbit.eccentricity        = newOrbit.eccentricity;
            orbit.semiMajorAxis       = newOrbit.semiMajorAxis;
            orbit.LAN                 = newOrbit.LAN;
            orbit.argumentOfPeriapsis = newOrbit.argumentOfPeriapsis;
            orbit.meanAnomalyAtEpoch  = newOrbit.meanAnomalyAtEpoch;
            orbit.epoch               = newOrbit.epoch;
            orbit.referenceBody       = newOrbit.referenceBody;
            orbit.Init();
            orbit.UpdateFromUT(Planetarium.GetUniversalTime());
            if (orbit.referenceBody != newOrbit.referenceBody)
            {
                if (orbitDriver.OnReferenceBodyChange != null)
                {
                    orbitDriver.OnReferenceBodyChange(newOrbit.referenceBody);
                }
            }
            RateLimitedLogger.Log(HardsetOrbitLogObject,
                                  string.Format("Orbit \"{0}\" changed to: inc={1} ecc={2} sma={3} lan={4} argpe={5} mep={6} epoch={7} refbody={8}",
                                                orbitDriver.OrbitDriverToString(), orbit.inclination, orbit.eccentricity, orbit.semiMajorAxis,
                                                orbit.LAN, orbit.argumentOfPeriapsis, orbit.meanAnomalyAtEpoch, orbit.epoch, orbit.referenceBody.CbToString()));
        }
Exemplo n.º 2
0
        private static void HardsetOrbit(OrbitDriver orbitDriver, Orbit newOrbit)
        {
            var orbit = orbitDriver.orbit;

            orbit.inclination         = newOrbit.inclination;
            orbit.eccentricity        = newOrbit.eccentricity;
            orbit.semiMajorAxis       = newOrbit.semiMajorAxis;
            orbit.LAN                 = newOrbit.LAN;
            orbit.argumentOfPeriapsis = newOrbit.argumentOfPeriapsis;
            orbit.meanAnomalyAtEpoch  = newOrbit.meanAnomalyAtEpoch;
            orbit.epoch               = newOrbit.epoch;
            orbit.referenceBody       = newOrbit.referenceBody;
            orbit.Init();
            orbit.UpdateFromUT(Planetarium.GetUniversalTime());
            if (orbit.referenceBody != newOrbit.referenceBody)
            {
                if (orbitDriver.OnReferenceBodyChange != null)
                {
                    orbitDriver.OnReferenceBodyChange(newOrbit.referenceBody);
                }
            }
        }
 public static void SetNewOrbit(OrbitDriver driver, Orbit oldOrbit)
 {
     var orbit = driver.orbit;
         orbit.inclination = driver.orbit.inclination;
         orbit.eccentricity = driver.orbit.eccentricity;
         orbit.semiMajorAxis = (driver.orbit.semiMajorAxis - DecayValue);
         orbit.LAN = driver.orbit.LAN;
         orbit.argumentOfPeriapsis = driver.orbit.argumentOfPeriapsis;
         orbit.meanAnomalyAtEpoch = driver.orbit.meanAnomalyAtEpoch;
         orbit.epoch = driver.orbit.epoch;
         orbit.referenceBody = driver.orbit.referenceBody;
         orbit.Init();
         orbit.UpdateFromUT(Planetarium.GetUniversalTime());
         if (orbit.referenceBody != driver.orbit.referenceBody)
         {
             if (driver.OnReferenceBodyChange != null)
                 driver.OnReferenceBodyChange(driver.orbit.referenceBody);
         }
 }