QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
3d
qgsabstract3dsymbol.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsabstract3dsymbol.cpp
3
--------------------------------------
4
Date : July 2017
5
Copyright : (C) 2017 by Martin Dobias
6
Email : wonder dot sk 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 "
qgsabstract3dsymbol.h
"
17
18
#include <QString>
19
20
using namespace
Qt::StringLiterals;
21
22
QgsPropertiesDefinition
QgsAbstract3DSymbol::sPropertyDefinitions;
23
24
25
QList<Qgis::GeometryType>
QgsAbstract3DSymbol::compatibleGeometryTypes
()
const
26
{
27
return
QList< Qgis::GeometryType >();
28
}
29
30
const
QgsPropertiesDefinition
&
QgsAbstract3DSymbol::propertyDefinitions
()
31
{
32
initPropertyDefinitions();
33
return
sPropertyDefinitions;
34
}
35
36
void
QgsAbstract3DSymbol::copyBaseSettings
(
QgsAbstract3DSymbol
*destination )
const
37
{
38
destination->
mDataDefinedProperties
=
mDataDefinedProperties
;
39
}
40
41
void
QgsAbstract3DSymbol::initPropertyDefinitions()
42
{
43
if
( !sPropertyDefinitions.isEmpty() )
44
return
;
45
46
const
QString origin = u
"symbol3d"
_s;
47
48
sPropertyDefinitions =
QgsPropertiesDefinition
{
49
{
static_cast<
int
>
(
Property::Height
),
QgsPropertyDefinition
(
"height"
, QObject::tr(
"Height"
),
QgsPropertyDefinition::Double
, origin ) },
50
{
static_cast<
int
>
(
Property::ExtrusionHeight
), QgsPropertyDefinition(
"extrusionHeight"
, QObject::tr(
"ExtrusionHeight"
),
QgsPropertyDefinition::DoublePositive
, origin ) },
51
{
static_cast<
int
>
(
Property::ScaleX
), QgsPropertyDefinition(
"scaleX"
, QObject::tr(
"X-axis scale"
),
QgsPropertyDefinition::Double
, origin ) },
52
{
static_cast<
int
>
(
Property::ScaleY
), QgsPropertyDefinition(
"scaleY"
, QObject::tr(
"Y-axis scale"
),
QgsPropertyDefinition::Double
, origin ) },
53
{
static_cast<
int
>
(
Property::ScaleZ
), QgsPropertyDefinition(
"scaleZ"
, QObject::tr(
"Z-axis scale"
),
QgsPropertyDefinition::Double
, origin ) },
54
{
static_cast<
int
>
(
Property::TranslationX
), QgsPropertyDefinition(
"translationX"
, QObject::tr(
"X-axis translation"
),
QgsPropertyDefinition::Double
, origin ) },
55
{
static_cast<
int
>
(
Property::TranslationY
), QgsPropertyDefinition(
"translationY"
, QObject::tr(
"Y-axis translation"
),
QgsPropertyDefinition::Double
, origin ) },
56
{
static_cast<
int
>
(
Property::TranslationZ
), QgsPropertyDefinition(
"translationZ"
, QObject::tr(
"Z-axis translation"
),
QgsPropertyDefinition::Double
, origin ) },
57
{
static_cast<
int
>
(
Property::RotationX
), QgsPropertyDefinition(
"rotationX"
, QObject::tr(
"X-axis rotation"
),
QgsPropertyDefinition::Double
, origin ) },
58
{
static_cast<
int
>
(
Property::RotationY
), QgsPropertyDefinition(
"rotationY"
, QObject::tr(
"Y-axis rotation"
),
QgsPropertyDefinition::Double
, origin ) },
59
{
static_cast<
int
>
(
Property::RotationZ
), QgsPropertyDefinition(
"rotationZ"
, QObject::tr(
"Z-axis rotation"
),
QgsPropertyDefinition::Double
, origin ) },
60
};
61
}
62
63
bool
QgsAbstract3DSymbol::exportGeometries
(
Qgs3DSceneExporter
*exporter, Qt3DCore::QEntity *entity,
const
QString &objectNamePrefix )
const
64
{
65
Q_UNUSED( exporter )
66
Q_UNUSED( entity )
67
Q_UNUSED( objectNamePrefix )
68
return
false
;
69
}
70
71
void
QgsAbstract3DSymbol::setDefaultPropertiesFromLayer
(
const
QgsVectorLayer
* )
72
{}
Qgs3DSceneExporter
Entity that handles the exporting of 3D scenes.
Definition
qgs3dsceneexporter.h:61
QgsAbstract3DSymbol
Abstract base class for 3D symbols that are used by VectorLayer3DRenderer objects.
Definition
qgsabstract3dsymbol.h:48
QgsAbstract3DSymbol::exportGeometries
virtual bool exportGeometries(Qgs3DSceneExporter *exporter, Qt3DCore::QEntity *entity, const QString &objectNamePrefix) const
Exports the geometries contained within the hierarchy of entity.
Definition
qgsabstract3dsymbol.cpp:63
QgsAbstract3DSymbol::copyBaseSettings
virtual void copyBaseSettings(QgsAbstract3DSymbol *destination) const
Copies base class settings from this object to a destination object.
Definition
qgsabstract3dsymbol.cpp:36
QgsAbstract3DSymbol::setDefaultPropertiesFromLayer
virtual void setDefaultPropertiesFromLayer(const QgsVectorLayer *layer)
Sets default properties for the symbol based on a layer's configuration.
Definition
qgsabstract3dsymbol.cpp:71
QgsAbstract3DSymbol::compatibleGeometryTypes
virtual QList< Qgis::GeometryType > compatibleGeometryTypes() const
Returns the list of the vector layer geometry types which are compatible with this symbol.
Definition
qgsabstract3dsymbol.cpp:25
QgsAbstract3DSymbol::propertyDefinitions
static const QgsPropertiesDefinition & propertyDefinitions()
Returns the symbol layer property definitions.
Definition
qgsabstract3dsymbol.cpp:30
QgsAbstract3DSymbol::mDataDefinedProperties
QgsPropertyCollection mDataDefinedProperties
Definition
qgsabstract3dsymbol.h:134
QgsAbstract3DSymbol::Property::ExtrusionHeight
@ ExtrusionHeight
Extrusion height (zero means no extrusion).
Definition
qgsabstract3dsymbol.h:74
QgsAbstract3DSymbol::Property::RotationX
@ RotationX
X-axis rotation.
Definition
qgsabstract3dsymbol.h:81
QgsAbstract3DSymbol::Property::ScaleY
@ ScaleY
Y-axis scaling.
Definition
qgsabstract3dsymbol.h:76
QgsAbstract3DSymbol::Property::TranslationY
@ TranslationY
Y-axis translation.
Definition
qgsabstract3dsymbol.h:79
QgsAbstract3DSymbol::Property::ScaleZ
@ ScaleZ
Z-axis scaling.
Definition
qgsabstract3dsymbol.h:77
QgsAbstract3DSymbol::Property::RotationY
@ RotationY
Y-axis rotation.
Definition
qgsabstract3dsymbol.h:82
QgsAbstract3DSymbol::Property::TranslationZ
@ TranslationZ
Z-axis translation.
Definition
qgsabstract3dsymbol.h:80
QgsAbstract3DSymbol::Property::ScaleX
@ ScaleX
X-axis scaling.
Definition
qgsabstract3dsymbol.h:75
QgsAbstract3DSymbol::Property::TranslationX
@ TranslationX
X-axis translation.
Definition
qgsabstract3dsymbol.h:78
QgsAbstract3DSymbol::Property::RotationZ
@ RotationZ
Z-axis rotation.
Definition
qgsabstract3dsymbol.h:83
QgsAbstract3DSymbol::Property::Height
@ Height
Height (altitude).
Definition
qgsabstract3dsymbol.h:73
QgsPropertyDefinition
Definition for a property.
Definition
qgsproperty.h:47
QgsPropertyDefinition::Double
@ Double
Double value (including negative values).
Definition
qgsproperty.h:56
QgsPropertyDefinition::DoublePositive
@ DoublePositive
Positive double value (including 0).
Definition
qgsproperty.h:57
QgsVectorLayer
Represents a vector layer which manages a vector based dataset.
Definition
qgsvectorlayer.h:414
qgsabstract3dsymbol.h
QgsPropertiesDefinition
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.
Definition
qgspropertycollection.h:32
Generated on
for QGIS API Documentation by
1.17.0