point(x, y, z),
radius(r) {}
- inline void init(const Vector3& p, Scalar r)
+ void init(const Vector3& p, Scalar r)
{
point = p;
radius = r;
}
+ void init(const Vector3& p, const Vector3& o)
+ {
+ point = p;
+ radius = (o - p).length();
+ }
+
void encloseVertices(const Vector3 vertices[], unsigned count);
void draw(Scalar alpha = 0.0) const;
- bool isVisible(const Camera& cam) const;
+ bool isVisible(const Frustum& frustum) const;
};
+inline bool checkCollision(const Sphere& a, const Sphere& b)
+{
+ Scalar d = (a.point - b.point).length();
+ return d < (a.radius + b.radius);
+}
+
+
} // namespace Mf
#endif // _MOOF_SPHERE_HH_