]> git.tdb.fi Git - libs/gl.git/blobdiff - source/renderable.h
Add an interface for obtaining bounding spheres from renderables
[libs/gl.git] / source / renderable.h
index b53fa9ac839307347bb614db7052dcfbe5a7a8cb..eae75cce642768f9988adcd853f27d253a695c18 100644 (file)
@@ -2,6 +2,7 @@
 #define MSP_GL_RENDERABLE_H_
 
 #include <string>
+#include <msp/geometry/boundingsphere.h>
 #include "tag.h"
 
 namespace Msp {
@@ -38,6 +39,11 @@ public:
        matrix exists. */
        virtual const Matrix *get_matrix() const { return 0; }
 
+       /** Returns a bounding sphere that completely encloses the Renderable.  The
+       bounding sphere is expressed in the renderable's coordinates.  Null is
+       returned if the bounding sphere cannot be determined. */
+       virtual const Geometry::BoundingSphere<float, 3> *get_bounding_sphere() const { return 0; }
+
        /** Called when starting to render a new frame. */
        virtual void setup_frame() const { }