22 const QDomElement elemDataDefinedProperties = element.firstChildElement( QStringLiteral(
"data-defined-properties" ) );
23 if ( !elemDataDefinedProperties.isNull() )
29 QDomElement elemDataDefinedProperties = element.ownerDocument().createElement( QStringLiteral(
"data-defined-properties" ) );
31 element.appendChild( elemDataDefinedProperties );
36 mDataDefinedProperties = collection;
43 if ( sPropertyDefinitions.isEmpty() )
44 initPropertyDefinitions();
45 return sPropertyDefinitions;
50 Q_UNUSED( expressionContext )
54#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
61 Q_UNUSED( vertexCount )
62 Q_UNUSED( dataDefinedBytes )
65void QgsAbstractMaterialSettings::initPropertyDefinitions()
const
67 if ( !sPropertyDefinitions.isEmpty() )
70 const QString origin = QStringLiteral(
"material3d" );
virtual void writeXml(QDomElement &element, const QgsReadWriteContext &) const
Writes settings to a DOM element.
virtual QByteArray dataDefinedVertexColorsAsByte(const QgsExpressionContext &expressionContext) const
Returns byte array corresponding to the data defined colors depending of the expressionContext,...
virtual void readXml(const QDomElement &element, const QgsReadWriteContext &)
Reads settings from a DOM element.
@ Warm
Warm color (gooch material).
@ Cool
Cool color (gooch material).
@ Specular
Specular color.
@ Ambient
Ambient color (phong material).
void setDataDefinedProperties(const QgsPropertyCollection &collection)
Sets the material property collection, used for data defined overrides.
virtual void applyDataDefinedToGeometry(Qt3DCore::QGeometry *geometry, int vertexCount, const QByteArray &dataDefinedBytes) const
Applies the data defined bytes, dataDefinedBytes, on the geometry by filling a specific vertex buffer...
const QgsPropertiesDefinition & propertyDefinitions() const
Returns a reference to the material properties definition, used for data defined overrides.
QgsPropertyCollection dataDefinedProperties() const
Returns the symbol material property collection, used for data defined overrides.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
A grouped map of multiple QgsProperty objects, each referenced by an integer key value.
Definition for a property.
@ ColorNoAlpha
Color with no alpha channel.
A container for the context for various read/write operations on objects.
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.