refactoring

wireframe display
worked on 3d-model display
This commit is contained in:
2018-02-08 21:38:51 +01:00
parent bce771d6d6
commit 839401edb7
16 changed files with 395 additions and 236 deletions

View File

@@ -56,6 +56,15 @@ MapView3D::MapView3D(QWidget *parent) : QOpenGLWidget(parent) {
emit update();
});
QPushButton* btnWireframe = new QPushButton(UIHelper::getIcon("wireframe"), "", this);
btnWireframe->setCheckable(true);
btnWireframe->setStyleSheet(style);
btnWireframe->setGeometry(16, 16+8+32+8+32, 32, 32);
connect(btnWireframe, &QPushButton::clicked, [this] () {
useWireframe = !useWireframe;
emit update();
});
QPushButton* btnGrid = new QPushButton(UIHelper::getIcon("grid"), "", this);
btnGrid->setCheckable(true);
btnGrid->setChecked(false);
@@ -74,6 +83,7 @@ MapView3D::MapView3D(QWidget *parent) : QOpenGLWidget(parent) {
emit onShow3DNavMesh(btnNavMesh->isChecked());
});
// android
setAttribute(Qt::WA_AcceptTouchEvents, true);
grabGesture(Qt::PanGesture);
@@ -81,7 +91,7 @@ MapView3D::MapView3D(QWidget *parent) : QOpenGLWidget(parent) {
auto format = QSurfaceFormat();
//format.setVersion(4,3);
format.setSamples(4);
format.setSamples(2);
//format.setProfile(QSurfaceFormat::CoreProfile);
setFormat(format);
@@ -298,8 +308,8 @@ void MapView3D::draw() {
rs.shader->setViewMatrix(V);
rs.shader->setProjectionMatrix(P);
if (floorplanRenderer && floorplanRendererModel) {
floorplanRenderer->renderSolid(rs, floorplanRendererModel->getTriaSolid() );
if (showFloorplan && floorplanRendererModel) {
floorplanRenderer->renderSolid(rs, floorplanRendererModel->getTriaSolid(), useWireframe );
}
// // solid floorplan parts
@@ -330,8 +340,8 @@ void MapView3D::draw() {
// }
if (floorplanRenderer && floorplanRendererModel) {
floorplanRenderer->renderTransp(rs, floorplanRendererModel->getTriaTransp() );
if (showFloorplan && floorplanRendererModel) {
floorplanRenderer->renderTransp(rs, floorplanRendererModel->getTriaTransp(), useWireframe);
}