16 #ifndef QGSPOINTCLOUDLAYERCHUNKLOADER_P_H
17 #define QGSPOINTCLOUDLAYERCHUNKLOADER_P_H
39 #include <QFutureWatcher>
40 #include <Qt3DRender/QGeometry>
41 #include <Qt3DRender/QBuffer>
42 #include <Qt3DRender/QMaterial>
54 class QgsPointCloudLayerChunkLoaderFactory :
public QgsChunkLoaderFactory
63 double zValueScale,
double zValueOffset,
int pointBudget );
66 virtual QgsChunkLoader *createChunkLoader( QgsChunkNode *node )
const override;
67 virtual QgsChunkNode *createRootNode()
const override;
68 virtual QVector<QgsChunkNode *> createChildren( QgsChunkNode *node )
const override;
69 virtual int primitivesCount( QgsChunkNode *node )
const override;
73 std::unique_ptr< QgsPointCloud3DSymbol > mSymbol;
74 double mZValueScale = 1.0;
75 double mZValueOffset = 0;
76 int mPointBudget = 1000000;
88 class QgsPointCloudLayerChunkLoader :
public QgsChunkLoader
96 QgsPointCloudLayerChunkLoader(
const QgsPointCloudLayerChunkLoaderFactory *factory, QgsChunkNode *node, std::unique_ptr< QgsPointCloud3DSymbol > symbol,
98 ~QgsPointCloudLayerChunkLoader()
override;
100 virtual void cancel()
override;
101 virtual Qt3DCore::QEntity *createEntity( Qt3DCore::QEntity *parent )
override;
104 const QgsPointCloudLayerChunkLoaderFactory *mFactory;
105 std::unique_ptr<QgsPointCloud3DSymbolHandler> mHandler;
107 bool mCanceled =
false;
108 QFutureWatcher<void> *mFutureWatcher =
nullptr;
122 class QgsPointCloudLayerChunkedEntity :
public QgsChunkedEntity
127 double zValueScale,
double zValueOffset,
int pointBudget );
129 ~QgsPointCloudLayerChunkedEntity();
Encapsulates the render context for a 3D point cloud rendering operation.
Represents a indexed point clouds data in octree.