#ifndef TOOL_H #define TOOL_H #include "quadtree.h" #include "vector.h" #include "gui.h" #include class Tool { protected: Quadtree *tree; GUI *gui; public: Tool(Quadtree *tree); virtual ~Tool() {}; virtual bool handle_event(SDL_Event& event, Vector3& selected) = 0; virtual void render_gui(); virtual const char* get_name() = 0; }; class RaiseTool : public Tool { protected: static std::string name; public: RaiseTool(Quadtree *tree); virtual ~RaiseTool(); virtual bool handle_event(SDL_Event& event, Vector3& selected); virtual const char* get_name(); }; #endif