QGIS API Documentation
4.3.0-Master (52aa6503bed)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
3d
materials
qgsnullmaterialsettings.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsnullmaterialsettings.cpp
3
--------------------------------------
4
Date : November 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
#include "
qgsnullmaterialsettings.h
"
17
18
#include <QMap>
19
#include <QString>
20
21
using namespace
Qt::StringLiterals;
22
23
QString
QgsNullMaterialSettings::type
()
const
24
{
25
return
u
"null"
_s;
26
}
27
28
bool
QgsNullMaterialSettings::supportsTechnique
(
Qgis::MaterialRenderingTechnique
technique )
29
{
30
switch
( technique )
31
{
32
case
Qgis::MaterialRenderingTechnique::TrianglesFromModel
:
33
return
true
;
34
35
case
Qgis::MaterialRenderingTechnique::Triangles
:
36
case
Qgis::MaterialRenderingTechnique::InstancedPoints
:
37
case
Qgis::MaterialRenderingTechnique::Points
:
38
case
Qgis::MaterialRenderingTechnique::TrianglesWithFixedTexture
:
39
case
Qgis::MaterialRenderingTechnique::TrianglesDataDefined
:
40
case
Qgis::MaterialRenderingTechnique::Lines
:
41
case
Qgis::MaterialRenderingTechnique::Billboards
:
42
return
false
;
43
}
44
return
false
;
45
}
46
47
std::unique_ptr<QgsAbstractMaterialSettings>
QgsNullMaterialSettings::create
()
48
{
49
return
std::make_unique<QgsNullMaterialSettings>();
50
}
51
52
QgsNullMaterialSettings
*
QgsNullMaterialSettings::clone
()
const
53
{
54
return
new
QgsNullMaterialSettings
( *
this
);
55
}
56
57
bool
QgsNullMaterialSettings::equals
(
const
QgsAbstractMaterialSettings
*other )
const
58
{
59
const
QgsNullMaterialSettings
*otherNull =
dynamic_cast<
const
QgsNullMaterialSettings
*
>
( other );
60
if
( !otherNull )
61
return
false
;
62
63
return
true
;
64
}
65
66
QColor
QgsNullMaterialSettings::averageColor
()
const
67
{
68
return
QColor();
69
}
70
71
void
QgsNullMaterialSettings::setColorsFromBase
(
const
QColor &baseColor )
72
{
73
Q_UNUSED( baseColor )
74
}
Qgis::MaterialRenderingTechnique
MaterialRenderingTechnique
Material rendering techniques.
Definition
qgis.h:4453
Qgis::MaterialRenderingTechnique::Points
@ Points
Point based rendering, requires point data.
Definition
qgis.h:4457
Qgis::MaterialRenderingTechnique::Triangles
@ Triangles
Triangle based rendering (default).
Definition
qgis.h:4454
Qgis::MaterialRenderingTechnique::TrianglesFromModel
@ TrianglesFromModel
Triangle based rendering, using a model object source.
Definition
qgis.h:4459
Qgis::MaterialRenderingTechnique::Lines
@ Lines
Line based rendering, requires line data.
Definition
qgis.h:4455
Qgis::MaterialRenderingTechnique::Billboards
@ Billboards
Flat billboard rendering.
Definition
qgis.h:4461
Qgis::MaterialRenderingTechnique::TrianglesDataDefined
@ TrianglesDataDefined
Triangle based rendering with possibility of datadefined color.
Definition
qgis.h:4460
Qgis::MaterialRenderingTechnique::InstancedPoints
@ InstancedPoints
Instanced based rendering, requiring triangles and point data.
Definition
qgis.h:4456
Qgis::MaterialRenderingTechnique::TrianglesWithFixedTexture
@ TrianglesWithFixedTexture
Triangle based rendering, using a fixed, non-user-configurable texture (e.g. for terrain rendering).
Definition
qgis.h:4458
QgsAbstractMaterialSettings
Abstract base class for material settings.
Definition
qgsabstractmaterialsettings.h:42
QgsNullMaterialSettings::averageColor
QColor averageColor() const override
Returns an approximate color representing the blended material color.
Definition
qgsnullmaterialsettings.cpp:66
QgsNullMaterialSettings::setColorsFromBase
void setColorsFromBase(const QColor &baseColor) override
Decomposes a base color into the material's color components, and sets the material's colors accordin...
Definition
qgsnullmaterialsettings.cpp:71
QgsNullMaterialSettings::QgsNullMaterialSettings
QgsNullMaterialSettings()=default
QgsNullMaterialSettings::equals
bool equals(const QgsAbstractMaterialSettings *other) const override
Returns true if this settings exactly matches an other settings.
Definition
qgsnullmaterialsettings.cpp:57
QgsNullMaterialSettings::clone
QgsNullMaterialSettings * clone() const override
Clones the material settings.
Definition
qgsnullmaterialsettings.cpp:52
QgsNullMaterialSettings::supportsTechnique
static bool supportsTechnique(Qgis::MaterialRenderingTechnique technique)
Returns true if the specified technique is supported by the material.
Definition
qgsnullmaterialsettings.cpp:28
QgsNullMaterialSettings::type
QString type() const override
Returns the unique type name for the material.
Definition
qgsnullmaterialsettings.cpp:23
QgsNullMaterialSettings::create
static std::unique_ptr< QgsAbstractMaterialSettings > create()
Returns a new instance of QgsNullMaterialSettings.
Definition
qgsnullmaterialsettings.cpp:47
qgsnullmaterialsettings.h
Generated on
for QGIS API Documentation by
1.17.0