/// <summary> /// Создает отдельный элемент графика /// </summary> /// <param name="operationType"></param> /// <param name="beginX"></param> /// <param name="beginY"></param> /// <param name="duration"></param> /// /// <param name="trainNumber"></param> private void MakeElement(string operationType, int beginX, int beginY, int duration, string trainNumber) { switch (operationType) { case Constants.Waiting: { MakeWaiting(beginX, beginY, duration); break; } case Constants.Moving: { MakeMoving(beginX, beginY, duration, trainNumber); break; } case Constants.TO: { MakeTO(beginX, beginY, duration); break; } case Constants.BrakeTesting: { MakeBrakeTesting(beginX, beginY, duration); break; } case Constants.Coupling: { MakeCoupling(beginX, beginY, duration); break; } case Constants.UnCoupling: { MakeUnCoupling(beginX, beginY, duration); break; } case Constants.Loading: { MakeLoading(beginX, beginY, duration); break; } case Constants.UnLoading: { MakeUnLoading(beginX, beginY, duration); break; } } _aCadWorker.MakeBox(duration, 10, beginX, beginY); // выводит коробочку, если не знает, что нарисовать }
/// <summary> /// Делает сетку графика /// </summary> /// <param name="numberOfRows"></param> private void MakeGrid(int numberOfRows) { _aCadWorker.MakeBox(Constants.MinutesInDay, _rowsNumber * Constants.HeightOfRow, Constants.TableFatLineWeight); // высота линий сетки int heightOfLine = numberOfRows * Constants.HeightOfRow; // часовые линии for (int i = 60; i < 1440; i = i + 60) { _aCadWorker.MakePolyline(i, 0, i, heightOfLine, Constants.TableFatLineWeight); } // получасовые линии _aCadWorker.LoadLineType(Constants.DashSpaceLineType); // загружаем тип для получасовых линий for (int i = 30; i < 1440; i = i + 60) { _aCadWorker.MakePolyline(i, 0, i, heightOfLine, Constants.DashSpaceLineType, 0.5); ///////////////////// теперь измени масштаб линии и дальше } // разделители строк for (int i = Constants.HeightOfRow; i < heightOfLine; i = i + Constants.HeightOfRow) { _aCadWorker.MakePolyline(0, i, Constants.MinutesInDay, i); } }