exhibit manager progress
[laserbrain_demo] / src / exhibit.cc
index e98a2ba..d76b291 100644 (file)
@@ -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);