16#ifndef QGS3DMAPSCENEENTITY_H
17#define QGS3DMAPSCENEENTITY_H
36#include <Qt3DCore/QEntity>
38using namespace Qt::StringLiterals;
50class Qgs3DMapSceneEntity :
public Qt3DCore::QEntity
55 Qgs3DMapSceneEntity( Qgs3DMapSettings *mapSettings, Qt3DCore::QNode *parent =
nullptr )
56 : Qt3DCore::QEntity( parent )
57 , mMapSettings( mapSettings )
59 const QgsSettings settings;
69 QMatrix4x4 viewProjectionMatrix;
73 virtual void handleSceneUpdate(
const SceneContext &sceneContext ) { Q_UNUSED( sceneContext ) }
76 virtual int pendingJobsCount()
const {
return 0; }
79 virtual bool needsUpdate()
const {
return false; }
82 virtual QgsRange<float> getNearFarPlaneRange(
const QMatrix4x4 &viewMatrix )
const
84 Q_UNUSED( viewMatrix )
85 return QgsRange<float>( 1e9, 0 );
93 Qgs3DMapSettings *mapSettings() {
return mMapSettings; }
96 void setGpuMemoryLimit(
double gpuMemoryLimit ) { mGpuMemoryLimit = gpuMemoryLimit; }
99 double gpuMemoryLimit()
const {
return mGpuMemoryLimit; }
102 bool hasReachedGpuMemoryLimit()
const {
return mHasReachedGpuMemoryLimit; }
106 void setHasReachedGpuMemoryLimit(
bool reached ) { mHasReachedGpuMemoryLimit = reached; }
110 void pendingJobsCountChanged();
113 void newEntityCreated( Qt3DCore::QEntity *entity );
116 Qgs3DMapSettings *mMapSettings =
nullptr;
119 double mGpuMemoryLimit = 500.0;
121 bool mHasReachedGpuMemoryLimit =
false;
QVariant value(const QString &key, const QVariant &defaultValue=QVariant(), Section section=NoSection) const
Returns the value for setting key.