From dbec582fca1e19e97731c94890bc78a6332546c4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 24 Feb 2011 14:11:12 -0500 Subject: [PATCH] Rerooted void tree --- mytools/voidTree.hpp | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/mytools/voidTree.hpp b/mytools/voidTree.hpp index 76fc431..c28d6c6 100644 --- a/mytools/voidTree.hpp +++ b/mytools/voidTree.hpp @@ -162,16 +162,17 @@ public: voids_for_zones[v.zId[j]].push_back(i); } - nodes = new VoidNode[totalNumNodes]; + // One additional for the mega-root + nodes = new VoidNode[totalNumNodes+1]; - for (int i = 0; i < rep.allVoids.size(); i++) + for (int i = 0; i <= totalNumNodes; i++) { nodes[i].vid = i; nodes[i].parent = 0; } std::cout << "Linking voids together..." << std::endl; - double volMin = 0;// 4*M_PI/3*pow(4.*512/500.,3); + double volMin = 0;// 4*M_PI/3*pow(4.*512/500.,3); int inserted = 0; for (int i = rep.allVoids.size()-1; i>=0;i--) { @@ -192,17 +193,13 @@ public: inserted++; } - rootNode = 0; + rootNode = &nodes[inserted+1]; + rootNode->vid = -1; + rootNode->parent = 0; + for (int i = 0; i < inserted; i++) if (nodes[i].parent == 0) - { - if (rootNode != 0) - { - std::cerr << "Multiple root to the tree !!!" << std::endl; - abort(); - } - rootNode = &nodes[i]; - } + nodes[i].parent = rootNode; activeNodes = inserted; }