worked on grid creation
fixed some issues with stairs fixed/added LINT
This commit is contained in:
@@ -89,7 +89,7 @@ public:
|
||||
if (listener) {listener->onGridBuildUpdateMajor("adding stairs");}
|
||||
if (_buildStairs) {
|
||||
for (Floorplan::Floor* f : map->floors) {
|
||||
buildStairs(f, listener);
|
||||
buildStairs(map, f, listener);
|
||||
if (listener) {listener->onGridBuildUpdateMajor(total, ++cur);}
|
||||
}
|
||||
}
|
||||
@@ -215,7 +215,7 @@ public:
|
||||
GridNodeBBox bbox(GridPoint(x_cm, y_cm, z_cm), helper.gridSize());
|
||||
|
||||
// slightly grow the bbox to ensure even obstacles that are directly aligned to the bbox are hit
|
||||
bbox.grow(0.42345);
|
||||
bbox.grow(0.1337);
|
||||
if (intersects(bbox, floor)) {continue;}
|
||||
|
||||
// add to the grid [once]
|
||||
@@ -246,7 +246,7 @@ public:
|
||||
|
||||
}
|
||||
|
||||
void buildStairs(const Floorplan::Floor* floor, GridFactoryListener* listener = nullptr) {
|
||||
void buildStairs(const Floorplan::IndoorMap* map, const Floorplan::Floor* floor, GridFactoryListener* listener = nullptr) {
|
||||
|
||||
const int total = floor->stairs.size();
|
||||
int cur = 0;
|
||||
@@ -254,7 +254,7 @@ public:
|
||||
// process each stair within the floor
|
||||
for (const Floorplan::Stair* stair : floor->stairs) {
|
||||
if (listener) {listener->onGridBuildUpdateMinor("adding " + floor->name + " stair " + std::to_string(cur+1));}
|
||||
stairs.build(floor, stair);
|
||||
stairs.build(map, floor, stair);
|
||||
if (listener) {listener->onGridBuildUpdateMinor(total, ++cur);}
|
||||
}
|
||||
|
||||
@@ -419,6 +419,9 @@ public:
|
||||
|
||||
void removeIsolatedNodes() {
|
||||
|
||||
//std::cout << "todo: remove" << std::endl;
|
||||
//return;
|
||||
|
||||
// try to start at the first stair
|
||||
for (T& n : grid) {
|
||||
if (n.getType() == GridNode::TYPE_STAIR) {removeIsolatedNodes(n); return;}
|
||||
@@ -439,6 +442,9 @@ public:
|
||||
getConnected(n1, set);
|
||||
Log::tock();
|
||||
|
||||
//const int numToRemove = grid.getNumNodes() - set.size();
|
||||
//int numRemoved = 0;
|
||||
|
||||
// remove all other
|
||||
Log::add(name, "removing all nodes NOT connected to " + (std::string) n1, false);
|
||||
Log::tick();
|
||||
@@ -455,6 +461,9 @@ public:
|
||||
// proceed ;)
|
||||
grid.remove(n2);
|
||||
|
||||
//++numRemoved;
|
||||
//std::cout << numRemoved << ":" << numToRemove << std::endl;
|
||||
|
||||
}
|
||||
}
|
||||
Log::tock();
|
||||
|
||||
Reference in New Issue
Block a user