some refactoring
hopefully improved rendering speed added support to add .obj obstacles
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include "MMFloorObstacleCircle.h"
|
||||
#include "MMFloorObstacleLine.h"
|
||||
#include "MMFloorObstacleDoor.h"
|
||||
#include "MMFloorObstacleObject.h"
|
||||
|
||||
#include <Indoor/floorplan/v2/Floorplan.h>
|
||||
|
||||
@@ -28,6 +29,8 @@ public:
|
||||
addElement(new MMFloorObstacleCircle(this, floor, (Floorplan::FloorObstacleCircle*)o));
|
||||
} else if (dynamic_cast<Floorplan::FloorObstacleDoor*>(o)) {
|
||||
addElement(new MMFloorObstacleDoor(this, floor, (Floorplan::FloorObstacleDoor*)o));
|
||||
} else if (dynamic_cast<Floorplan::FloorObstacleObject*>(o)) {
|
||||
addElement(new MMFloorObstacleObject(this, floor, (Floorplan::FloorObstacleObject*)o));
|
||||
} else {
|
||||
throw new Exception("todo: not yet implemented obstacle type");
|
||||
}
|
||||
@@ -84,6 +87,19 @@ public:
|
||||
|
||||
}
|
||||
|
||||
//TODO: check
|
||||
MMFloorObstacleObject* createObject(Floorplan::FloorObstacleObject* obs) {
|
||||
|
||||
// add to underlying model
|
||||
floor->obstacles.push_back(obs);
|
||||
|
||||
// add to myself as element
|
||||
MMFloorObstacleObject* mm = new MMFloorObstacleObject(this, floor, obs);
|
||||
addElement(mm);
|
||||
return mm;
|
||||
|
||||
}
|
||||
|
||||
|
||||
std::string getLayerName() const override {return "obstacles";}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user