42 mVisibleChildrenSet =
false;
45 void CachedTreeNode::clearCache()
49 mVisibleParent.reset();
50 mVisibleChildren.clear();
51 mVisibleChildrenSet =
false;
57 mUid = mBase->getUid();
64 mType = mBase->getType();
71 if (!mVisibleChildrenSet)
73 std::vector<TreeNodePtr> children = mBase->getVisibleChildren();
75 mVisibleChildren = std::vector<TreeNodeWeakPtr>(children.begin(), children.end());
76 mVisibleChildrenSet =
true;
79 std::vector<TreeNodePtr> retval(mVisibleChildren.size());
80 for (
unsigned i=0; i< retval.size(); ++i)
81 retval[i] = mVisibleChildren[i].lock();
88 if (!mVisibleParent.lock())
89 mVisibleParent = mBase->getVisibleParent();
90 return mVisibleParent.lock();
boost::shared_ptr< TreeNode > TreeNodePtr
virtual TreeNodePtr getVisibleParent() const
virtual QString getUid() const
virtual std::vector< TreeNodePtr > getVisibleChildren() const
CachedTreeNode(TreeNodePtr base)
virtual QString getType() const
Namespace for all CustusX production code.