16#ifndef QGSVECTORLAYERCHUNKLOADER_P_H
17#define QGSVECTORLAYERCHUNKLOADER_P_H
40class QgsFeature3DHandler;
47#include <QFutureWatcher>
57class QgsVectorLayerChunkLoaderFactory :
public QgsQuadtreeChunkLoaderFactory
66 virtual QgsChunkLoader *createChunkLoader( QgsChunkNode *node )
const override;
70 std::unique_ptr<QgsAbstract3DSymbol> mSymbol;
83class QgsVectorLayerChunkLoader :
public QgsChunkLoader
89 QgsVectorLayerChunkLoader(
const QgsVectorLayerChunkLoaderFactory *factory, QgsChunkNode *node );
90 ~QgsVectorLayerChunkLoader()
override;
92 virtual void cancel()
override;
93 virtual Qt3DCore::QEntity *createEntity( Qt3DCore::QEntity *parent )
override;
96 const QgsVectorLayerChunkLoaderFactory *mFactory;
97 std::unique_ptr<QgsFeature3DHandler> mHandler;
99 std::unique_ptr<QgsVectorLayerFeatureSource> mSource;
100 bool mCanceled =
false;
101 QFutureWatcher<void> *mFutureWatcher =
nullptr;
116class QgsVectorLayerChunkedEntity :
public QgsChunkedEntity
125 ~QgsVectorLayerChunkedEntity();
127 void onTerrainElevationOffsetChanged(
float newOffset );
130 friend class QgsRuleBasedChunkedEntity;
132 static QVector<QgsRayCastingUtils::RayHit> rayIntersection(
const QList<QgsChunkNode *> &activeNodes,
const QMatrix4x4 &transformMatrix,
const QgsRayCastingUtils::Ray3D &ray,
const QgsRayCastingUtils::RayCastContext &context );
134 Qt3DCore::QTransform *mTransform =
nullptr;
136 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.