X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fexhibit.cc;h=d76b2912ba5caf727cabe8e125f09d6925f45a21;hp=e98a2ba18c3202db164eaa62aae1467ec68a3bbd;hb=35c329e4b66fc60622080be1b9ff30148a7e74e4;hpb=14fd44f4dfec922dae20ccf1225bd1fdb5864ab9 diff --git a/src/exhibit.cc b/src/exhibit.cc index e98a2ba..d76b291 100644 --- a/src/exhibit.cc +++ b/src/exhibit.cc @@ -1,11 +1,14 @@ #include "exhibit.h" #include "snode.h" +#include "scene.h" class ExhibitPriv { public: Vec3 orig_pos; Quat orig_rot; SceneNode *orig_node; + + ExhibitPriv(); }; ExSelection::ExSelection(Exhibit *ex) @@ -20,10 +23,14 @@ ExSelection::operator bool() const return ex != 0; } +ExhibitPriv::ExhibitPriv() +{ + orig_node = 0; +} + Exhibit::Exhibit() { priv = new ExhibitPriv; - priv->orig_node = 0; } Exhibit::~Exhibit() @@ -31,6 +38,13 @@ Exhibit::~Exhibit() delete priv; } +void Exhibit::set_node(SceneNode *node) +{ + this->node = priv->orig_node = node; + priv->orig_pos = node->get_position(); + priv->orig_rot = node->get_rotation(); +} + ExSelection Exhibit::select(const Ray &ray) const { return ExSelection(0);