worked on grid generation
minor editor changes
This commit is contained in:
@@ -77,7 +77,7 @@ MainController::MainController() {
|
|||||||
connect(mw, &MainWindow::onGridShowEdges, [&] (const bool show) {mw->getMapView3D()->getGridRenderer()->setShowEdges(show);} );
|
connect(mw, &MainWindow::onGridShowEdges, [&] (const bool show) {mw->getMapView3D()->getGridRenderer()->setShowEdges(show);} );
|
||||||
|
|
||||||
|
|
||||||
mapModel->load("../IndoorMap/maps/SHL17.xml");
|
mapModel->load("../IndoorMap/maps/SHL20.xml");
|
||||||
//mapModel->load("../IndoorMap/maps/test.xml");
|
//mapModel->load("../IndoorMap/maps/test.xml");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
|||||||
|
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QString css;
|
QString css;
|
||||||
css += "QPushButton { border: 1px solid #000000; background-color: #ffffff; }";
|
css += "QPushButton { border: 1px solid #000000; background-color: #ffffff; }";
|
||||||
css += "QPushButton:!enabled { border: 1px solid #cccccc; background-color:none; }";
|
css += "QPushButton:!enabled { border: 1px solid #cccccc; background-color:none; }";
|
||||||
@@ -35,6 +37,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
|||||||
|
|
||||||
this->setStyleSheet(css);
|
this->setStyleSheet(css);
|
||||||
|
|
||||||
|
layerTree = new QTreeView();
|
||||||
|
|
||||||
mapView2D = new MapView2D();
|
mapView2D = new MapView2D();
|
||||||
mapView3D = new MapView3D();
|
mapView3D = new MapView3D();
|
||||||
|
|
||||||
@@ -43,14 +47,52 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
|||||||
actionWidget = new ActionWidget();
|
actionWidget = new ActionWidget();
|
||||||
toolBoxWidget = new ToolBoxWidget(mapView2D);
|
toolBoxWidget = new ToolBoxWidget(mapView2D);
|
||||||
|
|
||||||
ui->layButtons->addWidget(toolBoxWidget);
|
// toolbox
|
||||||
|
QDockWidget* toolBoxWidgetDock = new QDockWidget("", this); toolBoxWidgetDock->setWidget(toolBoxWidget);
|
||||||
|
addDockWidget(Qt::LeftDockWidgetArea, toolBoxWidgetDock);
|
||||||
|
|
||||||
ui->layMap->addWidget(mapView2D);
|
|
||||||
ui->layMap->addWidget(mapView3D);
|
|
||||||
|
|
||||||
ui->layTree->addWidget(layerParamWidget);
|
// layers
|
||||||
ui->layTree->addWidget(elementParamWidget);
|
QDockWidget* layerTreeDock = new QDockWidget("layers", this); layerTreeDock->setWidget(layerTree);
|
||||||
ui->layTree->addWidget(actionWidget);
|
addDockWidget(Qt::RightDockWidgetArea, layerTreeDock);
|
||||||
|
|
||||||
|
// layer params
|
||||||
|
QDockWidget* layerParamWidgetDock = new QDockWidget("layer params", this); layerParamWidgetDock->setWidget(layerParamWidget);
|
||||||
|
addDockWidget(Qt::RightDockWidgetArea, layerParamWidgetDock);
|
||||||
|
|
||||||
|
// element params
|
||||||
|
QDockWidget* elementParamWidgetDock = new QDockWidget("element params", this); elementParamWidgetDock->setWidget(elementParamWidget);
|
||||||
|
addDockWidget(Qt::RightDockWidgetArea, elementParamWidgetDock);
|
||||||
|
|
||||||
|
// actions
|
||||||
|
QDockWidget* actionWidgetDock = new QDockWidget("actions", this); actionWidgetDock->setWidget(actionWidget);
|
||||||
|
addDockWidget(Qt::RightDockWidgetArea, actionWidgetDock);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
QSplitter* splitter = new QSplitter(Qt::Orientation::Vertical);
|
||||||
|
setCentralWidget(splitter);
|
||||||
|
splitter->addWidget(mapView2D);
|
||||||
|
splitter->addWidget(mapView3D);
|
||||||
|
|
||||||
|
// // 2D View
|
||||||
|
// QDockWidget* mapView2DDoc = new QDockWidget("2D", this); mapView2DDoc->setWidget(mapView2D);
|
||||||
|
// addDockWidget(Qt::AllDockWidgetAreas, mapView2DDoc);
|
||||||
|
|
||||||
|
// // 3D View
|
||||||
|
// QDockWidget* mapView3DDoc = new QDockWidget("3D", this); mapView3DDoc->setWidget(mapView3D);
|
||||||
|
// addDockWidget(Qt::AllDockWidgetAreas, mapView3DDoc);
|
||||||
|
|
||||||
|
|
||||||
|
// ui->layButtons->addWidget(toolBoxWidget);
|
||||||
|
|
||||||
|
// ui->layMap->addWidget(mapView2D);
|
||||||
|
// ui->layMap->addWidget(mapView3D);
|
||||||
|
|
||||||
|
// ui->layTree->addWidget(layerParamWidget);
|
||||||
|
// ui->layTree->addWidget(elementParamWidget);
|
||||||
|
// ui->layTree->addWidget(actionWidget);
|
||||||
|
|
||||||
|
|
||||||
// show mode
|
// show mode
|
||||||
@@ -85,5 +127,5 @@ MainWindow::~MainWindow() {
|
|||||||
|
|
||||||
|
|
||||||
QTreeView* MainWindow::getTree() {
|
QTreeView* MainWindow::getTree() {
|
||||||
return ui->layerTree;
|
return layerTree;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#define MAINWINDOW_H
|
#define MAINWINDOW_H
|
||||||
|
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
|
|
||||||
class MapView2D;
|
class MapView2D;
|
||||||
class MapView3D;
|
class MapView3D;
|
||||||
class QTreeView;
|
class QTreeView;
|
||||||
@@ -44,6 +45,7 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::MainWindow *ui;
|
Ui::MainWindow *ui;
|
||||||
|
QTreeView* layerTree;
|
||||||
MapView2D* mapView2D;
|
MapView2D* mapView2D;
|
||||||
MapView3D* mapView3D;
|
MapView3D* mapView3D;
|
||||||
ElementParamWidget* elementParamWidget;
|
ElementParamWidget* elementParamWidget;
|
||||||
|
|||||||
@@ -14,28 +14,7 @@
|
|||||||
<string>MainWindow</string>
|
<string>MainWindow</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="centralWidget">
|
<widget class="QWidget" name="centralWidget">
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QGridLayout" name="gridLayout_2"/>
|
||||||
<item row="0" column="0">
|
|
||||||
<layout class="QVBoxLayout" name="layButtons"/>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<layout class="QVBoxLayout" name="layMap"/>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="2">
|
|
||||||
<layout class="QVBoxLayout" name="layTree">
|
|
||||||
<item>
|
|
||||||
<widget class="QTreeView" name="layerTree">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>250</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QStatusBar" name="statusBar"/>
|
<widget class="QStatusBar" name="statusBar"/>
|
||||||
<widget class="QMenuBar" name="menuBar">
|
<widget class="QMenuBar" name="menuBar">
|
||||||
|
|||||||
4
main.cpp
4
main.cpp
@@ -1,8 +1,8 @@
|
|||||||
#include "MainController.h"
|
#include "MainController.h"
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
|
||||||
#include "exp.h"
|
//#include "exp.h"
|
||||||
#include "ray.h"
|
//#include "ray.h"
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class GridModel {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
int gridSize_cm = 31;
|
int gridSize_cm = 20;
|
||||||
Grid<MyNode> grid;
|
Grid<MyNode> grid;
|
||||||
Floorplan::IndoorMap* im;
|
Floorplan::IndoorMap* im;
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ public:
|
|||||||
Listener l;
|
Listener l;
|
||||||
|
|
||||||
GridFactory<MyNode> fac(grid);
|
GridFactory<MyNode> fac(grid);
|
||||||
fac.build(im, true, &l);
|
fac.build(im, &l);
|
||||||
|
|
||||||
Importance::addImportance(grid, 0);
|
Importance::addImportance(grid, 0);
|
||||||
//Importance::addImportance(grid, 400);
|
//Importance::addImportance(grid, 400);
|
||||||
|
|||||||
@@ -79,8 +79,8 @@ public:
|
|||||||
float sy1 = p.s.yms(my1);
|
float sy1 = p.s.yms(my1);
|
||||||
float sx2 = p.s.xms(mx2);
|
float sx2 = p.s.xms(mx2);
|
||||||
float sy2 = p.s.yms(my2);
|
float sy2 = p.s.yms(my2);
|
||||||
float sw = abs(sx1-sx2);
|
float sw = std::abs(sx1-sx2);
|
||||||
float sh = abs(sy1-sy2);
|
float sh = std::abs(sy1-sy2);
|
||||||
|
|
||||||
bbox = BBox2();
|
bbox = BBox2();
|
||||||
bbox.add(Point2(mx1, my1));
|
bbox.add(Point2(mx1, my1));
|
||||||
|
|||||||
@@ -97,8 +97,8 @@ public:
|
|||||||
QLinearGradient gradient(p.s.xms(part.start.x), p.s.yms(part.start.y), p.s.xms(part.end.x), p.s.yms(part.end.y));
|
QLinearGradient gradient(p.s.xms(part.start.x), p.s.yms(part.start.y), p.s.xms(part.end.x), p.s.yms(part.end.y));
|
||||||
const float p1 = 0.1 + clamp01( part.start.z / floor->height) * 0.8;
|
const float p1 = 0.1 + clamp01( part.start.z / floor->height) * 0.8;
|
||||||
const float p2 = 0.1 + clamp01( part.end.z / floor->height) * 0.8;
|
const float p2 = 0.1 + clamp01( part.end.z / floor->height) * 0.8;
|
||||||
gradient.setColorAt(0, QColor(p1*255, p1*255, p1*255));
|
gradient.setColorAt(0, QColor(p1*255, p1*255, p1*255, 128));
|
||||||
gradient.setColorAt(1, QColor(p2*255, p2*255, p2*255));
|
gradient.setColorAt(1, QColor(p2*255, p2*255, p2*255, 128));
|
||||||
p.setBrush(gradient);
|
p.setBrush(gradient);
|
||||||
p.setPen(QColor(0,0,0,128));
|
p.setPen(QColor(0,0,0,128));
|
||||||
|
|
||||||
@@ -107,6 +107,24 @@ public:
|
|||||||
const std::vector<Point3> points = {quad.p1, quad.p2, quad.p3, quad.p4};
|
const std::vector<Point3> points = {quad.p1, quad.p2, quad.p3, quad.p4};
|
||||||
p.drawPolygon(points);
|
p.drawPolygon(points);
|
||||||
|
|
||||||
|
|
||||||
|
QPen pen;
|
||||||
|
pen.setWidth(5);
|
||||||
|
pen.setColor(QColor(255,0,0));
|
||||||
|
p.setPen(pen);
|
||||||
|
|
||||||
|
// LINT
|
||||||
|
if (i == 0) {
|
||||||
|
if (quad.p1.z != floor->getStartingZ()) {
|
||||||
|
p.drawLine(quad.p1, quad.p2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i == (int) parts.size() - 1) {
|
||||||
|
if (quad.p3.z != floor->getEndingZ()) {
|
||||||
|
p.drawLine(quad.p3, quad.p4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hasFocus()) {
|
if (hasFocus()) {
|
||||||
|
|||||||
@@ -3,9 +3,7 @@
|
|||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
|
|
||||||
ActionWidget::ActionWidget(QWidget *parent) : QGroupBox(parent) {
|
ActionWidget::ActionWidget(QWidget *parent) : QWidget(parent) {
|
||||||
|
|
||||||
setTitle("actions");
|
|
||||||
|
|
||||||
QHBoxLayout* lay = new QHBoxLayout(this);
|
QHBoxLayout* lay = new QHBoxLayout(this);
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#ifndef ACTIONWIDGET_H
|
#ifndef ACTIONWIDGET_H
|
||||||
#define ACTIONWIDGET_H
|
#define ACTIONWIDGET_H
|
||||||
|
|
||||||
#include <QGroupBox>
|
#include <QWidget>
|
||||||
|
|
||||||
class ActionWidget : public QGroupBox {
|
class ActionWidget : public QWidget {
|
||||||
|
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
|||||||
@@ -64,14 +64,14 @@ QComboBox* getOutlineMethods() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
ElementParamWidget::ElementParamWidget(QWidget *parent) : QGroupBox(parent) {
|
ElementParamWidget::ElementParamWidget(QWidget *parent) : QWidget(parent) {
|
||||||
|
|
||||||
this->lay = new QGridLayout(this);
|
this->lay = new QGridLayout(this);
|
||||||
|
|
||||||
setMinimumSize(100, 100);
|
setMinimumSize(100, 100);
|
||||||
setMaximumWidth(250);
|
setMaximumWidth(250);
|
||||||
|
|
||||||
setTitle("MapElement Parameters");
|
//setTitle("MapElement Parameters");
|
||||||
QGridLayout* lay = new QGridLayout();
|
QGridLayout* lay = new QGridLayout();
|
||||||
|
|
||||||
// start empty
|
// start empty
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#ifndef PARAMWIDGET_H
|
#ifndef PARAMWIDGET_H
|
||||||
#define PARAMWIDGET_H
|
#define PARAMWIDGET_H
|
||||||
|
|
||||||
#include <QGroupBox>
|
#include <QWidget>
|
||||||
#include "../mapview/model/MapModelElement.h"
|
#include "../mapview/model/MapModelElement.h"
|
||||||
|
|
||||||
class QLabel;
|
class QLabel;
|
||||||
@@ -10,7 +10,7 @@ class QLineEdit;
|
|||||||
class QPushButton;
|
class QPushButton;
|
||||||
class QGridLayout;
|
class QGridLayout;
|
||||||
|
|
||||||
class ElementParamWidget : public QGroupBox {
|
class ElementParamWidget : public QWidget {
|
||||||
|
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
|||||||
@@ -7,11 +7,11 @@
|
|||||||
#include "mapview/model/IHasName.h"
|
#include "mapview/model/IHasName.h"
|
||||||
#include "mapview/model/MMFloor.h"
|
#include "mapview/model/MMFloor.h"
|
||||||
|
|
||||||
LayerParamWidget::LayerParamWidget(QWidget *parent) : QGroupBox(parent) {
|
LayerParamWidget::LayerParamWidget(QWidget *parent) : QWidget(parent) {
|
||||||
|
|
||||||
setMinimumSize(100, 100);
|
setMinimumSize(100, 100);
|
||||||
setMaximumWidth(250);
|
setMaximumWidth(250);
|
||||||
setTitle("MapLayer Parameters");
|
//setTitle("MapLayer Parameters");
|
||||||
|
|
||||||
QGridLayout* lay = new QGridLayout(this);
|
QGridLayout* lay = new QGridLayout(this);
|
||||||
int r = 0;
|
int r = 0;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#ifndef LAYERPARAMWIDGET_H
|
#ifndef LAYERPARAMWIDGET_H
|
||||||
#define LAYERPARAMWIDGET_H
|
#define LAYERPARAMWIDGET_H
|
||||||
|
|
||||||
#include <QGroupBox>
|
#include <QWidget>
|
||||||
|
|
||||||
class MapLayer;
|
class MapLayer;
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ class QLabel;
|
|||||||
class QLineEdit;
|
class QLineEdit;
|
||||||
class QComboBox;
|
class QComboBox;
|
||||||
|
|
||||||
class LayerParamWidget : public QGroupBox {
|
class LayerParamWidget : public QWidget {
|
||||||
|
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user