16#ifndef QGSVIRTUALPOINTCLOUDENTITY_P_H
17#define QGSVIRTUALPOINTCLOUDENTITY_P_H
36class QgsChunkBoundsEntity;
39class QgsVirtualPointCloudProvider;
54class QgsVirtualPointCloudEntity :
public Qgs3DMapSceneEntity
60 double zValueScale,
double zValueOffset,
int pointBudget );
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;
101 std::unique_ptr< QgsPointCloud3DSymbol > mSymbol;
102 double mZValueScale = 1.0;
103 double mZValueOffset = 0;
104 int mPointBudget = 1000000;
105 float mMaximumScreenSpaceError = -1.;
106 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).