diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-12-10 11:29:16 +0100 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-12-10 11:29:16 +0100 |
commit | f31beab9a7160e913da7ff30d946eaf2a721fdc8 (patch) | |
tree | 1239a46bbea9c8f4af295d2a66e0429d960550ff /BSPTree.h | |
parent | 4f2236f36446a5b097e28c0f76e4962ce7e115b1 (diff) | |
download | c3d-f31beab9a7160e913da7ff30d946eaf2a721fdc8.tar c3d-f31beab9a7160e913da7ff30d946eaf2a721fdc8.zip |
BSPTree-Visiting-Reihenfolge korrigiert
Diffstat (limited to 'BSPTree.h')
-rw-r--r-- | BSPTree.h | 24 |
1 files changed, 12 insertions, 12 deletions
@@ -78,54 +78,54 @@ class BSPTree { } template<typename T> - void visit(const T& visitor, const vmml::vec3f &v) { - if(plane.getNormal().dot(v) > 0) { + void visit(const T& visitor, const vmml::vec3f &p) { + if(plane.isBehind(p)) { if(frontTree) - frontTree->visit(visitor, v); + frontTree->visit(visitor, p); for(std::list<Triangle>::iterator t = triangles.begin(); t != triangles.end(); ++t) { visitor(*t); } if(backTree) - backTree->visit(visitor, v); + backTree->visit(visitor, p); } else { if(backTree) - backTree->visit(visitor, v); + backTree->visit(visitor, p); for(std::list<Triangle>::iterator t = triangles.begin(); t != triangles.end(); ++t) { visitor(*t); } if(frontTree) - frontTree->visit(visitor, v); + frontTree->visit(visitor, p); } } template<typename T> - void visit(T& visitor, const vmml::vec3f &v) { - if(plane.getNormal().dot(v) > 0) { + void visit(T& visitor, const vmml::vec3f &p) { + if(plane.isBehind(p)) { if(frontTree) - frontTree->visit(visitor, v); + frontTree->visit(visitor, p); for(std::list<Triangle>::iterator t = triangles.begin(); t != triangles.end(); ++t) { visitor(*t); } if(backTree) - backTree->visit(visitor, v); + backTree->visit(visitor, p); } else { if(backTree) - backTree->visit(visitor, v); + backTree->visit(visitor, p); for(std::list<Triangle>::iterator t = triangles.begin(); t != triangles.end(); ++t) { visitor(*t); } if(frontTree) - frontTree->visit(visitor, v); + frontTree->visit(visitor, p); } } |