internal Region CreateRegion(Rect2i rect)
        {
            Region region = new Region(this, rect);

            m_regions.Add(region);

            return(region);
        }
        internal void CreateRegion(int level, Rect2i rect, string usage)
        {
            Floor floor;

            if (m_floors.TryGetValue(level, out floor))
            {
                // TODO: Add basis and cache use after implementation
                Region region = floor.CreateRegion(rect); //, basis, cache);
                region.Bag.Add("usage", usage);

                // TODO: Accumulate to design usages here
                //usages.add(tag, section->getRect().area());
            }
        }