11#include <QSvgRenderer> 
   27#include "qscrollarea.h" 
   39        : QMainWindow(nullptr)
 
   43        this->setWindowTitle(QString(
"Setting"));
 
   45        QDockWidget* Docker = 
new QDockWidget();
 
   46        this->addDockWidget(Qt::LeftDockWidgetArea, Docker);
 
   47        Docker->setMinimumSize(QSize(200, 600));
 
   48        Docker->setMaximumWidth(200);
 
   49        auto titleBar1 = Docker->titleBarWidget();
 
   50        Docker->setTitleBarWidget(
new QWidget());
 
   53        QLabel* SelectLabel = 
new QLabel(
"Cateory");
 
   54        SelectLabel->setAlignment(Qt::AlignCenter);
 
   58        QWidget* selectWidget = 
new QWidget();
 
   59        QVBoxLayout* selectVLayout = 
new QVBoxLayout();
 
   70        selectVLayout->addWidget(SelectLabel);
 
   71        selectVLayout->addWidget(SceneSettingbtr);
 
   72        selectVLayout->addWidget(RenderSettingbtr);
 
   73        selectVLayout->addWidget(OtherSettingbtr);
 
   74        selectVLayout->addStretch();
 
   76        selectWidget->setLayout(selectVLayout);
 
   77        Docker->setWidget(selectWidget);
 
   80        this->addDockWidget(Qt::RightDockWidgetArea, 
DockerRight);
 
 
  142        mTitle = 
new QLabel(title.c_str());
 
  143        int detailLabelHeight = 40;
 
  144        mTitle->setMinimumHeight(detailLabelHeight);
 
  145        mTitle->setMaximumHeight(detailLabelHeight);
 
  146        mTitle->setAlignment(Qt::AlignCenter);
 
  151        mScrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
 
  152        mScrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
 
  159        QWidget* m_scroll_widget = 
new QWidget;
 
 
  172        Vec3f gValue = scn->getGravity();
 
  173        Vec3f lowerBValue = scn->getLowerBound();
 
  174        Vec3f upperBValue = scn->getUpperBound();
 
  180        QObject::connect(
gravityWidget, SIGNAL(vec3fChange(
double, 
double, 
double)), 
this, SLOT(
setGravity(
double, 
double, 
double)));
 
 
  193        scn->setGravity(
Vec3f(
float(v0), 
float(v1), 
float(v2)));
 
 
  198        scn->setLowerBound(
Vec3f(
float(v0), 
float(v1), 
float(v2)));
 
 
  203        scn->setUpperBound(
Vec3f(
float(v0), 
float(v1), 
float(v2)));
 
 
  209        QFormLayout* layout = 
new QFormLayout();
 
  229        QHBoxLayout* hLayout = 
new QHBoxLayout;
 
  230        hLayout->setContentsMargins(0, 0, 0, 0);
 
  231        hLayout->setSpacing(0);
 
  234        mLineEdit->setText(QString::fromStdString(
""));
 
  236        QPushButton* open = 
new QPushButton(
"Open");
 
  240        open->setFixedSize(60, 24);
 
  243        hLayout->addWidget(open, 1);
 
  244        hLayout->setSpacing(3);
 
  246        layout->addRow(
"Env Map", hLayout);
 
  248        connect(open, &QPushButton::clicked, 
this, [=]() {
 
  249            QString path = QFileDialog::getOpenFileName(
this, tr(
"Open File"), QString::fromStdString(getAssetPath()), tr(
"Text Files(*.hdr)"));
 
  250            if (!path.isEmpty()) {
 
  252                path = QDir::toNativeSeparators(path);
 
  254                if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
 
  255                    QMessageBox::warning(
this, tr(
"Read File"),
 
  256                        tr(
"Cannot open file:\n%1").
arg(path));
 
  267                QMessageBox::warning(
this, tr(
"Path"), tr(
"You do not select any file."));
 
 
  278        mRenderEngine = std::dynamic_pointer_cast<GLRenderEngine>(engine);
 
 
PRenderSetting(PSettingEditor *editor, std::string title)
 
void setShadowBlurIters(int iters)
 
void setShadowMapSize(int idx)
 
std::shared_ptr< GLRenderEngine > mRenderEngine
 
QSpinBox * shadowBlurIters
 
void updateData() override
 
QComboBox * shadowMapSize
 
void setRenderEngine(std::shared_ptr< RenderEngine > engine)
 
QVector3FieldWidget * upperBoundWidget
 
void setLowerBound(double v0, double v1, double v2)
 
QVector3FieldWidget * lowerBoundWidget
 
void updateData() override
 
void setGravity(double v0, double v1, double v2)
 
QVector3FieldWidget * gravityWidget
 
void setUpperBound(double v0, double v1, double v2)
 
PSettingWidget * renderSettingWidget
 
PSettingWidget * settingWidget
 
PSettingEditor(QWidget *widget=nullptr)
 
void buildSceneSettingWidget()
 
void setRenderEngine(std::shared_ptr< RenderEngine > engine)
 
QDockWidget * DockerRight
 
void buildOtherSettingWidget()
 
void showRenderSettingWidget()
 
static SceneGraphFactory * instance()
 
std::shared_ptr< SceneGraph > active()
 
This is an implementation of AdditiveCCD based on peridyno.
 
DYN_FUNC Real arg(const Complex< Real > &)