summaryrefslogtreecommitdiffstats
path: root/src/Data/Gate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Data/Gate.h')
-rw-r--r--src/Data/Gate.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/Data/Gate.h b/src/Data/Gate.h
index b1cde71..a6fb958 100644
--- a/src/Data/Gate.h
+++ b/src/Data/Gate.h
@@ -20,27 +20,37 @@
#ifndef ZOOMEDIT_DATA_GATE_H_
#define ZOOMEDIT_DATA_GATE_H_
-#include "Triangle.h"
#include <list>
+#include <libxml++/nodes/element.h>
namespace ZoomEdit {
namespace Data {
+class Triangle;
+
class Gate {
private:
- std::list<Triangle> triangles;
+ std::list<Triangle*> triangles;
xmlpp::Element *gateNode;
Glib::ustring id;
Glib::ustring room1, room2;
+ // Prevent shallow copy
+ Gate(const Gate &o);
+ Gate& operator=(const Gate &o);
+
public:
Gate(xmlpp::Element *node);
+ virtual ~Gate();
- const std::list<Triangle>& getTriangles() {
+ const std::list<Triangle*>& getTriangles() {
return triangles;
}
+ Triangle* addTriangle();
+ void removeTriangle(Triangle *t);
+
const Glib::ustring& getId() const {
return id;
}