16#ifndef QGSVIRTUALPOINTCLOUDENTITY_P_H
17#define QGSVIRTUALPOINTCLOUDENTITY_P_H
37class QgsChunkBoundsEntity;
40class QgsVirtualPointCloudProvider;
55class QgsVirtualPointCloudEntity :
public Qgs3DMapSceneEntity
61 double zValueScale,
double zValueOffset,
int pointBudget );
64 void handleSceneUpdate(
const SceneContext &sceneContext )
override;
66 QgsRange<float> getNearFarPlaneRange(
const QMatrix4x4 &viewMatrix )
const override;
68 int pendingJobsCount()
const override;
70 bool needsUpdate()
const override;
74 void createChunkedEntityForSubIndex(
int i );
77 void setRenderSubIndexAsBbox(
int i,
bool asBbox );
80 void subIndexNeedsLoading(
int i );
84 void updateBboxEntity();
87 QList<QgsChunkedEntity *> chunkedEntities()
const;
90 QgsVirtualPointCloudProvider *provider()
const;
93 QgsAABB boundingBox(
int i )
const;
96 QMap<int, QgsChunkedEntity *> mChunkedEntitiesMap;
97 QgsChunkBoundsEntity *mBboxesEntity =
nullptr;
98 QList<QgsAABB> 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;
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).