コード例 #1
0
        private void drawBoundTrail(PolyWPoints poly, bool adjusted, Graphics g)
        {
            List<TtPoint> polyPoints = poly.points.Where(p => p.IsBndPoint()).ToList();
            List<Point> adjForDrawPoints = new List<Point>();

            if (polyPoints.Count < 3)
                return;

            if (MapValues.closeBounds)
            {
                if ((polyPoints[0].AdjX != polyPoints[polyPoints.Count - 1].AdjX) ||
                    (polyPoints[0].AdjY != polyPoints[polyPoints.Count - 1].AdjY))
                {
                    polyPoints.Add(polyPoints[0]);
                }
            }

            double px = 0, py = 0;

            Point currPoint = new Point();

            foreach(TtPoint pt in polyPoints)
            {
                if (adjusted)
                {
                    px = pt.AdjX;
                    py = pt.AdjY;

                    currPoint = calcPointLocation(px, py);
                }
                else
                {
                    px = pt.UnAdjX;
                    py = pt.UnAdjY;

                    currPoint = calcPointLocation(px, py);
                }

                adjForDrawPoints.Add(currPoint);
            }

            try
            {
                if (adjusted)
                {
                    g.DrawLines(penAdjBound, adjForDrawPoints.ToArray());
                }
                else
                {
                    g.DrawLines(penUnAdjBound, adjForDrawPoints.ToArray());
                }
            }
            catch (Exception ex)
            {
                TtUtils.WriteError(ex.Message, "MapFormLogic- BoundTrail", ex.StackTrace);
            }
        }
コード例 #2
0
        private void drawNavTrail(PolyWPoints poly, bool adjusted, Graphics g)
        {
            List<Point> adjForDrawPoints = new List<Point>();
            double px = 0, py = 0;

            Point currPoint = new Point();

            foreach(TtPoint pt in poly.points)
            {
                if (pt.IsNavPoint())
                {
                    if (adjusted)
                    {
                        px = pt.AdjX;
                        py = pt.AdjY;

                        currPoint = calcPointLocation(px, py);
                    }
                    else
                    {
                        px = pt.UnAdjX;
                        py = pt.UnAdjY;

                        currPoint = calcPointLocation(px, py);
                    }

                    adjForDrawPoints.Add(currPoint);
                }
            }

            try
            {
                if (adjusted)
                {
                    g.DrawLines(penAdjNav, adjForDrawPoints.ToArray());
                }
                else
                {
                    g.DrawLines(penUnAdjNav, adjForDrawPoints.ToArray());
                }
            }
            catch (Exception ex)
            {
                TtUtils.WriteError(ex.Message, "MapFormLogic- NavTrail", ex.StackTrace);
            }
        }