QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
3d
materials
qgsgoochmaterial3dhandler.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsgoochmaterial3dhandler.h
3
--------------------------------------
4
Date : July 2020
5
Copyright : (C) 2020 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 QGSGOOCHMATERIAL3DHANDLER_H
17
#define QGSGOOCHMATERIAL3DHANDLER_H
18
19
#include "qgis_3d.h"
20
#include "
qgsmaterial3dhandler.h
"
21
22
#define SIP_NO_FILE
23
24
class
QgsMaterial
;
25
class
QgsGoochMaterial;
26
class
QgsGoochMaterialSettings
;
27
35
class
_3D_EXPORT
QgsGoochMaterial3DHandler
:
public
QgsAbstractMaterial3DHandler
36
{
37
public
:
38
QgsGoochMaterial3DHandler
() =
default
;
39
40
QMap<QString, QString>
toExportParameters
(
const
QgsAbstractMaterialSettings
*settings )
const override
;
41
QgsMaterial
*
toMaterial
(
const
QgsAbstractMaterialSettings
*settings,
Qgis::MaterialRenderingTechnique
technique,
const
QgsMaterialContext
&context )
const override
;
42
QgsMaterial
*
toInstancedMaterial
(
43
const
QgsAbstractMaterialSettings
*settings,
const
QgsMaterialContext
&context,
Qgis::InstancedMaterialFlags
flags,
const
QMatrix4x4 &transform = QMatrix4x4()
44
)
const override
;
45
QByteArray
dataDefinedVertexColorsAsByte
(
const
QgsAbstractMaterialSettings
*settings,
const
QgsExpressionContext
&expressionContext )
const override
;
46
void
applyDataDefinedToGeometry
(
const
QgsAbstractMaterialSettings
*settings, Qt3DCore::QGeometry *geometry,
int
vertexCount,
const
QByteArray &data )
const override
;
47
bool
updatePreviewScene
( Qt3DCore::QEntity *sceneRoot,
const
QgsAbstractMaterialSettings
*settings,
const
QgsMaterialContext
&context )
const override
;
48
49
private
:
50
static
void
applySettingsToMaterial(
const
QgsGoochMaterialSettings
*settings, QgsGoochMaterial *material );
51
};
52
53
54
#endif
// QGSGOOCHMATERIAL3DHANDLER_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
QgsGoochMaterial3DHandler::QgsGoochMaterial3DHandler
QgsGoochMaterial3DHandler()=default
QgsGoochMaterialSettings
Basic shading material used for rendering based on the Phong shading model with three color component...
Definition
qgsgoochmaterialsettings.h:38
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
qgsmaterial3dhandler.h
Generated on
for QGIS API Documentation by
1.17.0