This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
IndoorMap/mapview/model/MMFloorElevators.h
2017-11-08 18:11:28 +01:00

51 lines
1.0 KiB
C++

#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::IndoorMap* map;
Floorplan::Floor* floor;
public:
/** ctor with the underlying model */
MMFloorElevators(MapLayer* parent, Floorplan::IndoorMap* map, Floorplan::Floor* floor) : MapLayer(parent, MapLayerType::FLOOR_ELEVATORS), map(map), floor(floor) {
// add all elevators
for (Floorplan::Elevator* elevator : floor->elevators) {
addElement(new MMFloorElevator(this, map, floor, elevator));
}
}
std::string getLayerName() const override {return "Elevators";}
//TODO: check
MMFloorElevator* create(Floorplan::Elevator* elevator) {
// add to underlying model
floor->elevators.push_back(elevator);
// add to myself as element
MMFloorElevator* mm = new MMFloorElevator(this, map, floor, elevator);
addElement(mm);
return mm;
}
};
#endif // MMFLOORELEVATORS_H