16#ifndef QGSVIRTUALPOINTCLOUDENTITY_P_H
17#define QGSVIRTUALPOINTCLOUDENTITY_P_H
38class QgsChunkBoundsEntity;
40class QgsVirtualPointCloudProvider;
55class QgsVirtualPointCloudEntity :
public Qgs3DMapSceneEntity
63 void handleSceneUpdate(
const SceneContext &sceneContext )
override;
65 QgsRange<float> getNearFarPlaneRange(
const QMatrix4x4 &viewMatrix )
const override;
67 int pendingJobsCount()
const override;
69 bool needsUpdate()
const override;
73 void createChunkedEntityForSubIndex(
int i );
76 void setRenderSubIndexAsBbox(
int i,
bool asBbox );
79 void subIndexNeedsLoading(
int i );
83 void updateBboxEntity();
86 QList<QgsChunkedEntity *> chunkedEntities()
const;
89 QgsVirtualPointCloudProvider *provider()
const;
92 QMap<int, QgsChunkedEntity *> mChunkedEntitiesMap;
93 QgsChunkBoundsEntity *mBboxesEntity =
nullptr;
94 QgsPointCloudLayerChunkedEntity *mOverviewEntity =
nullptr;
95 QList<QgsBox3D> mBboxes;
97 std::unique_ptr<QgsPointCloud3DSymbol> mSymbol;
98 double mZValueScale = 1.0;
99 double mZValueOffset = 0;
100 int mPointBudget = 1000000;
101 float mMaximumScreenSpaceError = -1.;
102 bool mShowBoundingBoxes =
false;
Represents a map layer supporting display of point clouds.
A template based class for storing ranges (lower to upper values).