Overview

The responsibility of caching a dwg graphs bound has been moved from class DwgBspSplitEnv to class DwgBspEntry, so we can utilize the caching in places other than when we're performing a bsp split.

Compile Time Changes

class DwgBspSplitEnv

Caching bound is now the responsibility of class DwgBspEntry. Methods and members related to caching was removed.

Removed: public Graph->Rect boundCache();
Removed: final public rect bound(Graph g) : inline {

Runtime/Behavior Changes

class DwgBspEntry

DwgBspEntry is now responsible for caching graph.bound.

To utilize the cache, access the bound by calling DwgBspEntry::bound() rather than DwgBspEntry::graph.bound(). The latter will always return a freshly calculated bound, while the former is cached.

Also, be mindful that you do not mutate a Graph owned by a DwgBspEntry in a way that affects it bound after its initialization, as this does not automatically clear the cache.