]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/Frustum.cc
the massive refactoring effort
[chaz/yoink] / src / Moof / Frustum.cc
diff --git a/src/Moof/Frustum.cc b/src/Moof/Frustum.cc
deleted file mode 100644 (file)
index e56fb7b..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-
-/*]  Copyright (c) 2009-2010, Charles McGarvey  [**************************
-**]  All rights reserved.
-*
-* vi:ts=4 sw=4 tw=75
-*
-* Distributable under the terms and conditions of the 2-clause BSD license;
-* see the file COPYING for a complete text of the license.
-*
-**************************************************************************/
-
-#include <Moof/Aabb.hh>
-#include <Moof/Frustum.hh>
-#include <Moof/Sphere.hh>
-
-
-namespace Mf {
-
-
-void Frustum::init(const Matrix4& modelview, const Matrix4& projection)
-{
-       Scalar planes[6][4];
-
-       cml::extract_frustum_planes(modelview, projection, planes,
-                                                               cml::z_clip_neg_one);
-
-       mPlanes[0] = Plane(planes[0][0], planes[0][1],
-                                          planes[0][2], planes[0][3]);
-       mPlanes[1] = Plane(planes[1][0], planes[1][1],
-                                          planes[1][2], planes[1][3]);
-       mPlanes[2] = Plane(planes[2][0], planes[2][1],
-                                          planes[2][2], planes[2][3]);
-       mPlanes[3] = Plane(planes[3][0], planes[3][1],
-                                          planes[3][2], planes[3][3]);
-       mPlanes[4] = Plane(planes[4][0], planes[4][1],
-                                          planes[4][2], planes[4][3]);
-       mPlanes[5] = Plane(planes[5][0], planes[5][1],
-                                          planes[5][2], planes[5][3]);
-}
-
-void Frustum::init(const Matrix4& modelview, Scalar fovy, Scalar aspect,
-                                  Scalar abutting, Scalar distant)
-{
-       Matrix4 projection;
-
-       cml::matrix_perspective_yfov_RH(projection, fovy, aspect, abutting,
-                                                                       distant, cml::z_clip_neg_one);
-
-       init(modelview, projection);
-}
-
-Frustum::Collision Frustum::contains(const Aabb<3>& aabb) const
-{
-       Vector3 corners[8];
-       int nTotalInside = 0;
-
-       aabb.getCorners(corners);
-
-       for (int i = 0; i < 6; ++i)
-       {
-               int nInside = 8;
-
-               for (int j = 0; j < 8; ++j)
-               {
-                       if (mPlanes[i].intersects(corners[j]) == Plane::NEGATIVE)
-                       {
-                               --nInside;
-                       }
-               }
-
-               if (nInside == 0)      return OUTSIDE;
-               else if (nInside == 8) ++nTotalInside;
-       }
-
-       if (nTotalInside == 6) return INSIDE;
-       else                   return INTERSECT;
-}
-
-
-Frustum::Collision Frustum::contains(const Sphere<3>& sphere) const
-{
-       for (int i = 0; i < 6; ++i)
-       {
-               Plane::Halfspace halfspace = mPlanes[i].intersects(sphere);
-               
-               if (halfspace == Plane::NEGATIVE)       return OUTSIDE;
-               else if (halfspace == Plane::INTERSECT) return INTERSECT;
-       }
-
-       return INSIDE;
-}
-
-
-} // namespace Mf
-
This page took 0.022444 seconds and 4 git commands to generate.