diff options
Diffstat (limited to 'src/Data/Gate.h')
-rw-r--r-- | src/Data/Gate.h | 16 |
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; } |