16#ifndef QGSCHUNKLOADER_P_H
17#define QGSCHUNKLOADER_P_H
42class QgsChunkLoader :
public QgsChunkQueueJob
47 QgsChunkLoader( QgsChunkNode *node ) : QgsChunkQueueJob( node ) { }
53 virtual Qt3DCore::QEntity *createEntity( Qt3DCore::QEntity *parent ) = 0;
62class QgsChunkLoaderFactory :
public QObject
66 virtual ~QgsChunkLoaderFactory() =
default;
69 virtual QgsChunkLoader *createChunkLoader( QgsChunkNode *node )
const = 0;
72 virtual int primitivesCount( QgsChunkNode *node )
const
79 virtual QgsChunkNode *createRootNode()
const = 0;
81 virtual QVector<QgsChunkNode *> createChildren( QgsChunkNode *node )
const = 0;
94class _3D_EXPORT QgsQuadtreeChunkLoaderFactory :
public QgsChunkLoaderFactory
98 QgsQuadtreeChunkLoaderFactory();
99 virtual ~QgsQuadtreeChunkLoaderFactory();
102 void setupQuadtree(
const QgsAABB &rootBbox,
float rootError,
int maxLevel,
const QgsAABB &clippingBbox =
QgsAABB() );
104 virtual QgsChunkNode *createRootNode()
const override;
105 virtual QVector<QgsChunkNode *> createChildren( QgsChunkNode *node )
const override;
110 float mRootError = 0;