QGIS API Documentation 4.3.0-Master (16eddb2670e)
Loading...
Searching...
No Matches
QgsOnlineTerrainGenerator Class Reference

Implementation of terrain generator that uses online resources to download heightmaps. More...

#include <qgsonlineterraingenerator.h>

Inheritance diagram for QgsOnlineTerrainGenerator:

Public Member Functions

 QgsOnlineTerrainGenerator ()
 ~QgsOnlineTerrainGenerator () override
QgsTerrainGenerator * clone () const override
 Makes a copy of the current instance.
Type type () const override
 What texture generator implementation is this.
Public Member Functions inherited from QgsDemTerrainGenerator
 QgsDemTerrainGenerator ()
 ~QgsDemTerrainGenerator () override
QgsTerrainGenerator::Capabilities capabilities () const override
 Returns flags containing the supported capabilities.
QgsCoordinateReferenceSystem crs () const override
 Returns CRS of the terrain.
float heightAt (double x, double y, const Qgs3DRenderContext &context) const override
 Returns height at (x,y) in map's CRS.
QgsDemHeightMapGenerator * heightMapGenerator ()
 Returns height map generator object - takes care of extraction of elevations from the layer).
QgsRasterLayer * layer () const
 Returns raster layer with elevation model to be used for terrain generation.
QFuture< QgsChunkLoaderResult > loadChunk (QgsChunkNode *node) override
int resolution () const
 Returns resolution of the generator (how many elevation samples on one side of a terrain tile).
QgsRectangle rootChunkExtent () const override
 extent of the terrain's root chunk in terrain's CRS
void setCrs (const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context) override
 Sets the CRS associated with the terrain.
void setExtent (const QgsRectangle &extent) override
 sets the extent of the terrain in terrain's CRS
void setLayer (QgsRasterLayer *layer)
 Sets raster layer with elevation model to be used for terrain generation.
void setResolution (int resolution)
 Sets resolution of the generator (how many elevation samples on one side of a terrain tile).
void setSkirtHeight (float skirtHeight)
 Sets skirt height (in world units). Skirts at the edges of terrain tiles help hide cracks between adjacent tiles.
float skirtHeight () const
 Returns skirt height (in world units). Skirts at the edges of terrain tiles help hide cracks between adjacent tiles.
Public Member Functions inherited from QgsTerrainGenerator
 QgsTerrainGenerator ()
 Create new terrain generator.
 ~QgsTerrainGenerator () override
bool isValid () const
 Returns whether the terrain generator is valid.
virtual QgsBox3D rootChunkBox3D (const Qgs3DMapSettings &map) const
 Returns 3D box (in map coordinates) of the root chunk.
virtual float rootChunkError (const Qgs3DMapSettings &map) const
 Returns error of the root chunk in world coordinates.
virtual void rootChunkHeightRange (float &hMin, float &hMax) const
 Returns height range of the root chunk in world coordinates.
virtual void setTerrain (QgsTerrainEntity *t)
 Sets terrain entity for the generator (does not transfer ownership).
const QgsTilingScheme & tilingScheme () const
 Returns tiling scheme of the terrain.
QFuture< QgsChunkLoaderResult > updateChunk (QgsChunkNode *node) override

Static Public Member Functions

static QgsTerrainGenerator * create ()
 Creates a new instance of a QgsOnlineTerrainGenerator object.
Static Public Member Functions inherited from QgsDemTerrainGenerator
static QgsTerrainGenerator * create ()
 Creates a new instance of a QgsDemTerrainGenerator object.
Static Public Member Functions inherited from QgsTerrainGenerator
static QString typeToString (Type type)
 Converts terrain generator type enumeration into a string.

Protected Member Functions

void updateGenerator () override
 (Re-)creates mHeightMapGenerator based on current params
Protected Member Functions inherited from QgsTerrainGenerator
void applyMaterial (const TerrainTextureResources &resources, QgsTerrainTileEntity *entity, bool isShadingEnabled, const QgsPhongMaterialSettings &shadingMaterial, bool useTexture, const Qgs3DRenderContext &context)
 Creates material component for the entity with the rendered map as a texture.
Qt3DRender::QTexture2D * applyTexture (QgsTerrainTileEntity *entity, const QgsMaterialContext &context, const TerrainTextureResources &resources) const
 Creates a new texture that is linked to the entity.
QFuture< TerrainTextureResources > loadTextureResources (QgsChunkNode *node)
 Asynchronously loads resources for creating texture.

Additional Inherited Members

Public Types inherited from QgsTerrainGenerator
typedef QFlags< Capability > Capabilities
enum class  Capability : int { NoCapabilities = 1 << 0 , SupportsTileResolution = 1 << 1 }
 Specific capabilities of the terrain generator. More...
enum  Type {
  Flat , Dem , Online , Mesh ,
  QuantizedMesh
}
 Enumeration of the available terrain generators. More...
Signals inherited from QgsTerrainGenerator
void terrainChanged ()
 Emitted when the terrain changed (for example, raster DEM or mesh have data changed).
Protected Attributes inherited from QgsDemTerrainGenerator
QgsCoordinateReferenceSystem mCrs
std::unique_ptr< QgsDemHeightMapGenerator > mHeightMapGenerator
QPointer< QgsRasterLayer > mLayer
 source layer for heights
int mResolution = 16
 how many vertices to place on one side of the tile
float mSkirtHeight = 10.f
 height of the "skirts" at the edges of tiles to hide cracks between adjacent cracks
QgsCoordinateTransformContext mTransformContext
Protected Attributes inherited from QgsTerrainGenerator
QgsRectangle mExtent
bool mIsValid = true
QgsTerrainEntity * mTerrain = nullptr
QgsTilingScheme mTerrainTilingScheme
 Tiling scheme of the terrain.

Detailed Description

Implementation of terrain generator that uses online resources to download heightmaps.

QgsDemTerrainGenerator does that automatically just by forcing mLayer = nullptr.

Note
Not available in Python bindings
Since
QGIS 3.8

Definition at line 41 of file qgsonlineterraingenerator.h.

Constructor & Destructor Documentation

◆ QgsOnlineTerrainGenerator()

QgsOnlineTerrainGenerator::QgsOnlineTerrainGenerator ( )
default

◆ ~QgsOnlineTerrainGenerator()

QgsOnlineTerrainGenerator::~QgsOnlineTerrainGenerator ( )
overridedefault

Member Function Documentation

◆ clone()

QgsTerrainGenerator * QgsOnlineTerrainGenerator::clone ( ) const
overridevirtual

Makes a copy of the current instance.

Reimplemented from QgsDemTerrainGenerator.

Definition at line 33 of file qgsonlineterraingenerator.cpp.

◆ create()

QgsTerrainGenerator * QgsOnlineTerrainGenerator::create ( )
static

Creates a new instance of a QgsOnlineTerrainGenerator object.

Definition at line 46 of file qgsonlineterraingenerator.cpp.

◆ type()

QgsTerrainGenerator::Type QgsOnlineTerrainGenerator::type ( ) const
overridevirtual

What texture generator implementation is this.

Reimplemented from QgsDemTerrainGenerator.

Definition at line 28 of file qgsonlineterraingenerator.cpp.

◆ updateGenerator()

void QgsOnlineTerrainGenerator::updateGenerator ( )
overrideprotectedvirtual

(Re-)creates mHeightMapGenerator based on current params

Reimplemented from QgsDemTerrainGenerator.

Definition at line 51 of file qgsonlineterraingenerator.cpp.


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