public MyArea(MyArea areaToCopy) { this.Lines = new List <MyLine>(); foreach (MyLine line in areaToCopy.Lines) { line.Areas.Clear(); this.Lines.Add(new MyLine(line.Id)); } }
public static MyRectangle GetAreaRectangle(MyArea area) { MyRectangle result = new MyRectangle(); result.maxX = area.Nodes.Max(n => n.X); result.minX = area.Nodes.Min(n => n.X); result.maxY = area.Nodes.Max(n => n.Y); result.minY = area.Nodes.Min(n => n.Y); result.Points = new MyPoint[4] { new MyPoint(result.minX, result.minY), new MyPoint(result.minX, result.maxY), new MyPoint(result.maxX, result.maxY), new MyPoint(result.maxX, result.minY) }; return(result); }
public MyFrontSegment(ICollection <MyNode> _nodes, MyArea area = null) { createSegment(_nodes); CorrespondingArea = area; }
public MyFrontSegment(List <MyPoint> _points, MyArea area = null) { createSegment(_points.ConvertAll(p => new MyNode(p.X, p.Y, p.Id))); CorrespondingArea = area; }
public MyFrontSegment(int count, MyArea area = null) { Nodes = new List <MyNode>(count); baseNodes = new List <MyNode>(count); CorrespondingArea = area; }