diff options
| author | Bryan Galdrikian <[email protected]> | 2017-02-24 09:32:20 -0800 |
|---|---|---|
| committer | Bryan Galdrikian <[email protected]> | 2017-02-24 09:32:20 -0800 |
| commit | e1bf674c16e3c8472b29574159c789cd3f0c64e0 (patch) | |
| tree | 9f0cfce09c71a2c27ff19589fcad6cd83504477c /NvBlast/tools/ArtistTools/source/BlastPlugin/Window/GeneralPanel.cpp | |
| parent | first commit (diff) | |
| download | blast-e1bf674c16e3c8472b29574159c789cd3f0c64e0.tar.xz blast-e1bf674c16e3c8472b29574159c789cd3f0c64e0.zip | |
Updating to [email protected] and [email protected] with a new directory structure.
NvBlast folder is gone, files have been moved to top level directory. README is changed to reflect this.
Diffstat (limited to 'NvBlast/tools/ArtistTools/source/BlastPlugin/Window/GeneralPanel.cpp')
| -rw-r--r-- | NvBlast/tools/ArtistTools/source/BlastPlugin/Window/GeneralPanel.cpp | 281 |
1 files changed, 0 insertions, 281 deletions
diff --git a/NvBlast/tools/ArtistTools/source/BlastPlugin/Window/GeneralPanel.cpp b/NvBlast/tools/ArtistTools/source/BlastPlugin/Window/GeneralPanel.cpp deleted file mode 100644 index 88915f1..0000000 --- a/NvBlast/tools/ArtistTools/source/BlastPlugin/Window/GeneralPanel.cpp +++ /dev/null @@ -1,281 +0,0 @@ -#include "GeneralPanel.h" -#include "ui_GeneralPanel.h" -#include <QtWidgets/QInputDialog> -#include <QtWidgets/QLineEdit> -#include <QtWidgets/QMessageBox> - -GeneralPanel::GeneralPanel(QWidget *parent) : - QWidget(parent), - ui(new Ui::GeneralPanel) -{ - ui->setupUi(this); -} - -GeneralPanel::~GeneralPanel() -{ - delete ui; -} - -void GeneralPanel::updateValues() -{ - std::vector<StressSolverUserPreset> presets = BlastProject::ins().getUserPresets(); - ui->comboBoxUserPreset->clear(); - int countUserPresets = (int)presets.size(); - if (countUserPresets > 0) - { - QStringList userPresets; - for (int i = 0; i < countUserPresets; ++i) - { - userPresets.append(presets[i].name.c_str()); - } - ui->comboBoxUserPreset->addItems(userPresets); - } - - std::vector<BPPAsset*> selectedAssets = BlastProject::ins().getSelectedBlastAssets(); - if (selectedAssets.size() > 0) - { - ui->comboBoxUserPreset->setCurrentText(selectedAssets[0]->activePreset.buf); - - _updateStressSolverUIs(); - } - else - { - ui->comboBoxUserPreset->setCurrentIndex(-1); - - } -} - -void GeneralPanel::on_comboBoxUserPreset_currentIndexChanged(int index) -{ - std::vector<BPPAsset*> assets = BlastProject::ins().getSelectedBlastAssets(); - for (size_t i = 0; i < assets.size(); ++i) - { - QByteArray tem = ui->comboBoxUserPreset->currentText().toUtf8(); - copy(assets[i]->activePreset, tem.data()); - - BPPStressSolver* preset = _getUserPreset(tem.data()); - if (preset) - { - copy(assets[i]->stressSolver, *preset); - } - } - _updateStressSolverUIs(); -} - -void GeneralPanel::on_btnAddUserPreset_clicked() -{ - bool ok = false; - QString name = QInputDialog::getText(this, - tr("Blast Tool"), - tr("Please input name for new User preset:"), - QLineEdit::Normal, - "", - &ok); - bool nameExist = BlastProject::ins().isUserPresetNameExist(name.toUtf8().data()); - if (ok && !name.isEmpty() && !nameExist) - { - BlastProject::ins().addUserPreset(name.toUtf8().data()); - updateValues(); - ui->comboBoxUserPreset->setCurrentIndex(ui->comboBoxUserPreset->count() - 1); - } - else if (ok && nameExist) - { - QMessageBox::warning(this, "Blast Tool", "The name you input is already exist!"); - } - else if (ok && name.isEmpty()) - { - QMessageBox::warning(this, "Blast Tool", "You need input a name for the new preset!"); - } -} - -void GeneralPanel::on_btnModifyUserPreset_clicked() -{ - if (ui->comboBoxUserPreset->currentIndex() == -1) - { - QMessageBox::warning(this, "Blast Tool", "You should select an user preset!"); - return; - } - - QByteArray tmp = ui->comboBoxUserPreset->currentText().toUtf8(); - const char* oldName = tmp.data(); - - bool ok = false; - QString newName = QInputDialog::getText(this, - tr("Blast Tool"), - tr("Please input new name for the selected user preset:"), - QLineEdit::Normal, - oldName, - &ok); - bool nameExist = BlastProject::ins().isUserPresetNameExist(newName.toUtf8().data()); - if (ok && !newName.isEmpty() && !nameExist) - { - int curIndex = ui->comboBoxUserPreset->currentIndex(); - - std::vector<StressSolverUserPreset>& presets = BlastProject::ins().getUserPresets(); - presets[curIndex].name = newName.toUtf8().data(); - updateValues(); - ui->comboBoxUserPreset->setCurrentIndex(curIndex); - } - else if (ok && nameExist) - { - QMessageBox::warning(this, "Blast Tool", "The name you input is already exist!"); - } - else if (ok && newName.isEmpty()) - { - QMessageBox::warning(this, "Blast Tool", "You need input a name for the selected graphics material!"); - } -} - -void GeneralPanel::on_btnSaveUserPreset_clicked() -{ - int currentUserPreset = ui->comboBoxUserPreset->currentIndex(); - if (-1 != currentUserPreset) - { - std::vector<StressSolverUserPreset>& presets = BlastProject::ins().getUserPresets(); - BPPStressSolver& stressSolver = presets[currentUserPreset].stressSolver; - stressSolver.solverMode = ui->comboBoxSolverMode->currentIndex(); - stressSolver.linearFactor = ui->spinBoxLinearFactor->value(); - stressSolver.angularFactor = ui->spinBoxAngularFactor->value(); - stressSolver.meanError = ui->spinBoxMeanError->value(); - stressSolver.varianceError = ui->spinBoxVarianceError->value(); - stressSolver.bondsPerFrame = ui->spinBoxBondsPerFrame->value(); - stressSolver.bondsIterations = ui->spinBoxBondsIterations->value(); - } - - BlastProject::ins().saveUserPreset(); -} - -void GeneralPanel::on_comboBoxSolverMode_currentIndexChanged(int index) -{ - BPPStressSolver* stressSolver = _getCurrentStressSolver(); - - if (stressSolver) - { - stressSolver->solverMode = index; - } -} - -void GeneralPanel::on_spinBoxLinearFactor_valueChanged(double arg1) -{ - BPPStressSolver* stressSolver = _getCurrentStressSolver(); - - if (stressSolver) - { - stressSolver->linearFactor = arg1; - } - -} - -void GeneralPanel::on_spinBoxAngularFactor_valueChanged(double arg1) -{ - BPPStressSolver* stressSolver = _getCurrentStressSolver(); - - if (stressSolver) - { - stressSolver->angularFactor = arg1; - } -} - -void GeneralPanel::on_spinBoxMeanError_valueChanged(double arg1) -{ - BPPStressSolver* stressSolver = _getCurrentStressSolver(); - - if (stressSolver) - { - stressSolver->meanError = arg1; - } -} - -void GeneralPanel::on_spinBoxVarianceError_valueChanged(double arg1) -{ - BPPStressSolver* stressSolver = _getCurrentStressSolver(); - - if (stressSolver) - { - stressSolver->varianceError = arg1; - } -} - -void GeneralPanel::on_spinBoxBondsPerFrame_valueChanged(int arg1) -{ - BPPStressSolver* stressSolver = _getCurrentStressSolver(); - - if (stressSolver) - { - stressSolver->bondsPerFrame = arg1; - } -} - -void GeneralPanel::on_spinBoxBondsIterations_valueChanged(int arg1) -{ - BPPStressSolver* stressSolver = _getCurrentStressSolver(); - - if (stressSolver) - { - stressSolver->bondsIterations = arg1; - } -} - -BPPStressSolver* GeneralPanel::_getCurrentStressSolver() -{ - int currentUserPreset = ui->comboBoxUserPreset->currentIndex(); - - if (-1 != currentUserPreset) - { - std::vector<StressSolverUserPreset>& presets = BlastProject::ins().getUserPresets(); - return &(presets[currentUserPreset].stressSolver); - } - else - { - std::vector<BPPAsset*> assets = BlastProject::ins().getSelectedBlastAssets(); - - if (assets.size() > 0) - { - return &(assets[0]->stressSolver); - } - } - - return nullptr; -} - -BPPStressSolver* GeneralPanel::_getUserPreset(const char* name) -{ - std::vector<StressSolverUserPreset>& presets = BlastProject::ins().getUserPresets(); - - for (size_t i = 0; i < presets.size(); ++i) - { - if (presets[i].name == name) - return &(presets[i].stressSolver); - } - - return nullptr; -} - -void GeneralPanel::_updateStressSolverUIs() -{ - BPPStressSolver* stressSolver = _getCurrentStressSolver(); - if (stressSolver != nullptr) - { - ui->comboBoxSolverMode->setCurrentIndex(stressSolver->solverMode); - ui->spinBoxLinearFactor->setValue(stressSolver->linearFactor); - ui->spinBoxAngularFactor->setValue(stressSolver->angularFactor); - ui->spinBoxMeanError->setValue(stressSolver->meanError); - ui->spinBoxVarianceError->setValue(stressSolver->varianceError); - ui->spinBoxBondsPerFrame->setValue(stressSolver->bondsPerFrame); - ui->spinBoxBondsIterations->setValue(stressSolver->bondsIterations); - } - else - { - BPPStressSolver noStressSolver; - init(noStressSolver); - - ui->comboBoxSolverMode->setCurrentIndex(noStressSolver.solverMode); - ui->spinBoxLinearFactor->setValue(noStressSolver.linearFactor); - ui->spinBoxAngularFactor->setValue(noStressSolver.angularFactor); - ui->spinBoxMeanError->setValue(noStressSolver.meanError); - ui->spinBoxVarianceError->setValue(noStressSolver.varianceError); - ui->spinBoxBondsPerFrame->setValue(noStressSolver.bondsPerFrame); - ui->spinBoxBondsIterations->setValue(noStressSolver.bondsIterations); - } - -} |