16#ifndef QGSABSTRACTMATERIALSETTINGS_H
17#define QGSABSTRACTMATERIALSETTINGS_H
32#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
103 bool mIsSelected =
false;
105 QColor mSelectedColor;
121 if ( sipCpp->type() == QLatin1String(
"gooch" ) )
123 sipType = sipType_QgsGoochMaterialSettings;
125 else if ( sipCpp->type() == QLatin1String(
"phong" ) )
127 sipType = sipType_QgsPhongMaterialSettings;
129 else if ( sipCpp->type() ==
"phongtextured" )
131 sipType = sipType_QgsPhongTexturedMaterialSettings;
133 else if ( sipCpp->type() ==
"simpleline" )
135 sipType = sipType_QgsSimpleLineMaterialSettings;
137 else if ( sipCpp->type() ==
"null" )
139 sipType = sipType_QgsNullMaterialSettings;
154 virtual QString
type()
const = 0;
230#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
231 virtual void applyDataDefinedToGeometry( Qt3DRender::QGeometry *geometry,
int vertexCount,
const QByteArray &dataDefinedBytes )
const;
233 virtual void applyDataDefinedToGeometry( Qt3DCore::QGeometry *geometry,
int vertexCount,
const QByteArray &dataDefinedBytes )
const;
242 virtual QByteArray dataDefinedVertexColorsAsByte(
const QgsExpressionContext &expressionContext )
const;
254 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.