16#ifndef QGSRULEBASEDCHUNKLOADER_H
17#define QGSRULEBASEDCHUNKLOADER_H
34#include <QFutureWatcher>
42class QgsFeature3DHandler;
56class QgsRuleBasedChunkLoaderFactory :
public QgsQuadtreeChunkLoaderFactory
63 ~QgsRuleBasedChunkLoaderFactory()
override;
66 virtual QgsChunkLoader *createChunkLoader( QgsChunkNode *node )
const override;
70 std::unique_ptr<QgsRuleBased3DRenderer::Rule> mRootRule;
83class 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;
99 std::unique_ptr<QgsVectorLayerFeatureSource> mSource;
100 bool mCanceled =
false;
101 QFutureWatcher<void> *mFutureWatcher =
nullptr;
102 std::unique_ptr<QgsRuleBased3DRenderer::Rule> mRootRule;
117class QgsRuleBasedChunkedEntity :
public QgsChunkedEntity
126 ~QgsRuleBasedChunkedEntity();
128 void onTerrainElevationOffsetChanged(
float newOffset );
130 Qt3DCore::QTransform *mTransform =
nullptr;
132 bool applyTerrainOffset()
const;
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.
Helper struct to store ray casting parameters.