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