Exemple #1
0
 public PolygonTreeNode()
 {
     parent   = null;
     children = new PolygonTreeNodeList();
     polygon  = null;
     removed  = false;
 }
Exemple #2
0
        public PolygonTreeNode AddChild(Polygon polygon)
        {
            var newchild = new PolygonTreeNode();

            newchild.parent  = this;
            newchild.polygon = polygon;
            children.Add(newchild);
            return(newchild);
        }
Exemple #3
0
 public Tree(BoundingBox bbox, List <Polygon> polygons)
 {
     polygonTree = new PolygonTreeNode();
     rootnode    = new Node(null);
     if (polygons != null)
     {
         AddPolygons(polygons);
     }
 }
Exemple #4
0
 public Tree(Bounds bbox, IReadOnlyList <Polygon> polygons)
 {
     polygonTree = new PolygonTreeNode();
     rootnode    = new Node(null);
     if (polygons != null)
     {
         AddPolygons(polygons);
     }
 }
Exemple #5
0
 public void Remove(PolygonTreeNode value)
 {
     if (store != null)
     {
         store.Remove(value);
     }
     else
     {
         if (Object.ReferenceEquals(singleton, value))
         {
             singleton = null;
         }
     }
 }
Exemple #6
0
        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);
                }
            }
        }
Exemple #7
0
 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;
         }
     }
 }
Exemple #8
0
 public PolygonTreeNodeList(PolygonTreeNode value)
 {
     singleton = value;
 }
Exemple #9
0
 public PolygonTreeNodeList(PolygonTreeNode item0)
 {
     this.node0 = item0;
     this.nodes = null;
 }