hand-tracking and exhibits part one
[laserbrain_demo] / src / exhibit.cc
index 8403550..b598b75 100644 (file)
@@ -1,8 +1,6 @@
 #include "exhibit.h"
 #include "snode.h"
 #include "scene.h"
-#include "geomdraw.h"
-#include "app.h"
 
 ExSelection ExSelection::null;
 
@@ -63,40 +61,19 @@ ExSelection Exhibit::select(const Ray &ray) const
 
 ExSelection Exhibit::select(const Sphere &sph) const
 {
-       return ExSelection(0);  // TODO
-}
-
-void Exhibit::update(float dt)
-{
-}
-
-void Exhibit::pre_draw() const
-{
-       if(node) {
-               glMatrixMode(GL_MODELVIEW);
-               glPushMatrix();
-               glMultMatrixf(node->get_matrix()[0]);
+       ExSelection sel;
+       if(collision_sphere_aabox(sph, get_aabox())) {
+               sel.ex = (Exhibit*)this;
+               sel.selsphere = sph;
+               sel.validmask = EXSEL_SPHERE;
        }
+       return sel;
 }
 
-void Exhibit::draw() const
-{
-}
-
-void Exhibit::post_draw() const
+void Exhibit::update(float dt)
 {
-       if(node) {
-               glMatrixMode(GL_MODELVIEW);
-               glPopMatrix();
-
-               if(exsel_hover.ex == this) {
-                       const AABox &bvol = get_aabox();
-                       draw_geom_object(&bvol);
-               }
-       }
 }
 
-
 const AABox &Exhibit::get_aabox() const
 {
        aabb = node->get_bounds();