public PolygonTreeNode() { parent = null; children = new PolygonTreeNodeList(); polygon = null; removed = false; }
public PolygonTreeNode AddChild(Polygon polygon) { var newchild = new PolygonTreeNode(); newchild.parent = this; newchild.polygon = polygon; children.Add(newchild); return(newchild); }
public Tree(BoundingBox bbox, List <Polygon> polygons) { polygonTree = new PolygonTreeNode(); rootnode = new Node(null); if (polygons != null) { AddPolygons(polygons); } }
public Tree(Bounds bbox, IReadOnlyList <Polygon> polygons) { polygonTree = new PolygonTreeNode(); rootnode = new Node(null); if (polygons != null) { AddPolygons(polygons); } }
public void Remove(PolygonTreeNode value) { if (store != null) { store.Remove(value); } else { if (Object.ReferenceEquals(singleton, value)) { singleton = null; } } }
public void AddPolygon(PolygonTreeNode polygon) { this.Polygons.Add(polygon); if (Children == null) { return; } var pbox = polygon.BoundingBox; for (var i = 0; i < 8; i++) { if (Children[i].BoundingBox.Intersects(pbox)) { Children[i].AddPolygon(polygon); } } }
public void Add(PolygonTreeNode value) { if (store != null) { store.Add(value); } else { if (singleton == null) { singleton = value; } else { store = new List <PolygonTreeNode>(); store.Add(singleton); store.Add(value); singleton = null; } } }
public PolygonTreeNodeList(PolygonTreeNode value) { singleton = value; }
public PolygonTreeNodeList(PolygonTreeNode item0) { this.node0 = item0; this.nodes = null; }