16#ifndef QGSVECTORLAYERCHUNKLOADER_P_H
17#define QGSVECTORLAYERCHUNKLOADER_P_H
41class QgsFeature3DHandler;
48#include <QFutureWatcher>
58class QgsVectorLayerChunkLoaderFactory :
public QgsQuadtreeChunkLoaderFactory
67 virtual QgsChunkLoader *createChunkLoader( QgsChunkNode *node )
const override;
71 std::unique_ptr<QgsAbstract3DSymbol> mSymbol;
84class QgsVectorLayerChunkLoader :
public QgsChunkLoader
90 QgsVectorLayerChunkLoader(
const QgsVectorLayerChunkLoaderFactory *factory, QgsChunkNode *node );
91 ~QgsVectorLayerChunkLoader()
override;
93 virtual void cancel()
override;
94 virtual Qt3DCore::QEntity *createEntity( Qt3DCore::QEntity *parent )
override;
97 const QgsVectorLayerChunkLoaderFactory *mFactory;
98 std::unique_ptr<QgsFeature3DHandler> mHandler;
99 Qgs3DRenderContext mContext;
100 std::unique_ptr<QgsVectorLayerFeatureSource> mSource;
101 bool mCanceled =
false;
102 QFutureWatcher<void> *mFutureWatcher =
nullptr;
117class QgsVectorLayerChunkedEntity :
public QgsChunkedEntity
126 ~QgsVectorLayerChunkedEntity();
128 void onTerrainElevationOffsetChanged(
float newOffset );
131 friend class QgsRuleBasedChunkedEntity;
133 static QVector<QgsRayCastingUtils::RayHit> rayIntersection(
const QList<QgsChunkNode *> &activeNodes,
const QMatrix4x4 &transformMatrix,
const QgsRayCastingUtils::Ray3D &ray,
const QgsRayCastingUtils::RayCastContext &context );
135 Qt3DCore::QTransform *mTransform =
nullptr;
137 bool applyTerrainOffset()
const;
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.