예제 #1
0
    public void Render(Graphics g)
    {
        this.Dots.Clear();
        float x = 0;
        float y = 0;

        for (int i = 0; i < RowCount; i++)
        {
            for (int j = 0; j < ColumnCount; j++)
            {
                {
                    Dot dot = new Dot();
                    dot.Location = new PointF(x, y);
                    using (SolidBrush brush = new SolidBrush(ColorTranslator.FromHtml("#009aff")))
                    {
                        g.FillEllipse(brush, dot.Location.X, dot.Location.Y, DotRadius, DotRadius);
                    }
                    x += (DotRadius + ColumnSpacing);
                    Dots.Add(dot);
                }
            }
            x  = 0;
            y += (DotRadius + this.RowSpacing);
        }
    }
예제 #2
0
        //добавление элемента из архива
        //public void AddBefore(MomentValue dot)
        //{
        //    if (dot.Undef % 2 != 0) dot.ToMomentReal().Mean = Dots.ParamsCount != 0 ? Dots.Last().ToMomentReal().Mean : 0;
        //    Dots.Insert(0, dot);
        //}
        //public void AddBefore(List<MomentValue> dots)
        //{
        //    if (dots[0].Undef % 2 != 0) dots.Insert(0, new MomentReal(dots[0].Time, 0, -1, 0, 0));
        //    for (int index = dots.ParamsCount-1; index >= 0; index--)
        //    {
        //        var momentValue = dots[index];
        //        if (momentValue.Undef % 2 != 0) momentValue.ToMomentReal().Mean = dots[index + 1].ToMomentReal().Mean;
        //        Dots.Insert(0, momentValue);
        //    }
        //}

        //добавление элемента
        public void AddValues(MomentValue dot)
        {
            if (!IsUpdated)
            {
                IsUpdated            = true;
                NumberOfFirstWaiting = Dots.Count;
            }
            //if (dot.Nd % 2 != 0) dot.ToMomentReal().Mean = Dots.Count != 0 ? Dots.Last().ToMomentReal().Mean : 0;
            Dots.Add(dot);
        }
예제 #3
0
        //Добавить значение на график
        public void AddDot(MomentReal dot)
        {
            Dots.Add(dot);

            if ((_minValue == null) || (dot.Mean < _minValue))
            {
                _minValue = dot.Mean;
            }
            if ((_maxValue == null) || (dot.Mean > _maxValue))
            {
                _maxValue = dot.Mean;
            }
        }
예제 #4
0
        public void AddValues(List <MomentValue> dots)
        {
            //if (dots[0].Nd % 2 != 0) dots.Insert(0, new MomentReal(dots[0].Time.AddMilliseconds(-1), 0, 0));

            if (!IsUpdated)
            {
                IsUpdated            = true;
                NumberOfFirstWaiting = Dots.Count;
            }

            foreach (var momentValue in dots)
            {
                //if (momentValue.Nd % 2 != 0) momentValue.ToMomentReal().Mean = Dots.Last().ToMomentReal().Mean;
                Dots.Add(momentValue);
            }
            //Dots.Sort(CompareMomentVal);
        }
예제 #5
0
        //Добавить значение на график
        public void AddDot(MomentReal dot)
        {
            Dots.Add(dot);

            bool fg = false;

            if ((MinValue == null) || (dot.Mean < MinValue))
            {
                MinValue = dot.Mean; fg = true;
            }
            if ((MaxValue == null) || (dot.Mean > MaxValue))
            {
                MaxValue = dot.Mean; fg = true;
            }

            if (fg)
            {
                MinMaxChanged = true;
            }
        }
예제 #6
0
 public void AddValues(DateTime time, double val, int nd = 0)
 {
     //if (nd % 2 != 0) dot.ToMomentReal().Mean = Dots.ParamsCount != 0 ? Dots.Last().ToMomentReal().Mean : 0;
     Dots.Add(new MomentReal(time, val, nd));
 }
예제 #7
0
        public Plane(string Position)
        {
            #region Choosing airline
            string vac = frmRadar.VAC[rnd.Next(0, 5)];
            Callsign = vac + rnd.Next(9).ToString() + rnd.Next(9).ToString() + rnd.Next(9).ToString();
            #endregion

            #region Checking if callsign is in use
            foreach (Plane plane in frmRadar.Planes)
            {
                if (Callsign == plane.Callsign)
                {
                    vac      = frmRadar.VAC[rnd.Next(0, 7)];
                    Callsign = vac + rnd.Next(9).ToString() + rnd.Next(9).ToString() + rnd.Next(9).ToString();
                }
            }
            #endregion

            #region Plane parameters
            if (Position == "TWR")
            {
                CurAlt     = rnd.Next(100, 150);
                SetAlt     = 4000;
                CurSpd     = rnd.Next(140, 160);
                SetSpd     = 200;
                CurHdg     = 270;
                CalcHdg    = 270;
                SetHdg     = 270;
                X          = frmRadar.Locations.Runway.locx + 5;
                Y          = frmRadar.Locations.Runway.locy;
                isOutgoing = true;
                Controller = "TWR";
            }
            if (Position == "CTR2")
            {
                CurAlt  = rnd.Next(11000, 13000);
                SetAlt  = 9000;
                CurSpd  = rnd.Next(260, 300);
                SetSpd  = 250;
                CurHdg  = 90;
                CalcHdg = 90;
                SetHdg  = 90;
                X       = 0;
                Y       = frmRadar.Locations.Inbound.in1y + 50;
            }
            #endregion

            #region Creating dots
            for (int n = 0; n < 10; n++)
            {
                Dots.Add(0);
            }
            #endregion

            #region Setting borders
            Border.Left   = X;
            Border.Right  = X + 90;
            Border.Top    = Y - 40;
            Border.Bottom = Y - 10;
            #endregion
        }
예제 #8
0
 public void Add(Dot dot)
 {
     Dots.Add(new Dot(dot.X, dot.Y, Color));
 }