Most everything is built as shared libraries now except services.
[fail.git] / include / manipulators / Manipulator.h
blob582917e92f166738b54d888d915bfa6ea50fa997
1 #ifndef AWFUL_MANIPULATORS_MANIPULATOR_H_
2 #define AWFUL_MANIPULATORS_MANIPULATOR_H_
4 #include "core/core.h"
5 #include "manipulators/manipulators_export.h"
6 #include "gui/game/EventHandler.h"
7 #include "collision/PlaceableGeom.h"
8 #include "scenegraph/Frame.h"
9 #include "scenegraph/Renderable.h"
11 namespace awful { namespace manipulators
13 class ContainerManipulator;
15 class AWMANIPULATORS_EXPORT Manipulator : public gui::game::EventHandler
17 public:
18 Manipulator();
19 Manipulator( ContainerManipulator* pParent_ );
20 virtual ~Manipulator() {}
22 virtual void buildSceneGraph() {}
24 const Pointer< scenegraph::Frame >& getpFrame() const { return m_pFrame; }
25 const Pointer< scenegraph::Renderable >& getpRenderable() const { return m_pRenderable; }
26 const Pointer< collision::PlaceableGeom >& getpGeom() const { return m_pGeom; }
28 protected:
29 Pointer< scenegraph::Frame > m_pFrame;
30 Pointer< scenegraph::Renderable > m_pRenderable;
31 Pointer< collision::PlaceableGeom > m_pGeom;
33 ContainerManipulator* m_pParent;
37 #endif