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.