summaryrefslogtreecommitdiffstats
path: root/EditManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'EditManager.cpp')
-rw-r--r--EditManager.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/EditManager.cpp b/EditManager.cpp
index 9ca3dfb..2697612 100644
--- a/EditManager.cpp
+++ b/EditManager.cpp
@@ -5,21 +5,21 @@
bool EditManager::lineOk(const Room &newRoom, const Line &l) const {
Line l2;
- for(size_t i = 0; i+2 < newRoom.size(); i++) {
- l2.setVertex1(newRoom.at(i));
- l2.setVertex2(newRoom.at(i+1));
+ for(size_t i = 0; i+2 < newRoom.getPolygon().size(); i++) {
+ l2.setVertex1(newRoom.getPolygon()[i]);
+ l2.setVertex2(newRoom.getPolygon()[i+1]);
if(l.intersects(l2, NULL) == INTERSECTION_SEGMENT_SEGMENT) return false;
}
- if(newRoom.size() > 1) {
- l2.setVertex1(newRoom.at(newRoom.size()-2));
- l2.setVertex2(newRoom.back());
+ if(newRoom.getPolygon().size() > 1) {
+ l2.setVertex1(newRoom.getPolygon()[newRoom.getPolygon().size()-2]);
+ l2.setVertex2(newRoom.getPolygon().back());
if(l2.contains(l.getVertex2())) return false;
}
for(Level::iterator room = window->getLevel().begin(); room != window->getLevel().end(); room++) {
- if((*room)->isOfType("Room") && ((Room*)&**room)->intersects(l))
+ if((*room)->isOfType("Room") && ((Room*)&**room)->getPolygon().intersects(l))
return false;
}
@@ -42,7 +42,7 @@ void EditManager::redraw() {
}
bool EditManager::addRoom(const Room &newRoom) {
- if(newRoom.size() > 2 && polygonOk(newRoom)) {
+ if(newRoom.getPolygon().size() > 2 && polygonOk(newRoom.getPolygon())) {
Room *room = new Room(newRoom);
room->setName(idManager.generate("room"));
@@ -90,16 +90,16 @@ bool EditManager::vertexOk(const Vertex &v, const Room *newRoom) const {
Line l;
for(Level::iterator room = window->getLevel().begin(); room != window->getLevel().end(); room++) {
- if((*room)->isOfType("Room") && ((Room*)&**room)->contains(v)) return false;
+ if((*room)->isOfType("Room") && ((Room*)&**room)->getPolygon().contains(v)) return false;
}
if(!newRoom)
return true;
- if(newRoom->empty())
+ if(newRoom->getPolygon().empty())
return true;
- l.setVertex1(newRoom->back());
+ l.setVertex1(newRoom->getPolygon().back());
l.setVertex2(v);
return lineOk(*newRoom, l);
@@ -116,12 +116,12 @@ bool EditManager::polygonOk(const Polygon& polygon) const {
Room *room = (Room*)&**object;
- if(room->empty()) continue;
+ if(room->getPolygon().empty()) continue;
- if(room->contains(polygon.front()))
+ if(room->getPolygon().contains(polygon.front()))
return false;
- if(polygon.contains(room->front()))
+ if(polygon.contains(room->getPolygon().front()))
return false;
}
@@ -139,7 +139,7 @@ bool EditManager::polygonOk(const Polygon& polygon) const {
l.setVertex2(*it2);
for(Level::iterator room = window->getLevel().begin(); room != window->getLevel().end(); room++) {
- if((*room)->isOfType("Room") && ((Room*)&**room)->intersects(l))
+ if((*room)->isOfType("Room") && ((Room*)&**room)->getPolygon().intersects(l))
return false;
}
}