commit fb7caa7290a58ee69142f319b27926567c434022
parent 235e150ee960d628922c5a16c785fca7003c1d74
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Sat, 1 Oct 2011 18:52:58 +0200
Bug du split résolu.
Diffstat:
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/bugs/closed/2011-10-01-1846-split.txt b/bugs/closed/2011-10-01-1846-split.txt
@@ -0,0 +1,3 @@
+Quand on fait un split récursif sur au moins 4-5 niveaux, on voit que le côté gauche des triangles est malformé.
+
+Résolu : je re-splitais des triangles qui avaient été force-split.
diff --git a/bugs/new/2011-10-01-1846-split.txt b/bugs/new/2011-10-01-1846-split.txt
@@ -1 +0,0 @@
-Quand on fait un split récursif sur au moins 4-5 niveaux, on voit que le côté gauche des triangles est malformé.
diff --git a/roam.c b/roam.c
@@ -336,10 +336,11 @@ Triangle* maxheap_pop_max(Triangle** heap, unsigned int n) {
return ret;
}
-// t must not already be split !
void recursiveSplit(Triangle* t, int n) {
if (n == 0) return;
- triangle_split(t);
+ if (t->tLeftChild == NULL) { // t is not already split
+ triangle_split(t);
+ }
recursiveSplit(t->tLeftChild, n-1);
recursiveSplit(t->tRightChild, n-1);
}