#ifndef MAPMODELELEMENTFLOOROBSTACLECIRCLE_H #define MAPMODELELEMENTFLOOROBSTACLECIRCLE_H #include "MapModelElement.h" #include "../elements/MapViewElementHelper.h" #include "IHasMaterial.h" #include "IHasObstacleType.h" #include "../elements/MV2DElementFloorObstacleCircle.h" #include class MMFloorObstacleCircle : public MapModelElement, public IHasMaterial { private: Floorplan::Floor* mf; Floorplan::FloorObstacleCircle* c; MV2DElementFloorObstacleCircle mv2d; public: MMFloorObstacleCircle(MapLayer* parent, Floorplan::Floor* mf, Floorplan::FloorObstacleCircle* c) : MapModelElement(parent), mf(mf), c(c), mv2d(c) { } void setMaterial(const Floorplan::Material m) override {c->material = m;} Floorplan::Material getMaterial() const override {return c->material;} // void setObstacleType(const Floorplan::ObstacleType t) override {c->type = t;} // Floorplan::ObstacleType getObatcleType() const override {return c->type;} MV2DElement* getMV2D() const override {return (MV2DElement*) &mv2d;} void deleteMe() const override { parent->removeElement(this); mf->obstacles.erase(std::remove(mf->obstacles.begin(), mf->obstacles.end(), c), mf->obstacles.end()); } }; #endif // MAPMODELELEMENTFLOOROBSTACLECIRCLE_H