16#ifndef QGSABSTRACTMATERIALSETTINGS_H 
   17#define QGSABSTRACTMATERIALSETTINGS_H 
   23#include <Qt3DRender/qmaterial.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;
 
  228#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) 
  229    virtual void applyDataDefinedToGeometry( Qt3DRender::QGeometry *geometry, 
int vertexCount, 
const QByteArray &dataDefinedBytes ) 
const;
 
  231    virtual void applyDataDefinedToGeometry( Qt3DCore::QGeometry *geometry, 
int vertexCount, 
const QByteArray &dataDefinedBytes ) 
const;
 
  240    virtual QByteArray dataDefinedVertexColorsAsByte( 
const QgsExpressionContext &expressionContext ) 
const;
 
  252    void initPropertyDefinitions() 
const;
 
 
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 Qt3DRender::QMaterial * toMaterial(QgsMaterialSettingsRenderingTechnique technique, const QgsMaterialContext &context) const =0
Creates a new QMaterial object representing the material settings.
 
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.
 
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.