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     QFutureWatcher<void> *mFutureWatcher = 
nullptr;
 
  121 class QgsPointCloudLayerChunkedEntity : 
public QgsChunkedEntity
 
  126         double zValueScale, 
double zValueOffset, 
int pointBudget );
 
  128     ~QgsPointCloudLayerChunkedEntity();
 
Encapsulates the render context for a 3D point cloud rendering operation.
Represents a indexed point clouds data in octree.