16#ifndef QGSABSTRACTMATERIALSETTINGS_H
17#define QGSABSTRACTMATERIALSETTINGS_H
32#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
105 bool mIsSelected =
false;
107 QColor mSelectedColor;
125 if ( sipCpp->type() == QLatin1String(
"gooch" ) )
127 sipType = sipType_QgsGoochMaterialSettings;
129 else if ( sipCpp->type() == QLatin1String(
"phong" ) )
131 sipType = sipType_QgsPhongMaterialSettings;
133 else if ( sipCpp->type() ==
"phongtextured" )
135 sipType = sipType_QgsPhongTexturedMaterialSettings;
137 else if ( sipCpp->type() ==
"simpleline" )
139 sipType = sipType_QgsSimpleLineMaterialSettings;
141 else if ( sipCpp->type() ==
"null" )
143 sipType = sipType_QgsNullMaterialSettings;
159 virtual QString
type()
const = 0;
235#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
236 virtual void applyDataDefinedToGeometry( Qt3DRender::QGeometry *geometry,
int vertexCount,
const QByteArray &dataDefinedBytes )
const;
238 virtual void applyDataDefinedToGeometry( Qt3DCore::QGeometry *geometry,
int vertexCount,
const QByteArray &dataDefinedBytes )
const;
247 virtual QByteArray dataDefinedVertexColorsAsByte(
const QgsExpressionContext &expressionContext )
const;
259 void initPropertyDefinitions()
const;
virtual bool equals(const QgsAbstractMaterialSettings *other) const =0
Returns true if this settings exactly matches an other settings.
virtual QMap< QString, QString > toExportParameters() const =0
Returns the parameters to be exported to .mtl file.
virtual QgsAbstractMaterialSettings * clone() const =0
Clones the material settings.
virtual int dataDefinedByteStride() const
Returns byte stride of the data defined colors,used to fill the vertex colors data defined buffer for...
Property
Data definable properties.
virtual void addParametersToEffect(Qt3DRender::QEffect *effect, const QgsMaterialContext &materialContext) const =0
Adds parameters from the material to a destination effect.
virtual ~QgsAbstractMaterialSettings()=default
virtual QString type() const =0
Returns the unique type name for the material.
virtual QgsMaterial * toMaterial(QgsMaterialSettingsRenderingTechnique technique, const QgsMaterialContext &context) const =0
Creates a new QgsMaterial object representing the material settings.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
QColor selectionColor() const
Returns the color for representing materials in a selected state.
void setIsSelected(bool isSelected)
Sets whether the material should represent a selected state.
void setSelectionColor(const QColor &color)
Sets the color for representing materials in a selected state.
bool isSelected() const
Returns true if the material should represent a selected state.
A grouped map of multiple QgsProperty objects, each referenced by a integer key value.
The class is used as a container of context for various read/write operations on other objects.
QgsMaterialSettingsRenderingTechnique
Material rendering techniques 3.
@ Points
Point based rendering, requires point data.
@ Triangles
Triangle based rendering (default)
@ TrianglesFromModel
Triangle based rendering, using a model object source.
@ Lines
Line based rendering, requires line data.
@ TrianglesDataDefined
Triangle based rendering with possibility of datadefined color.
@ InstancedPoints
Instanced based rendering, requiring triangles and point data.
@ TrianglesWithFixedTexture
Triangle based rendering, using a fixed, non-user-configurable texture (e.g. for terrain rendering)
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.