namespace Mf {
-class Aabb;
-class Sphere;
+template <int D> class Aabb;
+template <int D> class Sphere;
class Frustum
{
- Plane planes_[6]; // left, right, bottom, top, near, far
+ Plane mPlanes[6]; // left, right, bottom, top, near, far
public:
typedef enum
} Collision;
Frustum() {}
- inline Frustum(const Matrix4& modelview, const Matrix4& projection)
+ Frustum(const Matrix4& modelview, const Matrix4& projection)
{
init(modelview, projection);
}
- inline Frustum(const Matrix4& modelview, Scalar fovy, Scalar aspect,
- Scalar near, Scalar far)
+ Frustum(const Matrix4& modelview, Scalar fovy, Scalar aspect,
+ Scalar abutting, Scalar distant)
{
- init(modelview, fovy, aspect, near, far);
+ init(modelview, fovy, aspect, abutting, distant);
}
void init(const Matrix4& modelview, const Matrix4& projection);
- void init(const Matrix4& modelview, Scalar fovy, Scalar aspect, Scalar near,
- Scalar far);
+ void init(const Matrix4& modelview, Scalar fovy, Scalar aspect,
+ Scalar abutting, Scalar distant);
- Collision containsAabb(const Aabb& aabb) const;
- Collision containsSphere(const Sphere& sphere) const;
+ Collision contains(const Aabb<3>& aabb) const;
+ Collision contains(const Sphere<3>& sphere) const;
};