From 5c9500628c62598c865c45e7adb176036e1a8d68 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 15 Feb 2011 11:16:27 -0500 Subject: [PATCH] Provide an alternative void centering scheme --- mytools/voidTree.hpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/mytools/voidTree.hpp b/mytools/voidTree.hpp index 6927323..76fc431 100644 --- a/mytools/voidTree.hpp +++ b/mytools/voidTree.hpp @@ -243,7 +243,29 @@ public: { walkNode(rootNode, traverse); } - + + template + void walkNodeWithMark(VoidNode *node, T& traverse, const T2& mark) + { + T2 new_mark = mark; + + if (!traverse(node, new_mark)) + return; + + VoidList::iterator i = node->children.begin(); + + while (i != node->children.end()) + { + walkNodeWithMark(*i, traverse, new_mark); + ++i; + } + } + + template + void walkWithMark(T& traverse, T2 mark) + { + walkNodeWithMark(rootNode, traverse, mark); + } }; #endif