+++ /dev/null
-#ifndef MSP_GL_PLACEABLE_H_
-#define MSP_GL_PLACEABLE_H_
-
-#include "matrix.h"
-#include "renderable.h"
-
-namespace Msp {
-namespace GL {
-
-/**
-A base class for things that can be positioned and oriented in 3D space.
-*/
-class Placeable
-{
-protected:
- Matrix matrix;
-
- Placeable() { }
-
-public:
- virtual void set_matrix(const Matrix &);
-
- /** Returns the Placeable's matrix. This function returns a pointer for
- compatibility with Renderable. The returned pointer is never null. */
- virtual const Matrix *get_matrix() const { return &matrix; }
-};
-
-
-class PlacedRenderable: public Renderable, public Placeable
-{
-protected:
- PlacedRenderable() { }
-
-public:
- /* Reimplement to clear ambiguity between Renderable and Placeable. This
- overrides both base classes' implementations. */
- virtual const Matrix *get_matrix() const { return &matrix; }
-};
-
-} // namespace GL
-} // namespace Msp
-
-#endif