diff options
Diffstat (limited to 'tools/ArtistTools/source/BlastPlugin/Window/FractureVisualizersPanel.cpp')
| -rw-r--r-- | tools/ArtistTools/source/BlastPlugin/Window/FractureVisualizersPanel.cpp | 57 |
1 files changed, 48 insertions, 9 deletions
diff --git a/tools/ArtistTools/source/BlastPlugin/Window/FractureVisualizersPanel.cpp b/tools/ArtistTools/source/BlastPlugin/Window/FractureVisualizersPanel.cpp index 0f77e27..52d5431 100644 --- a/tools/ArtistTools/source/BlastPlugin/Window/FractureVisualizersPanel.cpp +++ b/tools/ArtistTools/source/BlastPlugin/Window/FractureVisualizersPanel.cpp @@ -1,9 +1,12 @@ #include "FractureVisualizersPanel.h" #include "ui_FractureVisualizersPanel.h" #include "ProjectParams.h" +#include "FractureGeneralPanel.h" +#include "SampleManager.h" FractureVisualizersPanel::FractureVisualizersPanel(QWidget *parent) : - QWidget(parent), + QWidget(parent), + _updateData(true), ui(new Ui::FractureVisualizersPanel) { ui->setupUi(this); @@ -16,21 +19,57 @@ FractureVisualizersPanel::~FractureVisualizersPanel() void FractureVisualizersPanel::updateValues() { - BPPFractureVisualization& fractureVisualization = BlastProject::ins().getParams().fracture.visualization; + _updateData = false; +/* + BPPFractureVisualization* fractureVisualization = _getBPPVisualization(); - ui->checkBoxFracturePreview->setChecked(fractureVisualization.fracturePreview); - ui->checkBoxDisplayFractureWidget->setChecked(fractureVisualization.displayFractureWidget); + ui->checkBoxFracturePreview->setChecked(fractureVisualization->fracturePreview); + ui->checkBoxDisplayFractureWidget->setChecked(fractureVisualization->displayFractureWidget); +*/ + bool checked = BlastProject::ins().getParams().fracture.general.selectionDepthTest; + ui->checkBoxSelectionDepthTest->setChecked(checked); + _updateData = true; } - +/* void FractureVisualizersPanel::on_checkBoxFracturePreview_stateChanged(int arg1) { - BPPFractureVisualization& fractureVisualization = BlastProject::ins().getParams().fracture.visualization; - fractureVisualization.fracturePreview = (arg1 != 0 ? true : false); + if (!_updateData) + return; + + BPPFractureVisualization* fractureVisualization = _getBPPVisualization(); + fractureVisualization->fracturePreview = (arg1 != 0 ? true : false); } void FractureVisualizersPanel::on_checkBoxDisplayFractureWidget_stateChanged(int arg1) { - BPPFractureVisualization& fractureVisualization = BlastProject::ins().getParams().fracture.visualization; - fractureVisualization.displayFractureWidget = (arg1 != 0 ? true : false); + if (!_updateData) + return; + + BPPFractureVisualization* fractureVisualization = _getBPPVisualization(); + fractureVisualization->displayFractureWidget = (arg1 != 0 ? true : false); +} +*/ +void FractureVisualizersPanel::on_checkBoxSelectionDepthTest_stateChanged(int arg1) +{ + BlastProject::ins().getParams().fracture.general.selectionDepthTest = arg1; + SampleManager* pSampleManager = SampleManager::ins(); + if (nullptr != pSampleManager) + { + SampleManager::ins()->ApplySelectionDepthTest(); + } } +BPPFractureVisualization* FractureVisualizersPanel::_getBPPVisualization() +{ + BPPFractureVisualization* visualization = nullptr; + FracturePreset* preset = _generalPanel->getCurrentFracturePreset(); + if (nullptr != preset) + { + visualization = &(preset->visualization); + } + else + { + visualization = &(BlastProject::ins().getParams().fracture.visualization); + } + return visualization; +} |