added new sanity checks and compile-time assertions to prevent errors

fixed stair-building issue
new test-cases
added elevator support
fixed/improved some walker modules
This commit is contained in:
2016-09-10 15:12:39 +02:00
parent 7baeecb3f9
commit 82f8828a04
26 changed files with 996 additions and 198 deletions

View File

@@ -78,6 +78,24 @@ namespace Floorplan {
addFloorPOI(doc, floor, mf);
addStairs(doc, floor, mf);
addElevators(doc, floor, mf);
}
/** add all elevators to the floor */
static void addElevators(XMLDoc& doc, XMLElem* floor, const Floor* mf) {
XMLElem* elevators = doc.NewElement("elevators");
for (const Elevator* elevator : mf->elevators) {
XMLElem* elem = doc.NewElement("elevator");
elem->SetAttribute("cx", elevator->center.x);
elem->SetAttribute("cy", elevator->center.y);
elem->SetAttribute("width", elevator->width);
elem->SetAttribute("depth", elevator->depth);
elem->SetAttribute("rotation", elevator->rotation);
elevators->InsertEndChild(elem);
}
floor->InsertEndChild(elevators);
}