QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Public Types | Public Member Functions | List of all members
QgsAbstractMaterialSettings Class Referenceabstract

3 More...

#include <qgsabstractmaterialsettings.h>

Inheritance diagram for QgsAbstractMaterialSettings:
Inheritance graph
[legend]

Public Types

enum class  Property : int {
  Diffuse , Ambient , Warm , Cool ,
  Specular
}
 Data definable properties. More...
 

Public Member Functions

virtual ~QgsAbstractMaterialSettings ()=default
 
virtual void addParametersToEffect (Qt3DRender::QEffect *effect) const =0
 Adds parameters from the material to a destination effect. More...
 
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 that will be used by the shader. More...
 
virtual QgsAbstractMaterialSettingsclone () const =0
 Clones the material settings. More...
 
virtual int dataDefinedByteStride () const
 Returns byte stride of the data defined colors,used to fill the vertex colors data defined buffer for rendering. More...
 
QgsPropertyCollection dataDefinedProperties () const
 Returns the symbol material property collection, used for data defined overrides. More...
 
virtual QByteArray dataDefinedVertexColorsAsByte (const QgsExpressionContext &expressionContext) const
 Returns byte array corresponding to the data defined colors depending of the expressionContext, used to fill the specific vertex buffer used for rendering the geometry. More...
 
const QgsPropertiesDefinitionpropertyDefinitions () const
 Returns a reference to the material properties definition, used for data defined overrides. More...
 
virtual void readXml (const QDomElement &element, const QgsReadWriteContext &)
 Reads settings from a DOM element. More...
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the material property collection, used for data defined overrides. More...
 
virtual QMap< QString, QString > toExportParameters () const =0
 Returns the parameters to be exported to .mtl file. More...
 
virtual Qt3DRender::QMaterial * toMaterial (QgsMaterialSettingsRenderingTechnique technique, const QgsMaterialContext &context) const =0
 Creates a new QMaterial object representing the material settings. More...
 
virtual QString type () const =0
 Returns the unique type name for the material. More...
 
virtual void writeXml (QDomElement &element, const QgsReadWriteContext &) const
 Writes settings to a DOM element. More...
 

Detailed Description

3

Abstract base class for material settings.

Warning
This is not considered stable API, and may change in future QGIS releases. It is exposed to the Python bindings as a tech preview only.

Definition at line 120 of file qgsabstractmaterialsettings.h.

Member Enumeration Documentation

◆ Property

enum class QgsAbstractMaterialSettings::Property : int
strong

Data definable properties.

Enumerator
Diffuse 

Diffuse color.

Ambient 

Ambient color (phong material)

Warm 

Warm color (gooch material)

Cool 

Cool color (gooch material)

Specular 

Specular color.

Definition at line 196 of file qgsabstractmaterialsettings.h.

Constructor & Destructor Documentation

◆ ~QgsAbstractMaterialSettings()

virtual QgsAbstractMaterialSettings::~QgsAbstractMaterialSettings ( )
virtualdefault

Member Function Documentation

◆ addParametersToEffect()

virtual void QgsAbstractMaterialSettings::addParametersToEffect ( Qt3DRender::QEffect *  effect) const
pure virtual

◆ applyDataDefinedToGeometry()

void QgsAbstractMaterialSettings::applyDataDefinedToGeometry ( Qt3DCore::QGeometry *  geometry,
int  vertexCount,
const QByteArray &  dataDefinedBytes 
) const
virtual

Applies the data defined bytes, dataDefinedBytes, on the geometry by filling a specific vertex buffer that will be used by the shader.

Since
QGIS 3.18

Reimplemented in QgsGoochMaterialSettings, QgsPhongMaterialSettings, and QgsSimpleLineMaterialSettings.

Definition at line 57 of file qgsabstractmaterialsettings.cpp.

◆ clone()

virtual QgsAbstractMaterialSettings * QgsAbstractMaterialSettings::clone ( ) const
pure virtual

Clones the material settings.

Caller takes ownership of the returned object.

Implemented in QgsGoochMaterialSettings, QgsMetalRoughMaterialSettings, QgsNullMaterialSettings, QgsPhongMaterialSettings, QgsPhongTexturedMaterialSettings, and QgsSimpleLineMaterialSettings.

◆ dataDefinedByteStride()

virtual int QgsAbstractMaterialSettings::dataDefinedByteStride ( ) const
inlinevirtual

Returns byte stride of the data defined colors,used to fill the vertex colors data defined buffer for rendering.

Since
QGIS 3.18

Reimplemented in QgsGoochMaterialSettings, and QgsPhongMaterialSettings.

Definition at line 246 of file qgsabstractmaterialsettings.h.

◆ dataDefinedProperties()

QgsPropertyCollection QgsAbstractMaterialSettings::dataDefinedProperties ( ) const

Returns the symbol material property collection, used for data defined overrides.

Since
QGIS 3.18

Definition at line 39 of file qgsabstractmaterialsettings.cpp.

◆ dataDefinedVertexColorsAsByte()

QByteArray QgsAbstractMaterialSettings::dataDefinedVertexColorsAsByte ( const QgsExpressionContext expressionContext) const
virtual

Returns byte array corresponding to the data defined colors depending of the expressionContext, used to fill the specific vertex buffer used for rendering the geometry.

See also
applyDataDefinedToGeometry()
Since
QGIS 3.18

Reimplemented in QgsGoochMaterialSettings, QgsPhongMaterialSettings, and QgsSimpleLineMaterialSettings.

Definition at line 48 of file qgsabstractmaterialsettings.cpp.

◆ propertyDefinitions()

const QgsPropertiesDefinition & QgsAbstractMaterialSettings::propertyDefinitions ( ) const

Returns a reference to the material properties definition, used for data defined overrides.

Since
QGIS 3.18

Definition at line 41 of file qgsabstractmaterialsettings.cpp.

◆ readXml()

void QgsAbstractMaterialSettings::readXml ( const QDomElement &  element,
const QgsReadWriteContext  
)
virtual

◆ setDataDefinedProperties()

void QgsAbstractMaterialSettings::setDataDefinedProperties ( const QgsPropertyCollection collection)

Sets the material property collection, used for data defined overrides.

Since
QGIS 3.18

Definition at line 34 of file qgsabstractmaterialsettings.cpp.

◆ toExportParameters()

virtual QMap< QString, QString > QgsAbstractMaterialSettings::toExportParameters ( ) const
pure virtual

◆ toMaterial()

virtual Qt3DRender::QMaterial * QgsAbstractMaterialSettings::toMaterial ( QgsMaterialSettingsRenderingTechnique  technique,
const QgsMaterialContext context 
) const
pure virtual

Creates a new QMaterial object representing the material settings.

The technique argument specifies the rendering technique which will be used with the returned material.

Implemented in QgsGoochMaterialSettings, QgsMetalRoughMaterialSettings, QgsNullMaterialSettings, QgsPhongMaterialSettings, QgsPhongTexturedMaterialSettings, and QgsSimpleLineMaterialSettings.

◆ type()

virtual QString QgsAbstractMaterialSettings::type ( ) const
pure virtual

◆ writeXml()

void QgsAbstractMaterialSettings::writeXml ( QDomElement &  element,
const QgsReadWriteContext  
) const
virtual

The documentation for this class was generated from the following files: