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/MaterialAssignmentsPanel.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/MaterialAssignmentsPanel.cpp')
| -rw-r--r-- | NvBlast/tools/ArtistTools/source/BlastPlugin/Window/MaterialAssignmentsPanel.cpp | 265 |
1 files changed, 0 insertions, 265 deletions
diff --git a/NvBlast/tools/ArtistTools/source/BlastPlugin/Window/MaterialAssignmentsPanel.cpp b/NvBlast/tools/ArtistTools/source/BlastPlugin/Window/MaterialAssignmentsPanel.cpp deleted file mode 100644 index 6095f67..0000000 --- a/NvBlast/tools/ArtistTools/source/BlastPlugin/Window/MaterialAssignmentsPanel.cpp +++ /dev/null @@ -1,265 +0,0 @@ -#include "MaterialAssignmentsPanel.h" -#include "ui_MaterialAssignmentsPanel.h" -#include "ProjectParams.h" -#include "RenderMaterial.h" -#include "SampleManager.h" -#include "MaterialLibraryPanel.h" - -MaterialAssignmentsPanel* pMaterialAssignmentsPanel = nullptr; -MaterialAssignmentsPanel* MaterialAssignmentsPanel::ins() -{ - return pMaterialAssignmentsPanel; -} - -MaterialAssignmentsPanel::MaterialAssignmentsPanel(QWidget *parent) : - QWidget(parent), - ui(new Ui::MaterialAssignmentsPanel), - _selectedGraphicsMesh(-1) -{ - ui->setupUi(this); - pMaterialAssignmentsPanel = this; - m_bValid = true; -} - -void MaterialAssignmentsPanel::getMaterialNameAndPaths(std::vector<std::string>& materialNames, std::vector<std::string>& materialPaths) -{ - QString m1 = ui->comboBoxMaterialID1->currentText(); - QString m2 = ui->comboBoxMaterialID2->currentText(); - std::string name1 = m1.toUtf8().data(); - std::string name2 = m2.toUtf8().data(); - std::string path1 = ""; - std::string path2 = ""; - - BPParams& projectParams = BlastProject::ins().getParams(); - BPPGraphicsMaterialArray& theArray = projectParams.graphicsMaterials; - int count = theArray.arraySizes[0]; - for (int i = 0; i < count; ++i) - { - BPPGraphicsMaterial& item = theArray.buf[i]; - std::string name = item.name.buf; - std::string path = item.diffuseTextureFilePath.buf; - if (name1 == name) - { - path1 = path; - } - else if (name2 == name) - { - path2 = path; - } - else if (path1 != "" && path2 != "") - { - break; - } - } - - materialNames.push_back(name1); - materialNames.push_back(name2); - materialPaths.push_back(path1); - materialPaths.push_back(path2); -} - -MaterialAssignmentsPanel::~MaterialAssignmentsPanel() -{ - delete ui; -} - -void MaterialAssignmentsPanel::updateValues() -{ - m_bValid = false; - ui->comboBoxMaterialID1->clear(); - ui->comboBoxMaterialID2->clear(); - m_bValid = true; - - QStringList materialNames; - materialNames.append("None"); - BPParams& projectParams = BlastProject::ins().getParams(); - BPPGraphicsMaterialArray& theArray = projectParams.graphicsMaterials; - int count = theArray.arraySizes[0]; - for (int i = 0; i < count; ++i) - { - BPPGraphicsMaterial& item = theArray.buf[i]; - materialNames.append(item.name.buf); - } - - m_bValid = false; - ui->comboBoxMaterialID1->insertItems(0, materialNames); - ui->comboBoxMaterialID2->insertItems(0, materialNames); - m_bValid = true; - - SampleManager* pSampleManager = SampleManager::ins(); - if (pSampleManager == nullptr) - { - return; - } - - BlastAsset* pBlastAsset = nullptr; - int index = -1; - pSampleManager->getCurrentSelectedInstance(&pBlastAsset, index); - if (pBlastAsset == nullptr || index == -1) - { - return; - } - - RenderMaterial* pRenderMaterial[] = { nullptr, nullptr }; - std::string strMaterialNames[] = { "None", "None" }; - bool ex[] = { true, false }; - for (int i = 0; i < 2; i++) - { - pSampleManager->getMaterialForCurrentFamily(&pRenderMaterial[i], ex[i]); - if (pRenderMaterial[i] != nullptr) - { - std::string m = pRenderMaterial[i]->getMaterialName(); - if (m != "") - { - strMaterialNames[i] = m; - } - } - } - - m_bValid = false; - ui->comboBoxMaterialID1->setCurrentText(strMaterialNames[0].c_str()); - ui->comboBoxMaterialID2->setCurrentText(strMaterialNames[1].c_str()); - m_bValid = true; - - return; - - if (_selectedGraphicsMesh > -1) - { - BPParams& projectParams = BlastProject::ins().getParams(); - BPPBlast& blast = projectParams.blast; - BPPGraphicsMaterialArray& graphicsMaterialsArray = projectParams.graphicsMaterials; - - BPPMaterialAssignments& assignment = blast.graphicsMeshes.buf[_selectedGraphicsMesh].materialAssignments; - - ui->comboBoxMaterialID1->clear(); - ui->comboBoxMaterialID2->clear(); - ui->comboBoxMaterialID3->clear(); - ui->comboBoxMaterialID4->clear(); - - QStringList materialNames; - materialNames.append("None"); - int count = graphicsMaterialsArray.arraySizes[0]; - for (int i = 0; i < count; ++i) - { - materialNames.append(graphicsMaterialsArray.buf[i].name.buf); - } - - ui->comboBoxMaterialID1->insertItems(0, materialNames); - ui->comboBoxMaterialID2->insertItems(0, materialNames); - ui->comboBoxMaterialID3->insertItems(0, materialNames); - ui->comboBoxMaterialID4->insertItems(0, materialNames); - - ui->comboBoxMaterialID1->setCurrentIndex(assignment.materialIndexes[0] + 1); - ui->comboBoxMaterialID2->setCurrentIndex(assignment.materialIndexes[1] + 1); - ui->comboBoxMaterialID3->setCurrentIndex(assignment.materialIndexes[2] + 1); - ui->comboBoxMaterialID4->setCurrentIndex(assignment.materialIndexes[3] + 1); - } - - -} - -void MaterialAssignmentsPanel::on_comboBoxMaterialID1_currentIndexChanged(int index) -{ - if (index < 0 || !m_bValid) - return; - - RenderMaterial* pRenderMaterial = nullptr; - - QString currentText = ui->comboBoxMaterialID1->currentText(); - std::string name = currentText.toUtf8().data(); - - SampleManager* pSampleManager = SampleManager::ins(); - if (pSampleManager == nullptr) - { - return; - } - std::map<std::string, RenderMaterial*>& renderMaterials = pSampleManager->getRenderMaterials(); - std::map<std::string, RenderMaterial*>::iterator it = renderMaterials.find(name); - if (it != renderMaterials.end()) - { - pRenderMaterial = it->second; - } - else - { - MaterialLibraryPanel* pMaterialLibraryPanel = MaterialLibraryPanel::ins(); - std::map<std::string, RenderMaterial*>& renderMaterials2 = pMaterialLibraryPanel->getRenderMaterials(); - it = renderMaterials2.find(name); - if (it != renderMaterials2.end()) - { - pRenderMaterial = it->second; - } - } - - pSampleManager->setMaterialForCurrentFamily(pRenderMaterial, true); - - return; - assignMaterialToMaterialID(0, index - 1); -} - -void MaterialAssignmentsPanel::on_comboBoxMaterialID2_currentIndexChanged(int index) -{ - if (index < 0 || !m_bValid) - return; - - RenderMaterial* pRenderMaterial = nullptr; - - QString currentText = ui->comboBoxMaterialID2->currentText(); - std::string name = currentText.toUtf8().data(); - - SampleManager* pSampleManager = SampleManager::ins(); - if (pSampleManager == nullptr) - { - return; - } - std::map<std::string, RenderMaterial*>& renderMaterials = pSampleManager->getRenderMaterials(); - std::map<std::string, RenderMaterial*>::iterator it = renderMaterials.find(name); - if (it != renderMaterials.end()) - { - pRenderMaterial = it->second; - } - else - { - MaterialLibraryPanel* pMaterialLibraryPanel = MaterialLibraryPanel::ins(); - std::map<std::string, RenderMaterial*>& renderMaterials2 = pMaterialLibraryPanel->getRenderMaterials(); - it = renderMaterials2.find(name); - if (it != renderMaterials2.end()) - { - pRenderMaterial = it->second; - } - } - - pSampleManager->setMaterialForCurrentFamily(pRenderMaterial, false); - - return; - assignMaterialToMaterialID(1, index - 1); -} - -void MaterialAssignmentsPanel::on_comboBoxMaterialID3_currentIndexChanged(int index) -{ - assignMaterialToMaterialID(2, index - 1); -} - -void MaterialAssignmentsPanel::on_comboBoxMaterialID4_currentIndexChanged(int index) -{ - assignMaterialToMaterialID(3, index - 1); -} - -void MaterialAssignmentsPanel::assignMaterialToMaterialID(int materialID, int materialIndex) -{ - if (materialID < 0 || materialID > 3 || materialIndex < 0) - return; - - BPParams& projectParams = BlastProject::ins().getParams(); - BPPGraphicsMaterialArray& graphicsMaterialArray = projectParams.graphicsMaterials; - BPPBlast& blast = projectParams.blast; - - if (materialIndex >= graphicsMaterialArray.arraySizes[0]) - return; - - BPPGraphicsMeshArray& graphicsMeshArray = blast.graphicsMeshes; - - if (_selectedGraphicsMesh > -1 && _selectedGraphicsMesh < graphicsMeshArray.arraySizes[0]) - { - graphicsMeshArray.buf[_selectedGraphicsMesh].materialAssignments.materialIndexes[materialID] = materialIndex; - } -} |