#ifndef ENTITY_H_ #define ENTITY_H_ #include #include #include #include #include "../include/GraphicObject2DImage.h" #include "../include/GraphicObject3DModell.h" #include "../include/Coordinates.h" #include "../include/Scenegraph.h" #include "../include/EntityOpenGLRenderable.h" using namespace std; class EntityOpenGLRenderable; class Scenegraph; class Entity { public: Entity(); virtual ~Entity(); virtual void setPosition(Coordinates *position) = 0; virtual void setBeginAndEnd(Coordinates *begin, Coordinates *end) = 0; virtual void deleteEntity(Scenegraph *scenegraph, string id) = 0; virtual OSG::NodePtr getNode() = 0; // is only implemented in EntityOpenSGRenderable virtual void drawOpenGL() = 0; protected: Coordinates* mPosition; // TODO: setColor() and getColor() in EntityOpenSGRenderable implementieren Coordinates* mColor; }; #endif /*ENTITY_H_*/