Esempio n. 1
0
        protected void SetLevels(SpatialSheetPowerTypes level1, SpatialSheetPowerTypes level2, SpatialSheetPowerTypes level3, SpatialSheetPowerTypes level4)
        {
            if (NodeCount > 0)
            {
                return;
            }

            Power[1] = level1;
            if (Power.Length > 2)
            {
                Power[2] = level2;
            }
            if (Power.Length > 3)
            {
                Power[3] = level3;
            }
            if (Power.Length > 4)
            {
                Power[4] = level4;
            }

            for (var i = 5; i < Power.Length; i++)
            {
                Power[i] = SpatialSheetPowerTypes.Low;
            }
            //Root spatial index sheet includes whole world
            _root = new SpatialSheet <TNode>(this, 1, 1, CoordinateRectangle.Empty);

            //Array to grab index stats for tuning
            NodeDimension = new int[Power.Length - 1];
        }
Esempio n. 2
0
        public SpatialTree(SpatialSheetPowerTypes level1, SpatialSheetPowerTypes level2, SpatialSheetPowerTypes level3, SpatialSheetPowerTypes level4)
        {
            NodeCount = 0;
            Power     = new SpatialLevelPowerIndexer <TNode>(this);

            SetLevels(level1, level2, level3, level4);
        }