public static LineView From(Line line) { var Points = new List <PointView>(); if (line.LineType == LineType.V1Line) { Points.Add(PointView.From(new Point(line.m_Start.X + (line.m_Start.X < line.m_Finish.X ? 1 : -1), line.m_Start.Y))); Points.Add(PointView.From(new Point(line.m_Finish.X, line.m_Start.Y))); Points.Add(PointView.From(line.m_Finish)); } else if (line.LineType == LineType.V2Line) { Points.Add(PointView.From(new Point(line.m_Start.X, line.m_Start.Y + (line.m_Start.Y < line.m_Middle.Y ? 1 : -1)))); Points.Add(PointView.From(new Point(line.m_Start.X, line.m_Middle.Y))); Points.Add(PointView.From(new Point(line.m_Finish.X, line.m_Middle.Y))); Points.Add(PointView.From(line.m_Finish)); } else if (line.LineType == LineType.V3Line) { Points.Add(PointView.From(new Point(line.m_Start.X, line.m_Start.Y + (line.m_Start.Y < line.m_Finish.Y ? 1 : -1)))); Points.Add(PointView.From(new Point(line.m_Start.X, line.m_Middle.Y))); Points.Add(PointView.From(new Point(line.m_Finish.X, line.m_Middle.Y))); Points.Add(PointView.From(line.m_Finish)); } else if (line.LineType == LineType.H1Line) { Points.Add(PointView.From(new Point(line.m_Start.X, line.m_Start.Y + (line.m_Start.Y < line.m_Finish.Y ? 1 : -1)))); Points.Add(PointView.From(new Point(line.m_Start.X, line.m_Finish.Y))); Points.Add(PointView.From(line.m_Finish)); } else if (line.LineType == LineType.H2Line) { Points.Add(PointView.From(new Point(line.m_Start.X + (line.m_Start.X < line.m_Middle.X ? 1 : -1), line.m_Start.Y))); Points.Add(PointView.From(new Point(line.m_Middle.X, line.m_Start.Y))); Points.Add(PointView.From(new Point(line.m_Middle.X, line.m_Finish.Y))); Points.Add(PointView.From(line.m_Finish)); } else if (line.LineType == LineType.H3Line) { Points.Add(PointView.From(new Point(line.m_Start.X + (line.m_Start.X < line.m_Start.Y ? -1 : 1), line.m_Start.Y))); Points.Add(PointView.From(new Point(line.m_Middle.X, line.m_Start.Y))); Points.Add(PointView.From(new Point(line.m_Middle.X, line.m_Finish.Y))); Points.Add(PointView.From(line.m_Finish)); } return(new LineView() { ID = line.m_ID, Name = line.m_Name, Description = line.m_Description, Points = Points, StartOffset = line.m_StartOffset, FinishOffset = line.m_FinishOffset, MiddlePinned = line.m_MiddlePinned, Label = LabelView.From(line.m_Label), Status = line.m_Status, Color = GetColor(line.m_Status) }); }
public static LabelView From(Label label) { return(new LabelView() { Rect = new PointView() { X = label.m_Rect.Left + 2, Y = label.m_Rect.Top + 2 }, Name = label.m_Name, Offset = PointView.From(label.m_Offset), bStart = label.m_bStart, bPos = label.m_bPos, StartOr = label.m_StartOr, FinishOr = label.m_FinishOr }); }