Ejemplo n.º 1
0
        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)
            });
        }
Ejemplo n.º 2
0
 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
     });
 }