35   cloned->mExtent = mExtent;
 
   36   cloned->mResolution = mResolution;
 
   37   cloned->mSkirtHeight = mSkirtHeight;
 
   38   cloned->updateGenerator();
 
   55   if ( mHeightMapGenerator )
 
   56     return mHeightMapGenerator->heightAt( x, y );
 
   64   QDomElement elemExtent = elem.ownerDocument().createElement( QStringLiteral( 
"extent" ) );
 
   65   elemExtent.setAttribute( QStringLiteral( 
"xmin" ), QString::number( r.
xMinimum() ) );
 
   66   elemExtent.setAttribute( QStringLiteral( 
"xmax" ), QString::number( r.
xMaximum() ) );
 
   67   elemExtent.setAttribute( QStringLiteral( 
"ymin" ), QString::number( r.
yMinimum() ) );
 
   68   elemExtent.setAttribute( QStringLiteral( 
"ymax" ), QString::number( r.
yMaximum() ) );
 
   69   elem.appendChild( elemExtent );
 
   71   elem.setAttribute( QStringLiteral( 
"resolution" ), mResolution );
 
   72   elem.setAttribute( QStringLiteral( 
"skirt-height" ), mSkirtHeight );
 
   79   mResolution = elem.attribute( QStringLiteral( 
"resolution" ) ).toInt();
 
   80   mSkirtHeight = elem.attribute( QStringLiteral( 
"skirt-height" ) ).toFloat();
 
   82   QDomElement elemExtent = elem.firstChildElement( QStringLiteral( 
"extent" ) );
 
   83   double xmin = elemExtent.attribute( QStringLiteral( 
"xmin" ) ).toDouble();
 
   84   double xmax = elemExtent.attribute( QStringLiteral( 
"xmax" ) ).toDouble();
 
   85   double ymin = elemExtent.attribute( QStringLiteral( 
"ymin" ) ).toDouble();
 
   86   double ymax = elemExtent.attribute( QStringLiteral( 
"ymax" ) ).toDouble();
 
   96   mTransformContext = context;
 
  111 void QgsOnlineTerrainGenerator::updateGenerator()
 
  123   mHeightMapGenerator.reset( 
new QgsDemHeightMapGenerator( 
nullptr, 
mTerrainTilingScheme, mResolution, mTransformContext ) );
 
This class represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
void setExtent(const QgsRectangle &extent) override
sets the extent of the terrain in terrain's CRS
void setCrs(const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context)
Sets CRS of the terrain.
QgsTerrainGenerator * clone() const override SIP_FACTORY
Makes a copy of the current instance.
~QgsOnlineTerrainGenerator() override
QgsOnlineTerrainGenerator()
Constructor for QgsOnlineTerrainGenerator.
void writeXml(QDomElement &elem) const override
Write terrain generator's configuration to XML.
QgsRectangle extent() const override
extent of the terrain in terrain's CRS
float heightAt(double x, double y, const Qgs3DMapSettings &map) const override
Returns height at (x,y) in terrain's CRS.
Type type() const override
What texture generator implementation is this.
QgsCoordinateReferenceSystem crs() const
Returns CRS of the terrain.
void readXml(const QDomElement &elem) override
Read terrain generator's configuration from XML.
QgsChunkLoader * createChunkLoader(QgsChunkNode *node) const override SIP_FACTORY
A rectangle specified with double values.
double yMaximum() const SIP_HOLDGIL
Returns the y maximum value (top side of rectangle).
double xMaximum() const SIP_HOLDGIL
Returns the x maximum value (right side of rectangle).
double xMinimum() const SIP_HOLDGIL
Returns the x minimum value (left side of rectangle).
double yMinimum() const SIP_HOLDGIL
Returns the y minimum value (bottom side of rectangle).
bool isNull() const
Test if the rectangle is null (all coordinates zero or after call to setMinimal()).
Type
Enumeration of the available terrain generators.
@ Online
Terrain is built from downloaded tiles with digital elevation model.
QgsTilingScheme mTerrainTilingScheme
Tiling scheme of the terrain.
void extentChanged()
Emitted when the terrain extent has changed.
QgsTerrainEntity * mTerrain
void setTerrain(QgsTerrainEntity *t)
Sets terrain entity for the generator (does not transfer ownership)
QgsRectangle tileToExtent(int x, int y, int z) const
Returns map coordinates of the extent of a tile.
const QgsCoordinateReferenceSystem & crs