From 5dc3e727e0fc470d344da8b18c3588104585496f Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 26 Dec 2009 03:19:49 +0100 Subject: Added collision detection --- src/BSPTree.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/BSPTree.cpp') diff --git a/src/BSPTree.cpp b/src/BSPTree.cpp index 7b23e79..46079e0 100644 --- a/src/BSPTree.cpp +++ b/src/BSPTree.cpp @@ -27,7 +27,7 @@ void BSPTree::partition(const TriangleRecord &t, std::list *fron if(plane.contains(t.getTriangle().getVertex(i))) { const vmml::vec3f *v[3] = {&t.getTriangle().getVertex(i), &t.getTriangle().getVertex((i+1)%3), &t.getTriangle().getVertex((i+2)%3)}; - vmml::vec3f is = plane.intersection(*v[1], *v[2]-*v[1]); + vmml::vec3f is = plane.intersection(MathUtil::Ray(*v[1], *v[2]-*v[1])); if(plane.isInFront(*v[1])) { front->push_back(TriangleRecord(Triangle(*v[0], *v[1], is, t.getTriangle().getColor()), t.getData())); @@ -47,8 +47,8 @@ void BSPTree::partition(const TriangleRecord &t, std::list *fron if((plane.isInFront(*v[0]) && plane.isBehind(*v[1]) && plane.isBehind(*v[2])) || (plane.isBehind(*v[0]) && plane.isInFront(*v[1]) && plane.isInFront(*v[2]))) { - vmml::vec3f is1 = plane.intersection(*v[0], *v[1]-*v[0]); - vmml::vec3f is2 = plane.intersection(*v[0], *v[2]-*v[0]); + vmml::vec3f is1 = plane.intersection(MathUtil::Ray(*v[0], *v[1]-*v[0])); + vmml::vec3f is2 = plane.intersection(MathUtil::Ray(*v[0], *v[2]-*v[0])); if(plane.isInFront(*v[0])) { front->push_back(TriangleRecord(Triangle(*v[0], is1, is2, t.getTriangle().getColor()), t.getData())); -- cgit v1.2.3