public EvaluationContext(IUniverseEvaluator evaluator, List <double> steps, CelestialBody targetBody = null, Waypoint waypoint = null)
 {
     this.evaluator  = evaluator;
     this.targetBody = targetBody ?? waypoint?.celestialBody;
     this.waypoint   = waypoint;
     this.steps      = steps;
 }
            public WaypointPositionEntry(IUniverseEvaluator evaluator, double latitude, double longitude, CelestialBody body, double time, Vector3d bodyPosition)
            {
                this.id   = Id(latitude, longitude);
                this.time = time;

                this.position = evaluator.GetWaypointPosition(latitude, longitude, body, bodyPosition, time);
            }
        public IUniverseEvaluator GetUniverseEvaluator()
        {
            if (evaluator != null)
            {
                return(evaluator);
            }

            evaluator = Principia.GetUniverseEvaluator() ?? new StockUniverseEvaluator();

            return(evaluator);
        }
 public WaypointPositionEntry(IUniverseEvaluator evaluator, Waypoint waypoint, double time, Vector3d bodyPosition)
     : this(evaluator, waypoint.latitude, waypoint.longitude, waypoint.celestialBody, time, bodyPosition)
 {
 }
 public BodyPositionEntry(IUniverseEvaluator evaluator, CelestialBody body, double time)
 {
     this.flightGlobalsIndex = body.flightGlobalsIndex;
     this.time     = time;
     this.position = evaluator.GetBodyPosition(body, time);
 }
 public VesselPositionEntry(IUniverseEvaluator evaluator, Vessel vessel, Vector3d vesselBodyPosition, double time)
 {
     this.vessel   = vessel;
     this.time     = time;
     this.position = evaluator.GetVesselPosition(vessel, vesselBodyPosition, time);
 }