public Polygon2DDiviser(Polygon2D parent)
 {
     Parent = parent;
     SubDivision = new Polygon2DCollection();
     Divisers = new LineSegment2DCollection();
     InnerPoints = new Point2DCollection();
     SubDivision.Add(Parent);
 }
 public Polygon2DDiviser(Polygon2D parent)
 {
     Parent      = parent;
     SubDivision = new Polygon2DCollection();
     Divisers    = new LineSegment2DCollection();
     InnerPoints = new Point2DCollection();
     SubDivision.Add(Parent);
 }
 public Polygon2DAdorner(Polygon2D p)
 {
     polygon = p;
     triangles = new Triangle2DCollection(1);
     lineSegments = new LineSegment2DCollection(1);
     internalSegments = new Vector2DCollection(1);
     ghostTriangles = new GhostTriangle2DCollection(1);
 }
        public void Union(LineSegment2DCollection lineSegment2DCollection)
        {
            Capacity += lineSegment2DCollection.Capacity;

            LineSegment2D[] lineSegments = new LineSegment2D[Capacity];

            this.LineSegments.CopyTo(lineSegments, 0);
            lineSegment2DCollection.LineSegments.CopyTo(lineSegments, this.Count);
            this.LineSegments = lineSegments;
            CurrentCount     += lineSegment2DCollection.Count;
        }
        public void Union(LineSegment2DCollection lineSegment2DCollection)
        {
            Capacity += lineSegment2DCollection.Capacity;

            LineSegment2D[] lineSegments = new LineSegment2D[Capacity];

            this.LineSegments.CopyTo(lineSegments, 0);
            lineSegment2DCollection.LineSegments.CopyTo(lineSegments, this.Count);
            this.LineSegments = lineSegments;
            CurrentCount += lineSegment2DCollection.Count;
        }