QGIS API Documentation  3.23.0-Master (22c16f2067)
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 
19 QgsPropertiesDefinition QgsAbstract3DSymbol::sPropertyDefinitions;
20 
21 
22 QList<QgsWkbTypes::GeometryType> QgsAbstract3DSymbol::compatibleGeometryTypes() const
23 {
24  return QList< QgsWkbTypes::GeometryType >();
25 }
26 
28 {
29  initPropertyDefinitions();
30  return sPropertyDefinitions;
31 }
32 
34 {
36 }
37 
38 void QgsAbstract3DSymbol::initPropertyDefinitions()
39 {
40  if ( !sPropertyDefinitions.isEmpty() )
41  return;
42 
43  const QString origin = QStringLiteral( "symbol3d" );
44 
45  sPropertyDefinitions = QgsPropertiesDefinition
46  {
47  { PropertyHeight, QgsPropertyDefinition( "height", QObject::tr( "Height" ), QgsPropertyDefinition::Double, origin ) },
48  { PropertyExtrusionHeight, QgsPropertyDefinition( "extrusionHeight", QObject::tr( "ExtrusionHeight" ), QgsPropertyDefinition::DoublePositive, origin ) },
49  };
50 
51 }
52 
53 bool QgsAbstract3DSymbol::exportGeometries( Qgs3DSceneExporter *exporter, Qt3DCore::QEntity *entity, const QString &objectNamePrefix ) const
54 {
55  Q_UNUSED( exporter );
56  Q_UNUSED( entity );
57  Q_UNUSED( objectNamePrefix );
58  return false;
59 }
Entity that handles the exporting of 3D scene.
virtual bool exportGeometries(Qgs3DSceneExporter *exporter, Qt3DCore::QEntity *entity, const QString &objectNamePrefix) const
Exports the geometries contained within the hierarchy of entity.
virtual QList< QgsWkbTypes::GeometryType > compatibleGeometryTypes() const
Returns the list of the vector layer geometry types which are compatible with this symbol.
void copyBaseSettings(QgsAbstract3DSymbol *destination) const
Copies base class settings from this object to a destination object.
static const QgsPropertiesDefinition & propertyDefinitions()
Returns the symbol layer property definitions.
@ PropertyHeight
Height (altitude)
@ PropertyExtrusionHeight
Extrusion height (zero means no extrusion)
QgsPropertyCollection mDataDefinedProperties
Definition for a property.
Definition: qgsproperty.h:47
@ Double
Double value (including negative values)
Definition: qgsproperty.h:57
@ DoublePositive
Positive double value (including 0)
Definition: qgsproperty.h:58
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.