QGIS API Documentation
3.18.1-Zürich (202f1bf7e5)
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
w
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
w
z
Variables
Typedefs
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
c
e
f
g
h
k
l
m
o
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Related Functions
3
a
c
d
e
f
g
i
l
m
n
o
p
q
r
s
t
v
Files
File List
File Members
All
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
a
b
c
d
e
f
g
h
i
l
n
o
p
q
r
s
t
u
w
Typedefs
3
a
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
Enumerator
c
l
s
t
Macros
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
w
y
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
src
core
pointcloud
qgspointcloudlayerrenderer.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgspointcloudlayerrenderer.h
3
--------------------
4
begin : October 2020
5
copyright : (C) 2020 by Peter Petrik
6
email : zilolv at gmail dot com
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
18
#ifndef QGSPOINTCLOUDLAYERRENDERER_H
19
#define QGSPOINTCLOUDLAYERRENDERER_H
20
21
#include "qgis_core.h"
22
#include "
qgscolorramp.h
"
23
#include "
qgsmaplayerrenderer.h
"
24
#include "
qgsreadwritecontext.h
"
25
#include "
qgspointcloudindex.h
"
26
#include "
qgsgeometry.h
"
27
28
#include "
qgserror.h
"
29
#include "
qgspointcloudindex.h
"
30
#include "
qgsidentifycontext.h
"
31
#include "
qgspointcloudrenderer.h
"
32
#include "
qgsmapclippingregion.h
"
33
34
#include <QDomElement>
35
#include <QString>
36
#include <QPainter>
37
#include <QElapsedTimer>
38
39
class
QgsRenderContext
;
40
class
QgsPointCloudLayer
;
41
class
QgsPointCloudRenderer
;
42
class
QgsPointCloudRenderContext
;
43
44
#define SIP_NO_FILE
45
56
class
CORE_EXPORT
QgsPointCloudLayerRenderer
:
public
QgsMapLayerRenderer
57
{
58
public
:
59
61
explicit
QgsPointCloudLayerRenderer
(
QgsPointCloudLayer
*layer,
QgsRenderContext
&context );
62
~QgsPointCloudLayerRenderer
();
63
64
bool
render
()
override
;
65
bool
forceRasterRender
()
const override
;
66
void
setLayerRenderingTimeHint
(
int
time )
override
;
67
68
private
:
69
QVector<IndexedPointCloudNode> traverseTree(
const
QgsPointCloudIndex
*pc,
const
QgsRenderContext
&context,
IndexedPointCloudNode
n,
double
maxErrorPixels,
double
nodeErrorPixels );
70
71
QgsPointCloudLayer
*mLayer =
nullptr
;
72
73
std::unique_ptr< QgsPointCloudRenderer > mRenderer;
74
75
QgsVector3D
mScale;
76
QgsVector3D
mOffset;
77
double
mZOffset = 0;
78
double
mZScale = 1.0;
79
80
QgsPointCloudAttributeCollection
mLayerAttributes;
81
QgsPointCloudAttributeCollection
mAttributes;
82
QgsGeometry
mCloudExtent;
83
QList< QgsMapClippingRegion > mClippingRegions;
84
85
int
mRenderTimeHint = 0;
86
bool
mBlockRenderUpdates =
false
;
87
QElapsedTimer mElapsedTimer;
88
89
};
90
91
#endif
// QGSPOINTCLOUDLAYERRENDERER_H
IndexedPointCloudNode
Represents a indexed point cloud node in octree.
Definition:
qgspointcloudindex.h:50
QgsGeometry
A geometry is the spatial representation of a feature.
Definition:
qgsgeometry.h:124
QgsMapLayerRenderer
Base class for utility classes that encapsulate information necessary for rendering of map layers.
Definition:
qgsmaplayerrenderer.h:54
QgsMapLayerRenderer::render
virtual bool render()=0
Do the rendering (based on data stored in the class).
QgsMapLayerRenderer::forceRasterRender
virtual bool forceRasterRender() const
Returns true if the renderer must be rendered to a raster paint device (e.g.
Definition:
qgsmaplayerrenderer.h:91
QgsMapLayerRenderer::setLayerRenderingTimeHint
virtual void setLayerRenderingTimeHint(int time)
Sets approximate render time (in ms) for the layer to render.
Definition:
qgsmaplayerrenderer.h:138
QgsPointCloudAttributeCollection
Collection of point cloud attributes.
Definition:
qgspointcloudattribute.h:129
QgsPointCloudIndex
Represents a indexed point clouds data in octree.
Definition:
qgspointcloudindex.h:149
QgsPointCloudLayerRenderer
Implementation of threaded rendering for point cloud layers.
Definition:
qgspointcloudlayerrenderer.h:57
QgsPointCloudLayerRenderer::~QgsPointCloudLayerRenderer
~QgsPointCloudLayerRenderer()
QgsPointCloudLayer
Represents a map layer supporting display of point clouds.
Definition:
qgspointcloudlayer.h:43
QgsPointCloudRenderContext
Encapsulates the render context for a 2D point cloud rendering operation.
Definition:
qgspointcloudrenderer.h:42
QgsPointCloudRenderer
Abstract base class for 2d point cloud renderers.
Definition:
qgspointcloudrenderer.h:223
QgsRenderContext
Contains information about the context of a rendering operation.
Definition:
qgsrendercontext.h:59
QgsVector3D
3
Definition:
qgsvector3d.h:32
qgscolorramp.h
qgserror.h
qgsgeometry.h
qgsidentifycontext.h
qgsmapclippingregion.h
qgsmaplayerrenderer.h
qgspointcloudindex.h
qgspointcloudrenderer.h
qgsreadwritecontext.h
Generated on Sun Mar 21 2021 09:16:51 for QGIS API Documentation by
1.9.1