QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
3d
terrain
qgsonlineterraingenerator.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsonlineterraingenerator.cpp
3
--------------------------------------
4
Date : March 2019
5
Copyright : (C) 2019 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 "
qgsonlineterraingenerator.h
"
17
18
#include <memory>
19
20
#include "
qgsdemterraintileloader_p.h
"
21
22
#include "moc_qgsonlineterraingenerator.cpp"
23
24
QgsOnlineTerrainGenerator::QgsOnlineTerrainGenerator
() =
default
;
25
26
QgsOnlineTerrainGenerator::~QgsOnlineTerrainGenerator
() =
default
;
27
28
QgsTerrainGenerator::Type
QgsOnlineTerrainGenerator::type
()
const
29
{
30
return
QgsTerrainGenerator::Online
;
31
}
32
33
QgsTerrainGenerator
*
QgsOnlineTerrainGenerator::clone
()
const
34
{
35
QgsOnlineTerrainGenerator
*cloned =
new
QgsOnlineTerrainGenerator
;
36
cloned->
setTerrain
(
mTerrain
);
37
cloned->
mCrs
=
mCrs
;
38
cloned->
mResolution
=
mResolution
;
39
cloned->
mSkirtHeight
=
mSkirtHeight
;
40
cloned->
mExtent
=
mExtent
;
41
cloned->
updateGenerator
();
42
return
cloned;
43
}
44
45
// cppcheck-suppress duplInheritedMember
46
QgsTerrainGenerator
*
QgsOnlineTerrainGenerator::create
()
47
{
48
return
new
QgsOnlineTerrainGenerator
();
49
}
50
51
void
QgsOnlineTerrainGenerator::updateGenerator
()
52
{
53
if
(
mExtent
.isNull() )
54
{
55
mTerrainTilingScheme
=
QgsTilingScheme
();
56
}
57
else
58
{
59
// the real extent will be a square where the given extent fully fits
60
mTerrainTilingScheme
=
QgsTilingScheme
(
mExtent
,
mCrs
);
61
}
62
63
mHeightMapGenerator
= std::make_unique<QgsDemHeightMapGenerator>(
nullptr
,
mTerrainTilingScheme
,
mResolution
,
mTransformContext
);
64
}
QgsDemTerrainGenerator::mHeightMapGenerator
std::unique_ptr< QgsDemHeightMapGenerator > mHeightMapGenerator
Definition
qgsdemterraingenerator.h:88
QgsDemTerrainGenerator::mSkirtHeight
float mSkirtHeight
height of the "skirts" at the edges of tiles to hide cracks between adjacent cracks
Definition
qgsdemterraingenerator.h:99
QgsDemTerrainGenerator::mTransformContext
QgsCoordinateTransformContext mTransformContext
Definition
qgsdemterraingenerator.h:92
QgsDemTerrainGenerator::mCrs
QgsCoordinateReferenceSystem mCrs
Definition
qgsdemterraingenerator.h:90
QgsDemTerrainGenerator::mResolution
int mResolution
how many vertices to place on one side of the tile
Definition
qgsdemterraingenerator.h:97
QgsOnlineTerrainGenerator::create
static QgsTerrainGenerator * create()
Creates a new instance of a QgsOnlineTerrainGenerator object.
Definition
qgsonlineterraingenerator.cpp:46
QgsOnlineTerrainGenerator::~QgsOnlineTerrainGenerator
~QgsOnlineTerrainGenerator() override
QgsOnlineTerrainGenerator::QgsOnlineTerrainGenerator
QgsOnlineTerrainGenerator()
QgsOnlineTerrainGenerator::clone
QgsTerrainGenerator * clone() const override
Makes a copy of the current instance.
Definition
qgsonlineterraingenerator.cpp:33
QgsOnlineTerrainGenerator::type
Type type() const override
What texture generator implementation is this.
Definition
qgsonlineterraingenerator.cpp:28
QgsOnlineTerrainGenerator::updateGenerator
void updateGenerator() override
(Re-)creates mHeightMapGenerator based on current params
Definition
qgsonlineterraingenerator.cpp:51
QgsTerrainGenerator::Type
Type
Enumeration of the available terrain generators.
Definition
qgsterraingenerator.h:61
QgsTerrainGenerator::Online
@ Online
Terrain is built from downloaded tiles with digital elevation model.
Definition
qgsterraingenerator.h:64
QgsTerrainGenerator::mTerrainTilingScheme
QgsTilingScheme mTerrainTilingScheme
Tiling scheme of the terrain.
Definition
qgsterraingenerator.h:166
QgsTerrainGenerator::QgsTerrainGenerator
QgsTerrainGenerator()
Create new terrain generator.
QgsTerrainGenerator::mExtent
QgsRectangle mExtent
Definition
qgsterraingenerator.h:168
QgsTerrainGenerator::mTerrain
QgsTerrainEntity * mTerrain
Definition
qgsterraingenerator.h:167
QgsTerrainGenerator::setTerrain
virtual void setTerrain(QgsTerrainEntity *t)
Sets terrain entity for the generator (does not transfer ownership).
Definition
qgsterraingenerator.h:96
QgsTilingScheme
Encapsulates tiling schemes (just like with WMTS / TMS / XYZ layers).
Definition
qgstilingscheme.h:37
qgsdemterraintileloader_p.h
qgsonlineterraingenerator.h
Generated on
for QGIS API Documentation by
1.17.0