1 #ifndef INCLUDE_ONCE_5D7304A4_A588_478B_B21C_55EA5C4F88C0 2 #define INCLUDE_ONCE_5D7304A4_A588_478B_B21C_55EA5C4F88C0 4 #include <QProgressBar> 9 #include "Manipulator.hpp" 10 #include "RadiancePlot.hpp" 11 #include "GLWidget.hpp" 12 #include "api/ShowMySky/Settings.hpp" 20 static constexpr
double degree=M_PI/180;
22 QVBoxLayout* scattererCheckboxes_=
new QVBoxLayout;
23 QComboBox* ditheringMode_=
new QComboBox;
24 QComboBox* ditheringMethod_=
new QComboBox;
25 QComboBox* solarSpectrumMode_=
new QComboBox;
26 QComboBox* projection_=
new QComboBox;
27 QComboBox* colorMode_=
new QComboBox;
28 QDoubleSpinBox* solarSpectrumTemperature_=
new QDoubleSpinBox;
40 Manipulator* lightPollutionGroundLuminance_=
nullptr;
41 QCheckBox* onTheFlySingleScatteringEnabled_=
nullptr;
42 QCheckBox* onTheFlyPrecompDoubleScatteringEnabled_=
nullptr;
43 QCheckBox* zeroOrderScatteringEnabled_=
nullptr;
44 QCheckBox* singleScatteringEnabled_=
nullptr;
45 QCheckBox* multipleScatteringEnabled_=
nullptr;
46 QCheckBox* textureFilteringEnabled_=
nullptr;
47 QCheckBox* usingEclipseShader_=
nullptr;
48 QCheckBox* pseudoMirrorEnabled_=
nullptr;
49 QCheckBox* gradualClippingEnabled_=
nullptr;
50 QCheckBox* glareEnabled_=
nullptr;
51 QPushButton* showRadiancePlot_=
nullptr;
52 std::unique_ptr<QWidget> radiancePlotWindow_;
54 QCheckBox* windowDecorationEnabled_=
nullptr;
55 QVector<QCheckBox*> scatterers;
59 double altitude()
override {
return altitude_->value(); }
60 double sunAzimuth()
override {
return degree*sunAzimuth_->value(); }
61 double sunZenithAngle()
override {
return degree*(90-sunElevation_->value()); }
63 double moonAzimuth()
override {
return degree*moonAzimuth_->value(); }
66 float zoomFactor()
const {
return zoomFactor_->value(); }
67 float cameraYaw()
const {
return degree*cameraYaw_->value(); }
68 float cameraPitch()
const {
return degree*cameraPitch_->value(); }
78 bool gradualClippingEnabled()
const {
return gradualClippingEnabled_->isChecked(); }
79 bool glareEnabled()
const {
return glareEnabled_->isChecked(); }
80 float exposure()
const {
return std::pow(10., exposure_->value()); }
81 GLWidget::DitheringMode ditheringMode()
const {
return static_cast<GLWidget::DitheringMode>(ditheringMode_->currentIndex()); }
82 GLWidget::DitheringMethod ditheringMethod()
const {
return static_cast<GLWidget::DitheringMethod>(ditheringMethod_->currentIndex()); }
85 void setCanGrabRadiance(
bool can);
86 void setCanSetSolarSpectrum(
bool can);
87 void setZoomFactor(
double zoom);
88 void setCameraPitch(
double pitch);
89 void setCameraYaw(
double yaw);
90 void setSunAzimuth(
double azimuth);
91 void setSunZenithAngle(
double elevation);
93 void setWindowDecorationEnabled(
bool enabled);
96 void showRadiancePlot();
97 void onSolarSpectrumChanged();
100 void settingChanged();
101 void ditheringMethodChanged();
102 void setScattererEnabled(QString
const& name,
bool enable);
103 void reloadShadersClicked();
104 void setFlatSolarSpectrum();
105 void resetSolarSpectrum();
106 void setBlackBodySolarSpectrum(
double temperature);
107 void windowDecorationToggled(
bool enabled);
108 void projectionChanged(GLWidget::Projection);
109 void colorModeChanged(GLWidget::ColorMode);
Scene settings for AtmosphereRenderer.
Definition: Settings.hpp:9
Definition: AtmosphereParameters.hpp:10
Definition: Manipulator.hpp:10
Definition: RadiancePlot.hpp:10
Spectral radiance of a pixel.
Definition: AtmosphereRenderer.hpp:40