16#ifndef QGSTERRAINGENERATOR_H
17#define QGSTERRAINGENERATOR_H
28class QgsTerrainEntity;
65 virtual void setTerrain( QgsTerrainEntity *t ) { mTerrain = t; }
89 virtual void rootChunkHeightRange(
float &hMin,
float &hMax )
const;
95 virtual void writeXml( QDomElement &elem )
const = 0;
98 virtual void readXml(
const QDomElement &elem ) = 0;
104 static QString typeToString( Type type );
113 bool isValid()
const;
123 QgsTerrainEntity *mTerrain =
nullptr;
126 bool mIsValid =
true;
A 3-dimensional box composed of x, y, z coordinates.
This class represents a coordinate reference system (CRS).
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
A rectangle specified with double values.
virtual void writeXml(QDomElement &elem) const =0
Write terrain generator's configuration to XML.
Type
Enumeration of the available terrain generators.
@ QuantizedMesh
Terrain is built from quantized mesh tiles.
@ Dem
Terrain is built from raster layer with digital elevation model.
@ Online
Terrain is built from downloaded tiles with digital elevation model.
@ Mesh
Terrain is built from mesh layer with z value on vertices.
@ Flat
The whole terrain is flat area.
QgsTilingScheme mTerrainTilingScheme
Tiling scheme of the terrain.
void terrainChanged()
Emitted when the terrain changed (for example, raster DEM or mesh have data changed)
virtual Type type() const =0
What texture generator implementation is this.
virtual void setExtent(const QgsRectangle &extent)
sets the extent of the terrain in terrain's CRS
virtual QgsRectangle extent() const
extent of the terrain in terrain's CRS, might be non-square and smaller than rootChunkExtent()
virtual QgsRectangle rootChunkExtent() const =0
extent of the terrain's root chunk in terrain's CRS
virtual void readXml(const QDomElement &elem)=0
Read terrain generator's configuration from XML.
virtual void resolveReferences(const QgsProject &project)
After read of XML, resolve references to any layers that have been read as layer IDs.
virtual void setTerrain(QgsTerrainEntity *t)
Sets terrain entity for the generator (does not transfer ownership)
virtual QgsCoordinateReferenceSystem crs() const
Returns CRS of the terrain.
const QgsTilingScheme & tilingScheme() const
Returns tiling scheme of the terrain.
virtual QgsTerrainGenerator * clone() const =0SIP_FACTORY
Makes a copy of the current instance.