diff options
Diffstat (limited to 'src/Data/Room.h')
-rw-r--r-- | src/Data/Room.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/Data/Room.h b/src/Data/Room.h index 1c1f9e8..e290e36 100644 --- a/src/Data/Room.h +++ b/src/Data/Room.h @@ -20,26 +20,36 @@ #ifndef ZOOMEDIT_DATA_ROOM_H_ #define ZOOMEDIT_DATA_ROOM_H_ -#include "Triangle.h" #include <list> +#include <libxml++/nodes/element.h> namespace ZoomEdit { namespace Data { +class Triangle; + class Room { private: - std::list<Triangle> triangles; + std::list<Triangle*> triangles; xmlpp::Element *roomNode; Glib::ustring id; + // Prevent shallow copy + Room(const Room &o); + Room& operator=(const Room &o); + public: Room(xmlpp::Element *node); + virtual ~Room(); - const std::list<Triangle>& getTriangles() const { + const std::list<Triangle*>& getTriangles() const { return triangles; } + Triangle* addTriangle(); + void removeTriangle(Triangle *t); + const Glib::ustring& getId() const { return id; } |