QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
3d
materials
qgsmetalroughmaterial3dhandler.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsmetalroughmaterial3dhandler.h
3
--------------------------------------
4
Date : December 2023
5
Copyright : (C) 2023 by Nyall Dawson
6
Email : nyall dot dawson at gmail dot com
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
16
#ifndef QGSMETALROUGHMATERIAL3DHANDLER_H
17
#define QGSMETALROUGHMATERIAL3DHANDLER_H
18
19
#include "qgis_3d.h"
20
#include "
qgsmaterial3dhandler.h
"
21
22
#define SIP_NO_FILE
23
24
class
QgsMetalRoughMaterialSettings
;
25
class
QgsMetalRoughMaterial;
26
27
36
class
_3D_EXPORT
QgsMetalRoughMaterial3DHandler
:
public
QgsAbstractMaterial3DHandler
37
{
38
public
:
39
QgsMetalRoughMaterial3DHandler
() =
default
;
40
41
QMap<QString, QString>
toExportParameters
(
const
QgsAbstractMaterialSettings
*settings )
const override
;
42
QgsMaterial
*
toMaterial
(
const
QgsAbstractMaterialSettings
*settings,
Qgis::MaterialRenderingTechnique
technique,
const
QgsMaterialContext
&context )
const override
;
43
QgsMaterial
*
toInstancedMaterial
(
44
const
QgsAbstractMaterialSettings
*settings,
const
QgsMaterialContext
&context,
Qgis::InstancedMaterialFlags
flags,
const
QMatrix4x4 &transform = QMatrix4x4()
45
)
const override
;
46
bool
updatePreviewScene
( Qt3DCore::QEntity *sceneRoot,
const
QgsAbstractMaterialSettings
*settings,
const
QgsMaterialContext
&context )
const override
;
47
48
QByteArray
dataDefinedVertexColorsAsByte
(
const
QgsAbstractMaterialSettings
*settings,
const
QgsExpressionContext
&expressionContext )
const override
;
49
void
applyDataDefinedToGeometry
(
const
QgsAbstractMaterialSettings
*settings, Qt3DCore::QGeometry *geometry,
int
vertexCount,
const
QByteArray &data )
const override
;
50
51
private
:
52
static
void
applySettingsToMaterial(
const
QgsMetalRoughMaterialSettings
*metalRoughSettings, QgsMetalRoughMaterial *material,
const
QgsMaterialContext
&context );
53
};
54
55
56
#endif
// QGSMETALROUGHMATERIAL3DHANDLER_H
Qgis::MaterialRenderingTechnique
MaterialRenderingTechnique
Material rendering techniques.
Definition
qgis.h:4453
Qgis::InstancedMaterialFlags
QFlags< InstancedMaterialFlag > InstancedMaterialFlags
Definition
qgis.h:4488
QgsAbstractMaterial3DHandler
Abstract base class for material 3D handlers.
Definition
qgsmaterial3dhandler.h:160
QgsAbstractMaterial3DHandler::applyDataDefinedToGeometry
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...
Definition
qgsmaterial3dhandler.cpp:71
QgsAbstractMaterial3DHandler::updatePreviewScene
virtual bool updatePreviewScene(Qt3DCore::QEntity *sceneRoot, const QgsAbstractMaterialSettings *settings, const QgsMaterialContext &context) const =0
Updates an existing material preview scene with new material settings.
QgsAbstractMaterial3DHandler::toMaterial
virtual QgsMaterial * toMaterial(const QgsAbstractMaterialSettings *settings, Qgis::MaterialRenderingTechnique technique, const QgsMaterialContext &context) const =0
Creates a new QgsMaterial object representing the material settings.
QgsAbstractMaterial3DHandler::toExportParameters
virtual QMap< QString, QString > toExportParameters(const QgsAbstractMaterialSettings *settings) const =0
Returns the parameters to be exported to .mtl file.
QgsAbstractMaterial3DHandler::dataDefinedVertexColorsAsByte
virtual QByteArray dataDefinedVertexColorsAsByte(const QgsAbstractMaterialSettings *settings, const QgsExpressionContext &expressionContext) const
Returns byte array corresponding to the data defined colors depending of the expressionContext,...
Definition
qgsmaterial3dhandler.cpp:64
QgsAbstractMaterial3DHandler::toInstancedMaterial
virtual QgsMaterial * toInstancedMaterial(const QgsAbstractMaterialSettings *settings, const QgsMaterialContext &context, Qgis::InstancedMaterialFlags flags, const QMatrix4x4 &transform=QMatrix4x4()) const
Creates a QgsMaterial for instanced point rendering.
Definition
qgsmaterial3dhandler.cpp:53
QgsAbstractMaterialSettings
Abstract base class for material settings.
Definition
qgsabstractmaterialsettings.h:42
QgsExpressionContext
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Definition
qgsexpressioncontext.h:491
QgsMaterialContext
Context settings for a material.
Definition
qgsmaterial3dhandler.h:56
QgsMaterial
Base class for all materials used within QGIS 3D views.
Definition
qgsmaterial.h:40
QgsMetalRoughMaterial3DHandler::QgsMetalRoughMaterial3DHandler
QgsMetalRoughMaterial3DHandler()=default
QgsMetalRoughMaterialSettings
A PBR metal rough shading material used for rendering.
Definition
qgsmetalroughmaterialsettings.h:36
qgsmaterial3dhandler.h
Generated on
for QGIS API Documentation by
1.17.0