16 #ifndef QGSABSTRACTMATERIALSETTINGS_H 
   17 #define QGSABSTRACTMATERIALSETTINGS_H 
   23 #include <Qt3DRender/qmaterial.h> 
   28 class QgsLineMaterial;
 
   98     bool mIsSelected = 
false;
 
  100     QColor mSelectedColor;
 
  119     if ( sipCpp->type() == QLatin1String( 
"gooch" ) )
 
  121       sipType = sipType_QgsGoochMaterialSettings;
 
  123     else if ( sipCpp->type() == QLatin1String( 
"phong" ) )
 
  125       sipType = sipType_QgsPhongMaterialSettings;
 
  127     else if ( sipCpp->type() == 
"phongtextured" )
 
  129       sipType = sipType_QgsPhongTexturedMaterialSettings;
 
  131     else if ( sipCpp->type() == 
"simpleline" )
 
  133       sipType = sipType_QgsSimpleLineMaterialSettings;
 
  135     else if ( sipCpp->type() == 
"null" )
 
  137       sipType = sipType_QgsNullMaterialSettings;
 
  153     virtual QString 
type() 
const = 0;
 
  220     virtual void applyDataDefinedToGeometry( Qt3DRender::QGeometry *geometry, 
int vertexCount, 
const QByteArray &dataDefinedBytes ) 
const;
 
  228     virtual QByteArray dataDefinedVertexColorsAsByte( 
const QgsExpressionContext &expressionContext ) 
const;
 
  240     void initPropertyDefinitions() 
const;
 
virtual int dataDefinedByteStride() const
Returns byte stride of the data defined colors,used to fill the vertex colors data defined buffer for...
virtual Qt3DRender::QMaterial * toMaterial(QgsMaterialSettingsRenderingTechnique technique, const QgsMaterialContext &context) const =0
Creates a new QMaterial object representing the material settings.
virtual ~QgsAbstractMaterialSettings()=default
virtual QString type() const =0
Returns the unique type name for the material.
virtual QMap< QString, QString > toExportParameters() const =0
Returns the parameters to be exported to .mtl file.
virtual void addParametersToEffect(Qt3DRender::QEffect *effect) const =0
Adds parameters from the material to a destination effect.
virtual QgsAbstractMaterialSettings * clone() const =0
Clones the material settings.
Property
Data definable properties.
@ Ambient
Ambient color (phong material)
@ Warm
Warm color (gooch material)
@ Cool
Cool color (gooch 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.