#ifndef R2C2_3D_OBJECT_H_
#define R2C2_3D_OBJECT_H_
+#include <sigc++/trackable.h>
+#include <msp/gl/matrix.h>
#include "libr2c2/geometry.h"
+#include "libr2c2/object.h"
namespace R2C2 {
-class Object3D
+class Object3D: public sigc::trackable
{
protected:
- Object3D() { }
+ Object &object;
+ Msp::GL::Matrix matrix;
+
+ Object3D(Object &);
public:
virtual ~Object3D() { }
+ const Msp::GL::Matrix &get_matrix() const { return matrix; }
virtual Vector get_node() const = 0;
virtual bool is_visible() const = 0;
+protected:
+ virtual void moved();
};
} // namespace R2C2