void ComputeTimes(Orbit o, Orbit destination, double universalTime)
		{
			if (destination == null || o == null || o.referenceBody.orbit == null)
				return;

			double synodic_period = o.referenceBody.orbit.SynodicPeriod(destination);
			double hohmann_transfer_time = OrbitUtil.GetTransferTime(o.referenceBody.orbit, destination);

			minDepartureTime = universalTime;
			minTransferTime = 3600;

			maxDepartureTime = minDepartureTime + synodic_period * 1.5;
			maxTransferTime = hohmann_transfer_time * 1.5;
			maxArrivalTime.val = (synodic_period + hohmann_transfer_time) * 1.5;
		}
        void ComputeTimes(Orbit o, Orbit destination, double universalTime)
        {
            if (destination == null || o == null || o.referenceBody.orbit == null)
            {
                return;
            }

            double synodic_period        = o.referenceBody.orbit.SynodicPeriod(destination);
            double hohmann_transfer_time = OrbitUtil.GetTransferTime(o.referenceBody.orbit, destination);

            // Both orbit have the same period
            if (double.IsInfinity(synodic_period))
            {
                synodic_period = o.referenceBody.orbit.period;
            }

            minDepartureTime = universalTime;
            minTransferTime  = 3600;

            maxDepartureTime   = minDepartureTime + synodic_period * 1.5;
            maxTransferTime    = hohmann_transfer_time * 2.0;
            maxArrivalTime.val = synodic_period * 1.5 + hohmann_transfer_time * 2.0;
        }