git-svn-id: svn://db.shs.com.ru/libs@703 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2019-12-15 10:38:43 +00:00
parent 64209212a9
commit b8f2ee0dfb
21 changed files with 772 additions and 151 deletions

View File

@@ -18,6 +18,7 @@
#include "view_editor.h"
#include "ui_view_editor.h"
#include <QFileDialog>
#include <colorbutton.h>
#include <spinslider.h>
@@ -27,6 +28,7 @@ ViewEditor::ViewEditor(QWidget * parent): QWidget(parent) {
ui->setupUi(this);
view = 0;
active = true;
ui->checkCameraLight->setCheckState(Qt::PartiallyChecked);
}
@@ -44,7 +46,10 @@ void ViewEditor::assignQGLView(QGLView * v) {
ui->colorSelectionHalo->setColor(view->selectionHaloColor());
ui->checkFXAA->setChecked(view->isFeatureEnabled(QGLView::qglFXAA));
ui->checkCameraOrbit->setChecked(view->isCameraOrbit());
ui->checkCameraLight->setCheckState((Qt::CheckState)view->cameraLightMode());
ui->checkService->setChecked(view->isServiceMode());
ui->lineHDR->setProperty("GLpath", view->environmentMapFile());
ui->lineHDR->setText(QFileInfo(view->environmentMapFile()).fileName());
active = true;
}
@@ -140,13 +145,32 @@ void ViewEditor::on_checkCameraOrbit_clicked(bool val) {
}
void ViewEditor::on_checkCameraLight_clicked(bool val) {
if (!view || !active) return;
view->setCameraLightOn(val);
}
void ViewEditor::on_checkService_clicked(bool val) {
if (!view || !active) return;
view->setServiceMode(val);
}
void ViewEditor::on_checkCameraLight_stateChanged(int s) {
if (!view || !active) return;
view->setCameraLightMode((QGLView::CameraLightMode)s);
}
void ViewEditor::on_buttonHDRClear_clicked() {
if (!view || !active) return;
ui->lineHDR->setText("");
ui->lineHDR->setProperty("GLpath", "");
view->setEnvironmentMapFile("");
}
void ViewEditor::on_buttonHDRSelect_clicked() {
if (!view || !active) return;
QString str = QFileDialog::getOpenFileName(this, "Select image", ui->lineHDR->property("GLpath").toString(), "Radiance HDR(*.hdr)");
if (str.isEmpty()) return;
ui->lineHDR->setText(QFileInfo(str).fileName());
ui->lineHDR->setProperty("GLpath", str);
view->setEnvironmentMapFile(str);
}

View File

@@ -55,8 +55,10 @@ private slots:
void on_checkAutoExposure_toggled(bool val);
void on_checkFXAA_clicked(bool val);
void on_checkCameraOrbit_clicked(bool val);
void on_checkCameraLight_clicked(bool val);
void on_checkService_clicked(bool val);
void on_checkCameraLight_stateChanged(int s);
void on_buttonHDRClear_clicked();
void on_buttonHDRSelect_clicked();
signals:

View File

@@ -73,6 +73,65 @@
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Gamma:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="SpinSlider" name="spinViewGamma">
<property name="minimum">
<double>0.010000000000000</double>
</property>
<property name="maximum">
<double>5.000000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
<property name="decimals">
<number>2</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Env HDR:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_7">
<property name="spacing">
<number>2</number>
</property>
<item>
<widget class="QLineEdit" name="lineHDR"/>
</item>
<item>
<widget class="QToolButton" name="buttonHDRClear">
<property name="icon">
<iconset resource="../../qad/utils/qad_utils.qrc">
<normaloff>:/icons/edit-delete.png</normaloff>:/icons/edit-delete.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="buttonHDRSelect">
<property name="icon">
<iconset resource="../../qad/application/qad_application.qrc">
<normaloff>:/icons/document-open.png</normaloff>:/icons/document-open.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
@@ -90,9 +149,6 @@
<property name="text">
<string>Auto exposure</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
@@ -105,6 +161,16 @@
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="checkCameraLight">
<property name="text">
<string>Camera light</string>
</property>
<property name="tristate">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
@@ -112,117 +178,86 @@
<property name="title">
<string>Camera</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="2">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Gamma:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QCheckBox" name="checkCameraOrbit">
<property name="text">
<string>Orbit</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>1</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>FOV:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="SpinSlider" name="spinFOV">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>179.900000000000006</double>
</property>
<property name="value">
<double>60.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="3">
<widget class="SpinSlider" name="spinViewGamma">
<property name="minimum">
<double>0.010000000000000</double>
</property>
<property name="maximum">
<double>5.000000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
<property name="decimals">
<number>2</number>
</property>
</widget>
</item>
<item row="0" column="1" rowspan="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>1</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label">
<property name="text">
<string>FOV:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="checkCameraLight">
<property name="text">
<string>CamLight</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="SpinSlider" name="spinFOV">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>179.900000000000006</double>
</property>
<property name="value">
<double>60.000000000000000</double>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="checkCameraOrbit">
<property name="text">
<string>Orbit</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Depth start:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1" colspan="3">
<widget class="QDoubleSpinBox" name="spinDepthStart">
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>999999999.000000000000000</double>
</property>
<property name="stepType">
<enum>QAbstractSpinBox::AdaptiveDecimalStepType</enum>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Depth start:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="spinDepthStart">
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>999999999.000000000000000</double>
</property>
<property name="stepType">
<enum>QAbstractSpinBox::AdaptiveDecimalStepType</enum>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
@@ -468,6 +503,9 @@
<header>colorbutton.h</header>
</customwidget>
</customwidgets>
<resources/>
<resources>
<include location="../../qad/utils/qad_utils.qrc"/>
<include location="../../qad/application/qad_application.qrc"/>
</resources>
<connections/>
</ui>