16#ifndef QGSTILEDSCENECHUNKLOADER_P_H
17#define QGSTILEDSCENECHUNKLOADER_P_H
37#include <QFutureWatcher>
42class QgsTiledSceneChunkLoaderFactory;
53class QgsTiledSceneChunkLoader :
public QgsChunkLoader
57 QgsTiledSceneChunkLoader( QgsChunkNode *node,
const QgsTiledSceneIndex &index,
const QgsTiledSceneChunkLoaderFactory &factory,
double zValueScale,
double zValueOffset );
59 ~QgsTiledSceneChunkLoader();
61 virtual Qt3DCore::QEntity *createEntity( Qt3DCore::QEntity *parent );
64 const QgsTiledSceneChunkLoaderFactory &mFactory;
66 QFutureWatcher<void> *mFutureWatcher =
nullptr;
67 Qt3DCore::QEntity *mEntity =
nullptr;
78class QgsTiledSceneChunkLoaderFactory :
public QgsChunkLoaderFactory
83 double zValueScale,
double zValueOffset );
85 virtual QgsChunkLoader *createChunkLoader( QgsChunkNode *node )
const override;
86 virtual QgsChunkNode *createRootNode()
const override;
87 virtual QVector<QgsChunkNode *> createChildren( QgsChunkNode *node )
const override;
89 virtual bool canCreateChildren( QgsChunkNode *node )
override;
90 virtual void prepareChildren( QgsChunkNode *node )
override;
92 QgsChunkNode *nodeForTile(
const QgsTiledSceneTile &t,
const QgsChunkNodeId &nodeId, QgsChunkNode *parent )
const;
93 void fetchHierarchyForNode(
long long nodeId, QgsChunkNode *origNode );
96 QString mRelativePathBase;
98 double mZValueScale = 1.0;
99 double mZValueOffset = 0;
101 QSet<long long> mPendingHierarchyFetches;
102 QSet<long long> mFutureHierarchyFetches;
116class QgsTiledSceneLayerChunkedEntity :
public QgsChunkedEntity
121 double zValueScale,
double zValueOffset );
123 ~QgsTiledSceneLayerChunkedEntity();
125 QVector<QgsRayCastingUtils::RayHit> rayIntersection(
const QgsRayCastingUtils::Ray3D &ray,
const QgsRayCastingUtils::RayCastContext &context )
const override;
127 int pendingJobsCount()
const override;
An index for tiled scene data providers.
Represents an individual tile from a tiled scene data source.