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 SceneState &state )
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 );
80 void updateBboxEntity();
83 QList<QgsChunkedEntity *> chunkedEntities()
const;
86 QgsVirtualPointCloudProvider *provider()
const;
89 QgsAABB boundingBox(
int i )
const;
92 QMap<int, QgsChunkedEntity *> mChunkedEntitiesMap;
93 QgsChunkBoundsEntity *mBboxesEntity =
nullptr;
94 QList<QgsAABB> mBboxes;
98 std::unique_ptr< QgsPointCloud3DSymbol > mSymbol;
99 double mZValueScale = 1.0;
100 double mZValueOffset = 0;
101 int mPointBudget = 1000000;
102 float mMaximumScreenSpaceError = -1.;
103 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).