16 #ifndef QGSRULEBASEDCHUNKLOADER_H
17 #define QGSRULEBASEDCHUNKLOADER_H
34 #include <QFutureWatcher>
42 class QgsFeature3DHandler;
56 class QgsRuleBasedChunkLoaderFactory :
public QgsQuadtreeChunkLoaderFactory
63 ~QgsRuleBasedChunkLoaderFactory()
override;
66 virtual QgsChunkLoader *createChunkLoader( QgsChunkNode *node )
const override;
70 std::unique_ptr<QgsRuleBased3DRenderer::Rule> mRootRule;
83 class QgsRuleBasedChunkLoader :
public QgsChunkLoader
89 QgsRuleBasedChunkLoader(
const QgsRuleBasedChunkLoaderFactory *factory, QgsChunkNode *node );
90 ~QgsRuleBasedChunkLoader()
override;
92 virtual void cancel()
override;
93 virtual Qt3DCore::QEntity *createEntity( Qt3DCore::QEntity *parent )
override;
96 const QgsRuleBasedChunkLoaderFactory *mFactory;
98 Qgs3DRenderContext mContext;
99 std::unique_ptr<QgsVectorLayerFeatureSource> mSource;
100 bool mCanceled =
false;
101 QFutureWatcher<void> *mFutureWatcher =
nullptr;
102 std::unique_ptr<QgsRuleBased3DRenderer::Rule> mRootRule;
117 class QgsRuleBasedChunkedEntity :
public QgsChunkedEntity
124 ~QgsRuleBasedChunkedEntity();
126 void onTerrainElevationOffsetChanged(
float newOffset );
128 Qt3DCore::QTransform *mTransform =
nullptr;
133 #endif // QGSRULEBASEDCHUNKLOADER_H