QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
3d
qgsvirtualpointcloudentity_p.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsvirtualpointcloudentity_p.h
3
--------------------------------------
4
Date : April 2023
5
Copyright : (C) 2023 by Stefanos Natsis
6
Email : uclaros 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
#ifndef QGSVIRTUALPOINTCLOUDENTITY_P_H
17
#define QGSVIRTUALPOINTCLOUDENTITY_P_H
18
20
21
//
22
// W A R N I N G
23
// -------------
24
//
25
// This file is not part of the QGIS API. It exists purely as an
26
// implementation detail. This header file may change from version to
27
// version without notice, or even be removed.
28
//
29
30
#include "
qgs3dmapsceneentity.h
"
31
#include "
qgs3drendercontext.h
"
32
#include "
qgschunkedentity.h
"
33
#include "
qgscoordinatetransform.h
"
34
#include "
qgspointcloudlayerchunkloader_p.h
"
35
36
#define SIP_NO_FILE
37
38
class
QgsAABB
;
39
class
QgsChunkBoundsEntity;
40
class
QgsPointCloudLayer
;
41
class
QgsVirtualPointCloudProvider;
42
class
QgsPointCloud3DSymbol
;
43
class
Qgs3DMapSettings
;
44
45
56
class
QgsVirtualPointCloudEntity :
public
Qgs3DMapSceneEntity
57
{
58
Q_OBJECT
59
public
:
61
QgsVirtualPointCloudEntity(
62
Qgs3DMapSettings *map,
63
QgsPointCloudLayer *layer,
64
const
QgsCoordinateTransform &coordinateTransform,
65
QgsPointCloud3DSymbol *symbol,
66
float
maxScreenError,
67
bool
showBoundingBoxes,
68
double
zValueScale,
69
double
zValueOffset,
70
int
pointBudget
71
);
72
74
~QgsVirtualPointCloudEntity()
override
;
75
77
void
handleSceneUpdate(
const
SceneContext &sceneContext )
override
;
78
79
QgsRange<float> getNearFarPlaneRange(
const
QMatrix4x4 &viewMatrix )
const override
;
80
81
int
pendingJobsCount()
const override
;
82
83
bool
needsUpdate()
const override
;
84
85
public
slots:
87
void
createChunkedEntityForSubIndex(
int
i );
88
90
void
setRenderSubIndexAsBbox(
int
i,
bool
asBbox );
91
92
signals:
93
void
subIndexNeedsLoading(
int
i );
94
95
private
:
97
void
updateBboxEntity();
98
100
QList<QgsChunkedEntity *> chunkedEntities()
const
;
101
103
QgsVirtualPointCloudProvider *provider()
const
;
104
105
QgsPointCloudLayer *mLayer =
nullptr
;
106
QMap<int, QgsChunkedEntity *> mChunkedEntitiesMap;
107
QgsChunkBoundsEntity *mBboxesEntity =
nullptr
;
108
QList<QgsPointCloudLayerChunkedEntity *> mOverviewEntities;
109
QList<QgsBox3D> mBboxes;
110
QgsCoordinateTransform mCoordinateTransform;
111
std::unique_ptr<QgsPointCloud3DSymbol> mSymbol;
112
double
mZValueScale = 1.0;
113
double
mZValueOffset = 0;
114
int
mPointBudget = 1000000;
115
float
mMaximumScreenSpaceError = -1.;
116
bool
mShowBoundingBoxes =
false
;
117
};
118
120
121
#endif
// QGSVIRTUALPOINTCLOUDENTITY_P_H
Qgs3DMapSettings
Definition of the world.
Definition
qgs3dmapsettings.h:59
QgsAABB
Axis-aligned bounding box - in world coords.
Definition
qgsaabb.h:33
QgsPointCloud3DSymbol
3D symbol that draws point cloud geometries as 3D objects.
Definition
qgspointcloud3dsymbol.h:41
QgsPointCloudLayer
Represents a map layer supporting display of point clouds.
Definition
qgspointcloudlayer.h:49
qgs3dmapsceneentity.h
qgs3drendercontext.h
qgschunkedentity.h
qgscoordinatetransform.h
qgspointcloudlayerchunkloader_p.h
Generated on
for QGIS API Documentation by
1.17.0