예제 #1
0
        public MapItemQuadTreeNode(MapItemQuadTreeNode parent, int childIdx)
        {
            Parent = parent;

            if (Parent == null)
            {
                Rect = new Rect(0, 0, 1, 1);
                ZoomLevel = 0;
                X = Y = 0L;
            }
            else
            {
                Rect = parent.GetChildRect(childIdx);
                ZoomLevel = parent.ZoomLevel + 1;

                X = (Parent.X << 1) + (childIdx % 2);
                Y = (Parent.Y << 1) + (childIdx / 2);
            }

            _Children = new MapItemQuadTreeNode[4];
            _Items = new HashSet<MapItem>();
        }