commit 3572c337d689075a8ddfb57f7ed119046e7c4a74
parent 7eea4892038ebee81cb4a080e83c4c4271234df3
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Thu, 12 Jan 2012 21:03:52 +0100
Correction des poids du LOD.
Diffstat:
6 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/lod.hh b/lod.hh
@@ -24,7 +24,7 @@ public :
struct LodNode {
int heaps[18];
float aabb[6];
- float splitBox[12];
+ float splitBox[6];
float mergeBox[6];
int inCounter;
bool firstBBPoint;
diff --git a/rules/chose.cpp b/rules/chose.cpp
@@ -125,16 +125,15 @@ void Chose::updateAABB() {
float dx = lod.aabb[1] - lod.aabb[0];
float dy = lod.aabb[3] - lod.aabb[2];
float dz = lod.aabb[5] - lod.aabb[4];
- float volume = dx*dy*dz;
- float pseudoLength = std::max(1.f, std::pow(volume, 1.f/3.f) / 1000.f);
- float splitFactor = 24 * pseudoLength;
- float mergeFactor = 25 * pseudoLength;
+ // TODO pour la pseudoLength sur l'axe x, utiliser y*z, pseudolength_y = x*z, pseudolength_z = x*y.
+ float pseudoLength = std::sqrt(dx*dy + dy*dz + dx*dz);
+ float splitIncrement = 5 * pseudoLength;
+ float mergeIncrement = 6 * pseudoLength;
for (int i = 0; i < 3; i++) {
- float center = (lod.aabb[2*i] + lod.aabb[2*i+1]) / 2;
- lod.splitBox[2*i] = (lod.aabb[2*i] - center) * splitFactor + center;
- lod.splitBox[2*i+1] = (lod.aabb[2*i+1] - center) * splitFactor + center;
- lod.mergeBox[2*i] = (lod.aabb[2*i] - center) * mergeFactor + center;
- lod.mergeBox[2*i+1] = (lod.aabb[2*i+1] - center) * mergeFactor + center;
+ lod.splitBox[2*i] = lod.aabb[2*i] - splitIncrement;
+ lod.splitBox[2*i+1] = lod.aabb[2*i+1] + splitIncrement;
+ lod.mergeBox[2*i] = lod.aabb[2*i] - mergeIncrement;
+ lod.mergeBox[2*i+1] = lod.aabb[2*i+1] + splitIncrement;
}
}
diff --git a/rules/route/routequadchaussee.cpp b/rules/route/routequadchaussee.cpp
diff --git a/rules/route/routequadchaussee.hh b/rules/route/routequadchaussee.hh
diff --git a/rules/route/trottoirquadnormal.cpp b/rules/route/trottoirquadnormal.cpp
diff --git a/rules/route/trottoirquadnormal.hh b/rules/route/trottoirquadnormal.hh