X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fexhibit.cc;h=b598b75426322c1117ca529d6d895c119fb7ca5a;hp=8403550b9a8e2c69c120b5dc0e9fe928ffdbcb19;hb=6ecd4ecfa020964e4250bf9322c1a26ac4073b76;hpb=91c5d07b779f24afec373047afe401b8811811c7 diff --git a/src/exhibit.cc b/src/exhibit.cc index 8403550..b598b75 100644 --- a/src/exhibit.cc +++ b/src/exhibit.cc @@ -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();