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).