summaryrefslogtreecommitdiffstats
path: root/src/Data/Room.h
diff options
context:
space:
mode:
authorneoraider <devnull@localhost>2008-04-13 03:59:01 +0200
committerneoraider <devnull@localhost>2008-04-13 03:59:01 +0200
commit184c6305a677d968e60eb6cba9b29dd840cdce3c (patch)
tree9e0eaab4cf21c1e9717e29a79a9010678eccfc0b /src/Data/Room.h
parent7fa8e4b4faf6dca308607977d2c2aaa5428ca60d (diff)
downloadzoomedit-184c6305a677d968e60eb6cba9b29dd840cdce3c.tar
zoomedit-184c6305a677d968e60eb6cba9b29dd840cdce3c.zip
zoomedit:
* New data interfaces, yay! Levels should now be completely editable * Fixed some -Wextra warnings
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;
}