44 materialItem->setRefractiveData(delta, beta);
51 materialItem->setSLDData(sld, abs_term);
62 for (
auto materialItem : topItems<MaterialItem>())
63 if (materialItem->itemName() ==
name)
71 for (
auto materialItem : topItems<MaterialItem>())
72 if (materialItem->identifier() == identifier)
86 auto clonedMaterial =
copyItem(origMaterial, 0);
88 clonedMaterial->setItemName(origMaterial->itemName() +
" (clone)");
96 auto result = insertItem<MaterialItem>();
97 result->setItemName(
name);
Defines class GUIHelpers functions.
Defines MaterialDataItems classes.
Defines class MaterialItemUtils.
Defines class MaterialModel.
static void unsubscribe(ProjectManager *projectManager)
static MaterialModel * materialModel()
static void subscribe(ProjectManager *projectManager)
static const QString P_IDENTIFIER
static const QString P_COLOR
MaterialItem * addSLDMaterial(const QString &name, double sld, double abs_term)
MaterialModel(QObject *parent=nullptr)
MaterialModel * createCopy(SessionItem *parent=nullptr)
MaterialItem * materialFromName(const QString &name)
MaterialItem * createMaterial(const QString &name)
Creates material with name and color. Material data remains uninitialized.
MaterialItem * addRefractiveMaterial(const QString &name, double delta, double beta)
MaterialItem * materialFromIndex(const QModelIndex &index)
MaterialItem * cloneMaterial(const QModelIndex &index)
Returns clone of material with given index. Clone will get unique identifier.
MaterialItem * materialFromIdentifier(const QString &identifier)
virtual QModelIndex parent(const QModelIndex &child) const
T * copyItem(const T *item_to_copy, SessionItem *new_parent=0, const QString &tag="")
SessionItem * itemForIndex(const QModelIndex &index) const
virtual QModelIndex index(int row, int column, const QModelIndex &parent) const
virtual void initFrom(SessionModel *model, SessionItem *parent)
QColor suggestMaterialColor(const QString &name)
ExternalProperty colorProperty(const QColor &color)
Constructs color property from given color.
QString const & name(EShape k)
const QString MaterialModelTag("MaterialModel")