/// <summary> /// Функция определяет необходимость рисования и сдвига начального и конечного квадратика сегмента. /// </summary> internal void DesideAboutBounds(Segment parSeg, Constants.numSide side) { if (side == Constants.numSide.sLeft || side == Constants.numSide.sBoth) { var leftPt = segVertList.FirstOrDefault(e => e.side == Constants.numSide.sLeft); if (leftPt != null) { DrawStartBox = this.NS != parSeg.NS; ShiftStartBox = DrawStartBox && this.StartColumn == parSeg.StartColumn; } } if (side == Constants.numSide.sRight || side == Constants.numSide.sBoth) { var rightPt = segVertList.FirstOrDefault(e => e.side == Constants.numSide.sRight); if (rightPt != null) { DrawFinishBox = this.KS != parSeg.KS; ShiftFinishBox = DrawFinishBox && this.FinishColumn == parSeg.FinishColumn; } } }
internal VertPoint(int _row2connect, int _segID, Constants.numSide _side) { row2connect = _row2connect; segID = _segID; side = _side; }
internal VertPoint GetPoint(Constants.numSide side) { return(segVertList.FirstOrDefault(e => e.side == side)); }
/// <summary> /// Добавление точки сопряжения с родительским сегментом /// </summary> /// <param name="row2connect">строка, в которой находится родительский сегмент</param> /// <param name="segID">ID родительскоого сегмента</param> /// <param name="side">положение точки</param> internal void AddVertPoint(int row2connect, int segID, Constants.numSide side) { segVertList.Add(new VertPoint(row2connect, segID, side)); }