projects
/
laserbrain_demo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
pick ray calculation (moved to gph-math and used here)
[laserbrain_demo]
/
src
/
exhibit.cc
diff --git
a/src/exhibit.cc
b/src/exhibit.cc
index
d76b291
..
b8d44cc
100644
(file)
--- a/
src/exhibit.cc
+++ b/
src/exhibit.cc
@@
-1,6
+1,7
@@
#include "exhibit.h"
#include "snode.h"
#include "scene.h"
#include "exhibit.h"
#include "snode.h"
#include "scene.h"
+#include "geomdraw.h"
class ExhibitPriv {
public:
class ExhibitPriv {
public:
@@
-11,6
+12,8
@@
public:
ExhibitPriv();
};
ExhibitPriv();
};
+
+// selection
ExSelection::ExSelection(Exhibit *ex)
{
this->ex = ex;
ExSelection::ExSelection(Exhibit *ex)
{
this->ex = ex;
@@
-23,11
+26,24
@@
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;
}
ExhibitPriv::ExhibitPriv()
{
orig_node = 0;
}
+// exhibit class
Exhibit::Exhibit()
{
priv = new ExhibitPriv;
Exhibit::Exhibit()
{
priv = new ExhibitPriv;
@@
-77,5
+93,15
@@
void Exhibit::post_draw() const
if(node) {
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
if(node) {
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
+
+ const AABox &bvol = get_aabox();
+ draw_geom_object(&bvol);
}
}
}
}
+
+
+const AABox &Exhibit::get_aabox() const
+{
+ aabb = node->get_bounds();
+ return aabb;
+}