logic: Simplified node bundling by collecting relevant data upfront

This commit is contained in:
Eberhard Graether
2016-05-13 14:17:20 +02:00
parent c61efbbcde
commit 7bb40f2630
6 changed files with 143 additions and 231 deletions
@@ -13,6 +13,23 @@ class Node;
struct DummyNode
{
public:
struct BundleInfo
{
BundleInfo()
: isActive(false)
, isDefined(false)
, layoutVertical(false)
, isReferenced(false)
, isReferencing(false)
{}
bool isActive;
bool isDefined;
bool layoutVertical;
bool isReferenced;
bool isReferencing;
};
DummyNode()
: visible(false)
, childVisible(false)
@@ -200,6 +217,9 @@ public:
// ExpandToggleNode
size_t invisibleSubNodeCount;
// Bundling
BundleInfo bundleInfo;
// BundleNode
std::vector<DummyNode> bundledNodes;
size_t bundledNodeCount;