QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
w
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
w
z
Variables
Typedefs
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
c
e
f
g
h
k
l
m
o
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Related Functions
3
a
b
c
d
e
f
g
i
l
m
n
o
p
q
r
s
t
v
Files
File List
File Members
All
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
a
b
c
d
e
f
g
h
i
l
n
o
p
q
r
s
t
u
w
Typedefs
3
a
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
Enumerator
c
l
s
t
Macros
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
w
x
y
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
src
3d
materials
qgsmaterialregistry.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsmaterialregistry.cpp
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
#include "
qgsmaterialregistry.h
"
17
#include "
qgsabstractmaterialsettings.h
"
18
19
QgsMaterialRegistry::QgsMaterialRegistry
()
20
{
21
}
22
23
QgsMaterialRegistry::~QgsMaterialRegistry
()
24
{
25
qDeleteAll( mMetadata );
26
}
27
28
bool
QgsMaterialRegistry::addMaterialSettingsType
(
QgsMaterialSettingsAbstractMetadata
*metadata )
29
{
30
if
( !metadata || mMetadata.contains( metadata->
type
() ) )
31
return
false
;
32
33
mMetadata[metadata->
type
()] = metadata;
34
mMaterialsOrder << metadata->
type
();
35
return
true
;
36
}
37
38
QgsAbstractMaterialSettings
*
QgsMaterialRegistry::createMaterialSettings
(
const
QString &type )
const
39
{
40
if
( !mMetadata.contains( type ) )
41
return
nullptr
;
42
43
return
mMetadata[type]->create();
44
}
45
46
QgsMaterialSettingsAbstractMetadata
*
QgsMaterialRegistry::materialSettingsMetadata
(
const
QString &type )
const
47
{
48
return
mMetadata.value( type );
49
}
50
51
QStringList
QgsMaterialRegistry::materialSettingsTypes
()
const
52
{
53
QStringList types;
54
for
(
const
QString &material : mMaterialsOrder )
55
{
56
if
( mMetadata.value( material ) )
57
types << material;
58
}
59
return
types;
60
}
QgsMaterialRegistry::materialSettingsMetadata
QgsMaterialSettingsAbstractMetadata * materialSettingsMetadata(const QString &type) const
Returns metadata for specified material settings type. Returns nullptr if not found.
Definition:
qgsmaterialregistry.cpp:46
QgsMaterialRegistry::materialSettingsTypes
QStringList materialSettingsTypes() const
Returns a list of all available material settings types.
Definition:
qgsmaterialregistry.cpp:51
qgsmaterialregistry.h
QgsMaterialSettingsAbstractMetadata::type
QString type() const
Returns the unique material type string.
Definition:
qgsmaterialregistry.h:60
QgsMaterialSettingsAbstractMetadata
Stores metadata about one 3D material settings class.
Definition:
qgsmaterialregistry.h:40
qgsabstractmaterialsettings.h
QgsMaterialRegistry::createMaterialSettings
QgsAbstractMaterialSettings * createMaterialSettings(const QString &type) const
Creates a new instance of the material settings of the specified type.
Definition:
qgsmaterialregistry.cpp:38
QgsAbstractMaterialSettings
Abstract base class for material settings.
Definition:
qgsabstractmaterialsettings.h:114
QgsMaterialRegistry::~QgsMaterialRegistry
~QgsMaterialRegistry()
Definition:
qgsmaterialregistry.cpp:23
QgsMaterialRegistry::addMaterialSettingsType
bool addMaterialSettingsType(QgsMaterialSettingsAbstractMetadata *metadata)
Registers a new material settings type. Takes ownership of the metadata instance.
Definition:
qgsmaterialregistry.cpp:28
QgsMaterialRegistry::QgsMaterialRegistry
QgsMaterialRegistry()
Definition:
qgsmaterialregistry.cpp:19
Generated on Sun Sep 11 2022 00:03:17 for QGIS API Documentation by
1.8.17