initial commit
This commit is contained in:
72
mapview/model/MapLayers.h
Normal file
72
mapview/model/MapLayers.h
Normal file
@@ -0,0 +1,72 @@
|
||||
#ifndef MAPLAYERFLOOR_H
|
||||
#define MAPLAYERFLOOR_H
|
||||
|
||||
#include "MapLayer.h"
|
||||
#include <Indoor/floorplan/v2/Floorplan.h>
|
||||
|
||||
#include "../model/MMFloorObstacleLine.h"
|
||||
#include "../model/MMFloorObstacleCircle.h"
|
||||
#include "../model/MMFloorOutlinePolygon.h"
|
||||
#include "../model/MMFloorBeacon.h"
|
||||
|
||||
|
||||
/*
|
||||
class MapLayerFloorOutlineAdd : public TypedMapLayer {
|
||||
private:
|
||||
Floorplan::Floor& floor;
|
||||
public:
|
||||
MapLayerFloorOutlineAdd(MapLayer* parent, Floorplan::Floor& floor) : TypedMapLayer(parent, MapLayerType::FLOOR_GROUND_ADD), floor(floor) {;}
|
||||
std::string getLayerName() const override {return "add";}
|
||||
Floorplan::Floor& getFloor() {return floor;}
|
||||
std::vector<MapModelElement*> getElements() const override {
|
||||
std::vector<MapModelElement*> vec;
|
||||
for (Floorplan::FloorOutlinePolygon& p : floor.outline.add) {vec.push_back(new MapViewElementFloorOutlinePolygon(floor, p, MapViewElementFloorOutlinePolygon::Type::ADD));}
|
||||
return vec;
|
||||
}
|
||||
void create(const Floorplan::FloorOutlinePolygon& poly) {
|
||||
floor.outline.add.push_back(poly);
|
||||
}
|
||||
virtual size_t getNumElements() const override {return floor.outline.add.size();}
|
||||
};
|
||||
|
||||
class MapLayerFloorOutlineRemove : public TypedMapLayer {
|
||||
private:
|
||||
Floorplan::Floor& floor;
|
||||
public:
|
||||
MapLayerFloorOutlineRemove(MapLayer* parent, Floorplan::Floor& floor) : TypedMapLayer(parent, MapLayerType::FLOOR_GROUND_REMOVE), floor(floor) {;}
|
||||
std::string getLayerName() const override {return "remove";}
|
||||
Floorplan::Floor& getFloor() {return floor;}
|
||||
std::vector<MapModelElement*> getElements() const override {
|
||||
std::vector<MapModelElement*> vec;
|
||||
for (Floorplan::FloorOutlinePolygon& p : floor.outline.remove) {vec.push_back(new MapViewElementFloorOutlinePolygon(floor, p, MapViewElementFloorOutlinePolygon::Type::REMOVE));}
|
||||
return vec;
|
||||
}
|
||||
void create(const Floorplan::FloorOutlinePolygon& poly) {
|
||||
floor.outline.remove.push_back(poly);
|
||||
}
|
||||
virtual size_t getNumElements() const override {return floor.outline.remove.size();}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class MapLayerFloorOutlinePolygon : public TypedMapLayer {
|
||||
private:
|
||||
Floorplan::Floor& floor;
|
||||
public:
|
||||
MapLayerFloorOutlinePolygon(MapLayer* parent, Floorplan::Floor& floor) : TypedMapLayer(parent, MapLayerType::FLOOR_GROUND), floor(floor) {
|
||||
new MapLayerFloorOutlineAdd(this, floor);
|
||||
new MapLayerFloorOutlineRemove(this, floor);
|
||||
}
|
||||
std::string getLayerName() const override {return "ground";}
|
||||
Floorplan::Floor& getFloor() {return floor;}
|
||||
};
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // MAPLAYERFLOOR_H
|
||||
Reference in New Issue
Block a user