/// <summary> /// Set the time horizon start time for an <see cref="ITimeSet"/>, assuming it is a /// <see cref="TimeSet"/>, if not, an exception is thrown. End time is unchanged, /// i.e. the duration will change. /// </summary> /// <param name="timeSet">Time set to update</param> /// <param name="timeHorizonStart">New time horizon start time</param> public static void SetTimeHorizonStart(this ITimeSet timeSet, ITime timeHorizonStart) { double startMjd = timeHorizonStart.StampAsModifiedJulianDay; double endMjd = timeSet.TimeHorizon.EndStampAsModifiedJulianDay(); ITime newHorizon = new Time(startMjd, endMjd - startMjd); timeSet.SetTimeHorizon(newHorizon); }