16 #ifndef QGSRULEBASEDCHUNKLOADER_H
17 #define QGSRULEBASEDCHUNKLOADER_H
34 #include <QFutureWatcher>
42 class QgsFeature3DHandler;
56 class QgsRuleBasedChunkLoaderFactory :
public QgsQuadtreeChunkLoaderFactory
61 ~QgsRuleBasedChunkLoaderFactory()
override;
64 virtual QgsChunkLoader *createChunkLoader( QgsChunkNode *node )
const override;
68 std::unique_ptr<QgsRuleBased3DRenderer::Rule> mRootRule;
81 class QgsRuleBasedChunkLoader :
public QgsChunkLoader
85 QgsRuleBasedChunkLoader(
const QgsRuleBasedChunkLoaderFactory *factory, QgsChunkNode *node );
86 ~QgsRuleBasedChunkLoader()
override;
88 virtual void cancel()
override;
89 virtual Qt3DCore::QEntity *createEntity( Qt3DCore::QEntity *parent )
override;
92 const QgsRuleBasedChunkLoaderFactory *mFactory;
94 Qgs3DRenderContext mContext;
95 std::unique_ptr<QgsVectorLayerFeatureSource> mSource;
96 bool mCanceled =
false;
97 QFutureWatcher<void> *mFutureWatcher =
nullptr;
98 std::unique_ptr<QgsRuleBased3DRenderer::Rule> mRootRule;
113 class QgsRuleBasedChunkedEntity :
public QgsChunkedEntity
120 ~QgsRuleBasedChunkedEntity();
122 void onTerrainElevationOffsetChanged(
float newOffset );
124 Qt3DCore::QTransform *mTransform =
nullptr;
QHash< const QgsRuleBased3DRenderer::Rule *, QgsFeature3DHandler * > RuleToHandlerMap
Partial snapshot of vector layer's state (only the members necessary for access to features)
Represents a vector layer which manages a vector based data sets.