worked on grid generation

minor editor changes
This commit is contained in:
2016-07-13 19:04:01 +02:00
parent 2935f468fc
commit 86c76b1284
14 changed files with 90 additions and 51 deletions

View File

@@ -77,7 +77,7 @@ MainController::MainController() {
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");
}

View File

@@ -27,6 +27,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
ui->setupUi(this);
QString css;
css += "QPushButton { border: 1px solid #000000; background-color: #ffffff; }";
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);
layerTree = new QTreeView();
mapView2D = new MapView2D();
mapView3D = new MapView3D();
@@ -43,14 +47,52 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
actionWidget = new ActionWidget();
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);
ui->layTree->addWidget(elementParamWidget);
ui->layTree->addWidget(actionWidget);
// layers
QDockWidget* layerTreeDock = new QDockWidget("layers", this); layerTreeDock->setWidget(layerTree);
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
@@ -85,5 +127,5 @@ MainWindow::~MainWindow() {
QTreeView* MainWindow::getTree() {
return ui->layerTree;
return layerTree;
}

View File

@@ -2,6 +2,7 @@
#define MAINWINDOW_H
#include <QMainWindow>
class MapView2D;
class MapView3D;
class QTreeView;
@@ -44,6 +45,7 @@ signals:
private:
Ui::MainWindow *ui;
QTreeView* layerTree;
MapView2D* mapView2D;
MapView3D* mapView3D;
ElementParamWidget* elementParamWidget;

View File

@@ -14,28 +14,7 @@
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralWidget">
<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>
<layout class="QGridLayout" name="gridLayout_2"/>
</widget>
<widget class="QStatusBar" name="statusBar"/>
<widget class="QMenuBar" name="menuBar">

View File

@@ -1,8 +1,8 @@
#include "MainController.h"
#include <QApplication>
#include "exp.h"
#include "ray.h"
//#include "exp.h"
//#include "ray.h"
int main(int argc, char *argv[]) {

View File

@@ -21,7 +21,7 @@ class GridModel {
private:
int gridSize_cm = 31;
int gridSize_cm = 20;
Grid<MyNode> grid;
Floorplan::IndoorMap* im;
@@ -82,7 +82,7 @@ public:
Listener l;
GridFactory<MyNode> fac(grid);
fac.build(im, true, &l);
fac.build(im, &l);
Importance::addImportance(grid, 0);
//Importance::addImportance(grid, 400);

View File

@@ -79,8 +79,8 @@ public:
float sy1 = p.s.yms(my1);
float sx2 = p.s.xms(mx2);
float sy2 = p.s.yms(my2);
float sw = abs(sx1-sx2);
float sh = abs(sy1-sy2);
float sw = std::abs(sx1-sx2);
float sh = std::abs(sy1-sy2);
bbox = BBox2();
bbox.add(Point2(mx1, my1));

View File

@@ -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));
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;
gradient.setColorAt(0, QColor(p1*255, p1*255, p1*255));
gradient.setColorAt(1, QColor(p2*255, p2*255, p2*255));
gradient.setColorAt(0, QColor(p1*255, p1*255, p1*255, 128));
gradient.setColorAt(1, QColor(p2*255, p2*255, p2*255, 128));
p.setBrush(gradient);
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};
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()) {

View File

@@ -3,9 +3,7 @@
#include <QPushButton>
#include <QHBoxLayout>
ActionWidget::ActionWidget(QWidget *parent) : QGroupBox(parent) {
setTitle("actions");
ActionWidget::ActionWidget(QWidget *parent) : QWidget(parent) {
QHBoxLayout* lay = new QHBoxLayout(this);

View File

@@ -1,9 +1,9 @@
#ifndef ACTIONWIDGET_H
#define ACTIONWIDGET_H
#include <QGroupBox>
#include <QWidget>
class ActionWidget : public QGroupBox {
class ActionWidget : public QWidget {
Q_OBJECT

View File

@@ -64,14 +64,14 @@ QComboBox* getOutlineMethods() {
ElementParamWidget::ElementParamWidget(QWidget *parent) : QGroupBox(parent) {
ElementParamWidget::ElementParamWidget(QWidget *parent) : QWidget(parent) {
this->lay = new QGridLayout(this);
setMinimumSize(100, 100);
setMaximumWidth(250);
setTitle("MapElement Parameters");
//setTitle("MapElement Parameters");
QGridLayout* lay = new QGridLayout();
// start empty

View File

@@ -1,7 +1,7 @@
#ifndef PARAMWIDGET_H
#define PARAMWIDGET_H
#include <QGroupBox>
#include <QWidget>
#include "../mapview/model/MapModelElement.h"
class QLabel;
@@ -10,7 +10,7 @@ class QLineEdit;
class QPushButton;
class QGridLayout;
class ElementParamWidget : public QGroupBox {
class ElementParamWidget : public QWidget {
Q_OBJECT

View File

@@ -7,11 +7,11 @@
#include "mapview/model/IHasName.h"
#include "mapview/model/MMFloor.h"
LayerParamWidget::LayerParamWidget(QWidget *parent) : QGroupBox(parent) {
LayerParamWidget::LayerParamWidget(QWidget *parent) : QWidget(parent) {
setMinimumSize(100, 100);
setMaximumWidth(250);
setTitle("MapLayer Parameters");
//setTitle("MapLayer Parameters");
QGridLayout* lay = new QGridLayout(this);
int r = 0;

View File

@@ -1,7 +1,7 @@
#ifndef LAYERPARAMWIDGET_H
#define LAYERPARAMWIDGET_H
#include <QGroupBox>
#include <QWidget>
class MapLayer;
@@ -9,7 +9,7 @@ class QLabel;
class QLineEdit;
class QComboBox;
class LayerParamWidget : public QGroupBox {
class LayerParamWidget : public QWidget {
Q_OBJECT