public List <IPlanNode> Create()
        {
            // We compute the flight backwards - from destination to origin.

            var planNodes = new List <IPlanNode>();

            IPlanNode prevPlanNode = new PlanNode(
                route.Last.Value,
                windTable,
                route.Last,
                route.Last.Value.Waypoint,
                DestElevationFt(),
                zfw + landingFuel,
                landingFuel,
                0.0,
                fuelData.DescendKias);

            planNodes.Add(prevPlanNode);

            while (prevPlanNode.PrevRouteNode != null)
            {
                var nextPlanNodeInfo = GetNextPara(prevPlanNode);
                prevPlanNode = NextPlanNode(prevPlanNode, nextPlanNodeInfo);
                planNodes.Add(prevPlanNode);
            }

            planNodes.Reverse();
            return(planNodes);
        }
Beispiel #2
0
        private static IPlanNode ChangeValue(IPlanNode n, object nodeValue)
        {
            var node = PlanNode.Copy(n);

            node.NodeValue = nodeValue;
            return(node);
        }