added elevator support

This commit is contained in:
2016-09-10 15:13:49 +02:00
parent fa06320219
commit 674f79c150
13 changed files with 353 additions and 14 deletions

View File

@@ -0,0 +1,47 @@
#ifndef MMFLOORELEVATORS_H
#define MMFLOORELEVATORS_H
#include "MapLayer.h"
#include "MMFloorElevator.h"
#include <Indoor/floorplan/v2/Floorplan.h>
/**
* layer containing one floor's elevators
*/
class MMFloorElevators : public MapLayer {
private:
Floorplan::Floor* floor;
public:
/** ctor with the underlying model */
MMFloorElevators(MapLayer* parent, Floorplan::Floor* floor) : MapLayer(parent, MapLayerType::FLOOR_ELEVATORS), floor(floor) {
// add all elevators
for (Floorplan::Elevator* elevator : floor->elevators) {
elements.push_back(new MMFloorElevator(this, floor, elevator));
}
}
std::string getLayerName() const override {return "Elevators";}
//TODO: check
void create(Floorplan::Elevator* elevator) {
// add to underlying model
floor->elevators.push_back(elevator);
// add to myself as element
elements.push_back(new MMFloorElevator(this, floor, elevator));
}
};
#endif // MMFLOORELEVATORS_H