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

@@ -30,6 +30,7 @@
#include "../mapview/2D/tools/ToolNewAccessPoint.h"
#include "../mapview/2D/tools/ToolNewBeacon.h"
#include "../mapview/2D/tools/ToolNewPOI.h"
#include "../mapview/2D/tools/ToolNewObject.h"
#include "../UIHelper.h"
@@ -89,6 +90,11 @@ ToolBoxWidget::ToolBoxWidget(MapView2D* view, QWidget *parent) : QWidget(parent)
lay->addWidget(btnDoor, r++, 0, 1,1,Qt::AlignTop);
connect(btnDoor, SIGNAL(clicked(bool)), this, SLOT(onNewDoor()));
btnObject = new QPushButton(UIHelper::getIcon("objects"), "");
btnObject->setMinimumSize(s,s);
lay->addWidget(btnObject, r++, 0, 1,1,Qt::AlignTop);
connect(btnObject, SIGNAL(clicked(bool)), this, SLOT(onNewObject()));
btnStair = new QPushButton(UIHelper::getIcon("stair"), "");
btnStair->setMinimumSize(s,s);
lay->addWidget(btnStair, r++, 0, 1,1,Qt::AlignTop);
@@ -133,11 +139,11 @@ ToolBoxWidget::ToolBoxWidget(MapView2D* view, QWidget *parent) : QWidget(parent)
lay->addWidget(btnPOI, r++, 0, 1,1,Qt::AlignTop);
connect(btnPOI, SIGNAL(clicked(bool)), this, SLOT(onNewPOI()));
// GROUNDTRUTH
btnGTP = new QPushButton(UIHelper::getIcon("gtp"), "");
btnGTP->setMinimumSize(s,s);
lay->addWidget(btnGTP, r++, 0, 1,1,Qt::AlignTop);
connect(btnGTP, SIGNAL(clicked(bool)), this, SLOT(onNewGTP()));
// GROUNDTRUTH
btnGTP = new QPushButton(UIHelper::getIcon("gtp"), "");
btnGTP->setMinimumSize(s,s);
lay->addWidget(btnGTP, r++, 0, 1,1,Qt::AlignTop);
connect(btnGTP, SIGNAL(clicked(bool)), this, SLOT(onNewGTP()));
@@ -179,6 +185,7 @@ void ToolBoxWidget::onMainToolChanged() {
btnDoor->setStyleSheet( dynamic_cast<ToolNewDoor*>(t) ? styleSel : styleNor );
btnWall->setStyleSheet( dynamic_cast<ToolNewWall*>(t) ? styleSel : styleNor );
btnObject->setStyleSheet( dynamic_cast<ToolNewWall*>(t) ? styleSel : styleNor );
btnElevator->setStyleSheet( dynamic_cast<ToolNewElevator*>(t) ? styleSel : styleNor );
btnStair->setStyleSheet( dynamic_cast<ToolNewStair*>(t) ? styleSel : styleNor );
@@ -199,6 +206,7 @@ void ToolBoxWidget::setSelectedLayer(MapLayer *ml) {
btnWall->setEnabled(ml && (ml->getLayerType() == MapLayerType::FLOOR_OBSTACLES));
btnPillar->setEnabled(ml && (ml->getLayerType() == MapLayerType::FLOOR_OBSTACLES));
btnDoor->setEnabled(ml && (ml->getLayerType() == MapLayerType::FLOOR_OBSTACLES));
btnObject->setEnabled(ml && (ml->getLayerType() == MapLayerType::FLOOR_OBSTACLES));
btnStair->setEnabled(ml && (ml->getLayerType() == MapLayerType::FLOOR_STAIRS));
btnElevator->setEnabled(ml && (ml->getLayerType() == MapLayerType::FLOOR_ELEVATORS));
@@ -207,7 +215,7 @@ void ToolBoxWidget::setSelectedLayer(MapLayer *ml) {
btnBeacon->setEnabled(ml && (ml->getLayerType() == MapLayerType::FLOOR_BEACONS));
btnFingerprintLocation->setEnabled(ml && (ml->getLayerType() == MapLayerType::FLOOR_FINGERPRINTS));
btnPOI->setEnabled(ml && (ml->getLayerType() == MapLayerType::FLOOR_POIS));
btnGTP->setEnabled(ml && (ml->getLayerType() == MapLayerType::FLOOR_GROUND_TRUTH_POINTS));
btnGTP->setEnabled(ml && (ml->getLayerType() == MapLayerType::FLOOR_GROUND_TRUTH_POINTS));
btnImage->setEnabled(ml && (ml->getLayerType() == MapLayerType::FLOOR_UNDERLAYS));
@@ -255,6 +263,10 @@ void ToolBoxWidget::onNewDoor() {
view->getTools().setMain(new ToolNewDoor(view->getTools(), curLayer));
}
void ToolBoxWidget::onNewObject() {
view->getTools().setMain(new ToolNewObject(view->getTools(), curLayer));
}
void ToolBoxWidget::onNewPillar() {
const Point2 center = view->getScaler().getCenter();

View File

@@ -42,6 +42,7 @@ private:
QPushButton* btnWall;
QPushButton* btnPillar;
QPushButton* btnDoor;
QPushButton* btnObject;
QPushButton* btnStair;
QPushButton* btnElevator;
@@ -64,6 +65,7 @@ private slots:
void onNewWall();
void onNewPillar();
void onNewDoor();
void onNewObject();
void onNewStair();
void onNewElevator();
@@ -71,7 +73,7 @@ private slots:
void onNewBeacon();
void onNewFingerprintLocation();
void onNewPOI();
void onNewGTP();
void onNewGTP();
void onNewImage();