Skip to content
Snippets Groups Projects

Material refactoring

Merged m.puchner requested to merge materialRefactoring into develop
2 files
+ 15
15
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -42,20 +42,12 @@ void ItemWithMaterial::setMaterialUndefined()
QColor ItemWithMaterial::materialColor() const
{
const auto* const parentJob = GUI::Model::JobFunctions::findJobItem(this);
if (parentJob)
return parentJob->materialContainerItem()->findMaterialById(materialIdentifier())->color();
return GUI::MaterialUtil::findMaterial(materialIdentifier())->color();
return material()->color();
}
QString ItemWithMaterial::materialName() const
{
const auto* const parentJob = GUI::Model::JobFunctions::findJobItem(this);
if (parentJob)
return parentJob->materialContainerItem()->findMaterialById(materialIdentifier())->name();
return GUI::MaterialUtil::findMaterial(materialIdentifier())->name();
return material()->name();
}
QString ItemWithMaterial::materialIdentifier() const
@@ -63,6 +55,15 @@ QString ItemWithMaterial::materialIdentifier() const
return getItemValue(P_MATERIAL).toString();
}
MaterialItem* ItemWithMaterial::material() const
{
const auto* const parentJob = GUI::Model::JobFunctions::findJobItem(this);
if (parentJob)
return parentJob->materialContainerItem()->findMaterialById(materialIdentifier());
return GUI::MaterialUtil::findMaterial(materialIdentifier());
}
ItemWithMaterial::ItemWithMaterial(const QString& model_type) : SessionItem(model_type)
{
addProperty(P_MATERIAL, GUI::MaterialUtil::defaultMaterialIdentifier())
@@ -72,9 +73,5 @@ ItemWithMaterial::ItemWithMaterial(const QString& model_type) : SessionItem(mode
std::unique_ptr<Material> ItemWithMaterial::domainMaterial() const
{
const auto* parent_job = GUI::Model::JobFunctions::findJobItem(this);
const MaterialItemContainer* container =
parent_job ? parent_job->materialContainerItem() : nullptr;
return container ? GUI::MaterialUtil::createDomainMaterial(materialIdentifier(), *container)
: GUI::MaterialUtil::createDomainMaterial(materialIdentifier());
return material()->createMaterial();
}
Loading