QGIS API Documentation 4.1.0-Master (3b8ef1f72a3)
Loading...
Searching...
No Matches
QgsMetalRoughTexturedMaterial3DHandler Class Reference

3D handler for the textured PBR metal rough material. More...

#include <qgsmetalroughtexturedmaterial3dhandler.h>

Inheritance diagram for QgsMetalRoughTexturedMaterial3DHandler:

Public Member Functions

 QgsMetalRoughTexturedMaterial3DHandler ()=default
void addParametersToEffect (Qt3DRender::QEffect *effect, const QgsAbstractMaterialSettings *settings, const QgsMaterialContext &materialContext) const override
 Adds parameters from the material settings to a destination effect.
QMap< QString, QString > toExportParameters (const QgsAbstractMaterialSettings *settings) const override
 Returns the parameters to be exported to .mtl file.
QgsMaterialtoMaterial (const QgsAbstractMaterialSettings *settings, Qgis::MaterialRenderingTechnique technique, const QgsMaterialContext &context) const override
 Creates a new QgsMaterial object representing the material settings.
bool updatePreviewScene (Qt3DCore::QEntity *sceneRoot, const QgsAbstractMaterialSettings *settings, const QgsMaterialContext &context) const override
 Updates an existing material preview scene with new material settings.
Public Member Functions inherited from QgsAbstractMaterial3DHandler
virtual ~QgsAbstractMaterial3DHandler ()=default
virtual void applyDataDefinedToGeometry (const QgsAbstractMaterialSettings *settings, 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.
virtual Qt3DCore::QEntity * createPreviewMesh (const QString &type, Qt3DCore::QEntity *parent) const
 Creates a new entity representing a suitable preview mesh for this material type.
virtual Qt3DCore::QEntity * createPreviewScene (const QgsAbstractMaterialSettings *settings, const QString &type, const QgsMaterialContext &context, Qt3DExtras::Qt3DWindow *window, Qt3DCore::QEntity *parent) const
 Builds a complete self-contained scene for previewing the material, using the specified mesh type.
virtual int dataDefinedByteStride (const QgsAbstractMaterialSettings *settings) const
 Returns byte stride of the data defined colors,used to fill the vertex colors data defined buffer for rendering.
virtual QByteArray dataDefinedVertexColorsAsByte (const QgsAbstractMaterialSettings *settings, 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.
virtual QList< PreviewMeshTypepreviewMeshTypes () const
 Returns a list of available preview mesh types for the material.

Additional Inherited Members

Static Protected Member Functions inherited from QgsAbstractMaterial3DHandler
static Qt3DRender::QParameter * findParameter (Qt3DRender::QEffect *effect, const QString &name)
 Finds an existing parameter in an effect by name.

Detailed Description

3D handler for the textured PBR metal rough material.

Warning
Not available in Python bindings
Since
QGIS 4.2

Definition at line 40 of file qgsmetalroughtexturedmaterial3dhandler.h.

Constructor & Destructor Documentation

◆ QgsMetalRoughTexturedMaterial3DHandler()

QgsMetalRoughTexturedMaterial3DHandler::QgsMetalRoughTexturedMaterial3DHandler ( )
default

Member Function Documentation

◆ addParametersToEffect()

void QgsMetalRoughTexturedMaterial3DHandler::addParametersToEffect ( Qt3DRender::QEffect * effect,
const QgsAbstractMaterialSettings * settings,
const QgsMaterialContext & materialContext ) const
overridevirtual

Adds parameters from the material settings to a destination effect.

Implements QgsAbstractMaterial3DHandler.

Definition at line 69 of file qgsmetalroughtexturedmaterial3dhandler.cpp.

◆ toExportParameters()

QMap< QString, QString > QgsMetalRoughTexturedMaterial3DHandler::toExportParameters ( const QgsAbstractMaterialSettings * settings) const
overridevirtual

Returns the parameters to be exported to .mtl file.

Implements QgsAbstractMaterial3DHandler.

Definition at line 63 of file qgsmetalroughtexturedmaterial3dhandler.cpp.

◆ toMaterial()

QgsMaterial * QgsMetalRoughTexturedMaterial3DHandler::toMaterial ( const QgsAbstractMaterialSettings * settings,
Qgis::MaterialRenderingTechnique technique,
const QgsMaterialContext & context ) const
overridevirtual

Creates a new QgsMaterial object representing the material settings.

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

Implements QgsAbstractMaterial3DHandler.

Definition at line 36 of file qgsmetalroughtexturedmaterial3dhandler.cpp.

◆ updatePreviewScene()

bool QgsMetalRoughTexturedMaterial3DHandler::updatePreviewScene ( Qt3DCore::QEntity * sceneRoot,
const QgsAbstractMaterialSettings * settings,
const QgsMaterialContext & context ) const
overridevirtual

Updates an existing material preview scene with new material settings.

This method is called on every material setting parameter change while configuring materials, so the implementation must be cheap (e.g. involve no entity creation, just direct manipulation of existing attributes).

Returns false if the scene could not be updated in place and needs to be regenered via createPreviewScene().

Implements QgsAbstractMaterial3DHandler.

Definition at line 72 of file qgsmetalroughtexturedmaterial3dhandler.cpp.


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