projects
/
laserbrain_demo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
adding exhibit data, starting with descriptions
[laserbrain_demo]
/
src
/
exhibit.cc
diff --git
a/src/exhibit.cc
b/src/exhibit.cc
index
e98a2ba
..
eaa2251
100644
(file)
--- a/
src/exhibit.cc
+++ b/
src/exhibit.cc
@@
-1,13
+1,18
@@
#include "exhibit.h"
#include "snode.h"
#include "exhibit.h"
#include "snode.h"
+#include "scene.h"
class ExhibitPriv {
public:
Vec3 orig_pos;
Quat orig_rot;
SceneNode *orig_node;
class ExhibitPriv {
public:
Vec3 orig_pos;
Quat orig_rot;
SceneNode *orig_node;
+
+ ExhibitPriv();
};
};
+
+// selection
ExSelection::ExSelection(Exhibit *ex)
{
this->ex = ex;
ExSelection::ExSelection(Exhibit *ex)
{
this->ex = ex;
@@
-20,10
+25,27
@@
ExSelection::operator bool() const
return ex != 0;
}
return ex != 0;
}
+// Exhibit data
+ExData::ExData()
+{
+ voice = 0;
+}
+
+ExData::~ExData()
+{
+ delete voice;
+}
+
+// private data for each exhibit type
+ExhibitPriv::ExhibitPriv()
+{
+ orig_node = 0;
+}
+
+// exhibit class
Exhibit::Exhibit()
{
priv = new ExhibitPriv;
Exhibit::Exhibit()
{
priv = new ExhibitPriv;
- priv->orig_node = 0;
}
Exhibit::~Exhibit()
}
Exhibit::~Exhibit()
@@
-31,6
+53,13
@@
Exhibit::~Exhibit()
delete priv;
}
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);
ExSelection Exhibit::select(const Ray &ray) const
{
return ExSelection(0);