def apply(self, satellite: Satellite) -> ManeuverCost: orbit = satellite.orbit cur_theta = satellite.true_anomaly() new_theta = cur_theta + self.delta_theta # Find the difference in s and wait by that much cur_s = satellite.true_to_universal_anomaly(cur_theta) new_s = satellite.true_to_universal_anomaly(new_theta) delta_s = new_s - cur_s satellite.wait_s(delta_s) return ManeuverCost(delta_t=satellite.delta_s_to_t(delta_s))