some refactoring

hopefully improved rendering speed
added support to add .obj obstacles
This commit is contained in:
2018-02-17 17:39:18 +01:00
parent 839401edb7
commit 52ab71fac5
25 changed files with 538 additions and 12 deletions

View File

@@ -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";}