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();
 
  131    Qt3DCore::QTransform *mTransform = 
nullptr;
 
  133    bool applyTerrainOffset() 
const;
 
Rendering context for preparation of 3D entities.
 
Abstract base class for 3D symbols that are used by VectorLayer3DRenderer objects.
 
A child rule for a QgsRuleBased3DRenderer.
 
QHash< const QgsRuleBased3DRenderer::Rule *, QgsFeature3DHandler * > RuleToHandlerMap
 
Defines configuration of how a vector layer gets tiled for 3D rendering.
 
Partial snapshot of vector layer's state (only the members necessary for access to features).
 
Represents a vector layer which manages a vector based dataset.
 
Helper struct to store ray casting parameters.