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

3D handler for the Gooch material. More...

#include <qgsgoochmaterial3dhandler.h>

Inheritance diagram for QgsGoochMaterial3DHandler:

Public Member Functions

 QgsGoochMaterial3DHandler ()=default
void addParametersToEffect (Qt3DRender::QEffect *effect, const QgsAbstractMaterialSettings *settings, const QgsMaterialContext &materialContext) const override
 Adds parameters from the material settings to a destination effect.
void applyDataDefinedToGeometry (const QgsAbstractMaterialSettings *settings, Qt3DCore::QGeometry *geometry, int vertexCount, const QByteArray &data) const override
 Applies the data defined bytes, dataDefinedBytes, on the geometry by filling a specific vertex buffer that will be used by the shader.
int dataDefinedByteStride (const QgsAbstractMaterialSettings *settings) const override
 Returns byte stride of the data defined colors,used to fill the vertex colors data defined buffer for rendering.
QByteArray dataDefinedVertexColorsAsByte (const QgsAbstractMaterialSettings *settings, const QgsExpressionContext &expressionContext) const override
 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.
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 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 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 Gooch material.

Warning
Not available in Python bindings
Since
QGIS 4.2

Definition at line 33 of file qgsgoochmaterial3dhandler.h.

Constructor & Destructor Documentation

◆ QgsGoochMaterial3DHandler()

QgsGoochMaterial3DHandler::QgsGoochMaterial3DHandler ( )
default

Member Function Documentation

◆ addParametersToEffect()

void QgsGoochMaterial3DHandler::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 67 of file qgsgoochmaterial3dhandler.cpp.

◆ applyDataDefinedToGeometry()

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

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

Reimplemented from QgsAbstractMaterial3DHandler.

Definition at line 108 of file qgsgoochmaterial3dhandler.cpp.

◆ dataDefinedByteStride()

int QgsGoochMaterial3DHandler::dataDefinedByteStride ( const QgsAbstractMaterialSettings * settings) const
overridevirtual

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

Since
QGIS 3.18

Reimplemented from QgsAbstractMaterial3DHandler.

Definition at line 103 of file qgsgoochmaterial3dhandler.cpp.

◆ dataDefinedVertexColorsAsByte()

QByteArray QgsGoochMaterial3DHandler::dataDefinedVertexColorsAsByte ( const QgsAbstractMaterialSettings * settings,
const QgsExpressionContext & expressionContext ) const
overridevirtual

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 from QgsAbstractMaterial3DHandler.

Definition at line 70 of file qgsgoochmaterial3dhandler.cpp.

◆ toExportParameters()

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

Returns the parameters to be exported to .mtl file.

Implements QgsAbstractMaterial3DHandler.

Definition at line 36 of file qgsgoochmaterial3dhandler.cpp.

◆ toMaterial()

QgsMaterial * QgsGoochMaterial3DHandler::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 41 of file qgsgoochmaterial3dhandler.cpp.

◆ updatePreviewScene()

bool QgsGoochMaterial3DHandler::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 159 of file qgsgoochmaterial3dhandler.cpp.


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