#include "exhibit.h"
#include "snode.h"
#include "scene.h"
-#include "geomdraw.h"
-#include "app.h"
ExSelection ExSelection::null;
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();