X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fexhibit.h;h=9b5c753f4de63aa4030362b2b57a72e1f29c5010;hp=0f98b05d7cd3d852499b22ed3728ed1cd2647e26;hb=6ef619c6d92c698728576a4ec1c798a0f716d9a4;hpb=827f01e0ede01a7dd640c8055f1a169cb85e32f9 diff --git a/src/exhibit.h b/src/exhibit.h index 0f98b05..9b5c753 100644 --- a/src/exhibit.h +++ b/src/exhibit.h @@ -8,7 +8,7 @@ #include "audio/stream.h" class Exhibit; -class ExhibitPriv; +class ExhibitSlot; class Scene; enum { @@ -18,11 +18,14 @@ enum { class ExSelection { public: + static ExSelection null; // null selection + Exhibit *ex; void *obj; void *data; Ray selray; Sphere selsphere; + float dist; unsigned int validmask; ExSelection(Exhibit *ex = 0); @@ -55,9 +58,10 @@ public: */ class Exhibit : public Object { private: - ExhibitPriv *priv; + SceneNode *orig_parent; public: + ExhibitSlot *prev_slot; std::vector data; Exhibit(); @@ -71,11 +75,9 @@ public: virtual ExSelection select(const Ray &ray) const; virtual ExSelection select(const Sphere &sph) const; - virtual void update(float dt = 0.0f); + virtual void update(float dt = 0.0f) override; - virtual void pre_draw() const; - virtual void draw() const; - virtual void post_draw() const; + virtual const AABox &get_aabox() const override; }; #endif // EXHIBIT_H_