16#ifndef QGSTILEDSCENECHUNKLOADER_P_H
17#define QGSTILEDSCENECHUNKLOADER_P_H
38#include <QFutureWatcher>
43class QgsTiledSceneChunkLoaderFactory;
54class QgsTiledSceneChunkLoader :
public QgsChunkLoader
58 QgsTiledSceneChunkLoader( QgsChunkNode *node,
const QgsTiledSceneIndex &index,
const QgsTiledSceneChunkLoaderFactory &factory,
double zValueScale,
double zValueOffset );
60 ~QgsTiledSceneChunkLoader();
62 virtual Qt3DCore::QEntity *createEntity( Qt3DCore::QEntity *parent );
65 const QgsTiledSceneChunkLoaderFactory &mFactory;
67 QFutureWatcher<void> *mFutureWatcher =
nullptr;
68 Qt3DCore::QEntity *mEntity =
nullptr;
79class QgsTiledSceneChunkLoaderFactory :
public QgsChunkLoaderFactory
83 QgsTiledSceneChunkLoaderFactory(
85 double zValueScale,
double zValueOffset
88 virtual QgsChunkLoader *createChunkLoader( QgsChunkNode *node )
const override;
89 virtual QgsChunkNode *createRootNode()
const override;
90 virtual QVector<QgsChunkNode *> createChildren( QgsChunkNode *node )
const override;
92 virtual bool canCreateChildren( QgsChunkNode *node )
override;
93 virtual void prepareChildren( QgsChunkNode *node )
override;
95 QgsChunkNode *nodeForTile(
const QgsTiledSceneTile &t,
const QgsChunkNodeId &nodeId, QgsChunkNode *parent )
const;
96 void fetchHierarchyForNode(
long long nodeId, QgsChunkNode *origNode );
99 QString mRelativePathBase;
101 double mZValueScale = 1.0;
102 double mZValueOffset = 0;
104 QSet<long long> mPendingHierarchyFetches;
105 QSet<long long> mFutureHierarchyFetches;
119class QgsTiledSceneLayerChunkedEntity :
public QgsChunkedEntity
125 ~QgsTiledSceneLayerChunkedEntity();
129 int pendingJobsCount()
const override;
This class represents a coordinate reference system (CRS).
An index for tiled scene data providers.
Represents an individual tile from a tiled scene data source.
Helper struct to store ray casting parameters.