16#ifndef QGSVIRTUALPOINTCLOUDENTITY_P_H
17#define QGSVIRTUALPOINTCLOUDENTITY_P_H
38class QgsChunkBoundsEntity;
40class QgsVirtualPointCloudProvider;
55class QgsVirtualPointCloudEntity :
public Qgs3DMapSceneEntity
63 ~QgsVirtualPointCloudEntity()
override;
66 void handleSceneUpdate(
const SceneContext &sceneContext )
override;
68 QgsRange<float> getNearFarPlaneRange(
const QMatrix4x4 &viewMatrix )
const override;
70 int pendingJobsCount()
const override;
72 bool needsUpdate()
const override;
76 void createChunkedEntityForSubIndex(
int i );
79 void setRenderSubIndexAsBbox(
int i,
bool asBbox );
82 void subIndexNeedsLoading(
int i );
86 void updateBboxEntity();
89 QList<QgsChunkedEntity *> chunkedEntities()
const;
92 QgsVirtualPointCloudProvider *provider()
const;
95 QMap<int, QgsChunkedEntity *> mChunkedEntitiesMap;
96 QgsChunkBoundsEntity *mBboxesEntity =
nullptr;
97 QgsPointCloudLayerChunkedEntity *mOverviewEntity =
nullptr;
98 QList<QgsBox3D> mBboxes;
100 std::unique_ptr<QgsPointCloud3DSymbol> mSymbol;
101 double mZValueScale = 1.0;
102 double mZValueOffset = 0;
103 int mPointBudget = 1000000;
104 float mMaximumScreenSpaceError = -1.;
105 bool mShowBoundingBoxes =
false;
Axis-aligned bounding box - in world coords.
3D symbol that draws point cloud geometries as 3D objects.
Represents a map layer supporting display of point clouds.
A template based class for storing ranges (lower to upper values).