summaryrefslogtreecommitdiffstats
path: root/src/Data/Room.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Data/Room.h')
-rw-r--r--src/Data/Room.h16
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;
}