QGIS API Documentation  3.6.0-Noosa (5873452)
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
QgsTerrainGenerator Class Referenceabstract

3 Base class for generators of terrain. More...

#include <qgsterraingenerator.h>

Inheritance diagram for QgsTerrainGenerator:
Inheritance graph
[legend]

Public Types

enum  Type { Flat, Dem, QuantizedMesh }
 Enumeration of the available terrain generators. More...
 

Public Member Functions

virtual QgsTerrainGeneratorclone () const =0SIP_FACTORY
 Makes a copy of the current instance. More...
 
QgsCoordinateReferenceSystem crs () const
 Returns CRS of the terrain. More...
 
virtual QgsRectangle extent () const =0
 extent of the terrain in terrain's CRS More...
 
virtual float heightAt (double x, double y, const Qgs3DMapSettings &map) const
 Returns height at (x,y) in terrain's CRS. More...
 
virtual void readXml (const QDomElement &elem)=0
 Read terrain generator's configuration from XML. More...
 
virtual void resolveReferences (const QgsProject &project)
 After read of XML, resolve references to any layers that have been read as layer IDs. More...
 
virtual QgsAABB rootChunkBbox (const Qgs3DMapSettings &map) const
 Returns bounding box of the root chunk. More...
 
virtual float rootChunkError (const Qgs3DMapSettings &map) const
 Returns error of the root chunk in world coordinates. More...
 
virtual void rootChunkHeightRange (float &hMin, float &hMax) const
 Returns height range of the root chunk in world coordinates. More...
 
void setTerrain (QgsTerrainEntity *t)
 Sets terrain entity for the generator (does not transfer ownership) More...
 
const QgsTilingSchemetilingScheme () const
 Returns tiling scheme of the terrain. More...
 
virtual Type type () const =0
 What texture generator implementation is this. More...
 
virtual void writeXml (QDomElement &elem) const =0
 Write terrain generator's configuration to XML. More...
 

Static Public Member Functions

static QString typeToString (Type type)
 Converts terrain generator type enumeration into a string. More...
 

Protected Attributes

QgsTerrainEntity * mTerrain = nullptr
 
QgsTilingScheme mTerrainTilingScheme
 Tiling scheme of the terrain. More...
 

Detailed Description

3 Base class for generators of terrain.

All terrain generators are tile based to support hierarchical level of detail. Tiling scheme of a generator is defined by the generator itself. Terrain generators are asked to produce new terrain tiles whenever that is deemed necessary by the terrain controller (that caches generated tiles).

Since
QGIS 3.0

Definition at line 42 of file qgsterraingenerator.h.

Member Enumeration Documentation

◆ Type

Enumeration of the available terrain generators.

Enumerator
Flat 

The whole terrain is flat area.

Dem 

Terrain is built from raster layer with digital elevation model.

QuantizedMesh 

Terrain is built from downloaded tiles in quantized mesh format.

Definition at line 47 of file qgsterraingenerator.h.

Member Function Documentation

◆ clone()

virtual QgsTerrainGenerator* QgsTerrainGenerator::clone ( ) const
pure virtual

Makes a copy of the current instance.

Implemented in QgsDemTerrainGenerator, and QgsFlatTerrainGenerator.

◆ crs()

QgsCoordinateReferenceSystem QgsTerrainGenerator::crs ( ) const
inline

Returns CRS of the terrain.

Definition at line 94 of file qgsterraingenerator.h.

◆ extent()

virtual QgsRectangle QgsTerrainGenerator::extent ( ) const
pure virtual

extent of the terrain in terrain's CRS

Implemented in QgsDemTerrainGenerator, QgsFlatTerrainGenerator, and QuantizedMeshTerrainGenerator.

◆ heightAt()

float QgsTerrainGenerator::heightAt ( double  x,
double  y,
const Qgs3DMapSettings map 
) const
virtual

Returns height at (x,y) in terrain's CRS.

Reimplemented in QgsDemTerrainGenerator.

Definition at line 51 of file qgsterraingenerator.cpp.

◆ readXml()

virtual void QgsTerrainGenerator::readXml ( const QDomElement &  elem)
pure virtual

Read terrain generator's configuration from XML.

Implemented in QgsDemTerrainGenerator, QgsFlatTerrainGenerator, and QuantizedMeshTerrainGenerator.

◆ resolveReferences()

virtual void QgsTerrainGenerator::resolveReferences ( const QgsProject project)
inlinevirtual

After read of XML, resolve references to any layers that have been read as layer IDs.

Reimplemented in QgsDemTerrainGenerator.

Definition at line 85 of file qgsterraingenerator.h.

◆ rootChunkBbox()

QgsAABB QgsTerrainGenerator::rootChunkBbox ( const Qgs3DMapSettings map) const
virtual

Returns bounding box of the root chunk.

Definition at line 22 of file qgsterraingenerator.cpp.

◆ rootChunkError()

float QgsTerrainGenerator::rootChunkError ( const Qgs3DMapSettings map) const
virtual

Returns error of the root chunk in world coordinates.

Definition at line 34 of file qgsterraingenerator.cpp.

◆ rootChunkHeightRange()

void QgsTerrainGenerator::rootChunkHeightRange ( float &  hMin,
float &  hMax 
) const
virtual

Returns height range of the root chunk in world coordinates.

Reimplemented in QgsFlatTerrainGenerator.

Definition at line 44 of file qgsterraingenerator.cpp.

◆ setTerrain()

void QgsTerrainGenerator::setTerrain ( QgsTerrainEntity *  t)
inline

Sets terrain entity for the generator (does not transfer ownership)

Definition at line 55 of file qgsterraingenerator.h.

◆ tilingScheme()

const QgsTilingScheme& QgsTerrainGenerator::tilingScheme ( ) const
inline

Returns tiling scheme of the terrain.

Definition at line 91 of file qgsterraingenerator.h.

◆ type()

virtual Type QgsTerrainGenerator::type ( ) const
pure virtual

What texture generator implementation is this.

Implemented in QgsDemTerrainGenerator, QgsFlatTerrainGenerator, and QuantizedMeshTerrainGenerator.

◆ typeToString()

QString QgsTerrainGenerator::typeToString ( QgsTerrainGenerator::Type  type)
static

Converts terrain generator type enumeration into a string.

Definition at line 59 of file qgsterraingenerator.cpp.

◆ writeXml()

virtual void QgsTerrainGenerator::writeXml ( QDomElement &  elem) const
pure virtual

Write terrain generator's configuration to XML.

Implemented in QgsDemTerrainGenerator, QgsFlatTerrainGenerator, and QuantizedMeshTerrainGenerator.

Member Data Documentation

◆ mTerrain

QgsTerrainEntity* QgsTerrainGenerator::mTerrain = nullptr
protected

Definition at line 98 of file qgsterraingenerator.h.

◆ mTerrainTilingScheme

QgsTilingScheme QgsTerrainGenerator::mTerrainTilingScheme
protected

Tiling scheme of the terrain.

Definition at line 97 of file qgsterraingenerator.h.


The documentation for this class was generated from the following files: