16#ifndef QGSVIRTUALPOINTCLOUDENTITY_P_H
17#define QGSVIRTUALPOINTCLOUDENTITY_P_H
37class 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 QgsAABB boundingBox(
int i )
const;
95 QMap<int, QgsChunkedEntity *> mChunkedEntitiesMap;
96 QgsChunkBoundsEntity *mBboxesEntity =
nullptr;
97 QList<QgsAABB> mBboxes;
99 std::unique_ptr<QgsPointCloud3DSymbol> mSymbol;
100 double mZValueScale = 1.0;
101 double mZValueOffset = 0;
102 int mPointBudget = 1000000;
103 float mMaximumScreenSpaceError = -1.;
104 bool mShowBoundingBoxes =
false;
Represents a indexed point clouds data in octree.
Represents a map layer supporting display of point clouds.
A template based class for storing ranges (lower to upper values).