mirror of
https://github.com/qgis/QGIS.git
synced 2025-11-22 00:14:55 -05:00
qgs3dmapscene: remove unnecessary onRenderersChanged logic
This logic is never triggered. Upading a layer is already is already handled by `onLayersChanged` and `onLayerRenderer3DChanged`: - `onLayersChanged` creates or remove an entity when a layer is added or removed - `onLayerRenderer3DChanged` recreates an entity when a layer's renderer is changed
This commit is contained in:
parent
49d56c52fa
commit
046ee93a2b
@ -125,7 +125,6 @@ Qgs3DMapScene::Qgs3DMapScene( Qgs3DMapSettings &map, QgsAbstract3DEngine *engine
|
||||
connect( &map, &Qgs3DMapSettings::showLightSourceOriginsChanged, this, &Qgs3DMapScene::updateLights );
|
||||
connect( &map, &Qgs3DMapSettings::fieldOfViewChanged, this, &Qgs3DMapScene::updateCameraLens );
|
||||
connect( &map, &Qgs3DMapSettings::projectionTypeChanged, this, &Qgs3DMapScene::updateCameraLens );
|
||||
connect( &map, &Qgs3DMapSettings::renderersChanged, this, &Qgs3DMapScene::onRenderersChanged );
|
||||
connect( &map, &Qgs3DMapSettings::skyboxSettingsChanged, this, &Qgs3DMapScene::onSkyboxSettingsChanged );
|
||||
connect( &map, &Qgs3DMapSettings::shadowSettingsChanged, this, &Qgs3DMapScene::onShadowSettingsChanged );
|
||||
connect( &map, &Qgs3DMapSettings::ambientOcclusionSettingsChanged, this, &Qgs3DMapScene::onAmbientOcclusionSettingsChanged );
|
||||
@ -176,10 +175,6 @@ Qgs3DMapScene::Qgs3DMapScene( Qgs3DMapSettings &map, QgsAbstract3DEngine *engine
|
||||
}
|
||||
} );
|
||||
|
||||
// create entities of renderers
|
||||
|
||||
onRenderersChanged();
|
||||
|
||||
// listen to changes of layers in order to add/remove 3D renderer entities
|
||||
connect( &map, &Qgs3DMapSettings::layersChanged, this, &Qgs3DMapScene::onLayersChanged );
|
||||
|
||||
@ -597,26 +592,6 @@ void Qgs3DMapScene::updateCameraLens()
|
||||
onCameraChanged();
|
||||
}
|
||||
|
||||
void Qgs3DMapScene::onRenderersChanged()
|
||||
{
|
||||
// remove entities (if any)
|
||||
qDeleteAll( mRenderersEntities );
|
||||
mRenderersEntities.clear();
|
||||
|
||||
// re-add entities from new set of renderers
|
||||
const QList<QgsAbstract3DRenderer *> renderers = mMap.renderers();
|
||||
for ( const QgsAbstract3DRenderer *renderer : renderers )
|
||||
{
|
||||
Qt3DCore::QEntity *newEntity = renderer->createEntity( mMap );
|
||||
if ( newEntity )
|
||||
{
|
||||
newEntity->setParent( this );
|
||||
finalizeNewEntity( newEntity );
|
||||
mRenderersEntities[renderer] = newEntity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Qgs3DMapScene::onLayerRenderer3DChanged()
|
||||
{
|
||||
QgsMapLayer *layer = qobject_cast<QgsMapLayer *>( sender() );
|
||||
|
||||
@ -243,7 +243,6 @@ class _3D_EXPORT Qgs3DMapScene : public QObject
|
||||
void onBackgroundColorChanged();
|
||||
void updateLights();
|
||||
void updateCameraLens();
|
||||
void onRenderersChanged();
|
||||
void onSkyboxSettingsChanged();
|
||||
void onShadowSettingsChanged();
|
||||
void onAmbientOcclusionSettingsChanged();
|
||||
@ -286,7 +285,6 @@ class _3D_EXPORT Qgs3DMapScene : public QObject
|
||||
Qt3DCore::QEntity *mEntityCameraViewCenter = nullptr;
|
||||
//! Keeps track of entities that belong to a particular layer
|
||||
QMap<QgsMapLayer *, Qt3DCore::QEntity *> mLayerEntities;
|
||||
QMap<const QgsAbstract3DRenderer *, Qt3DCore::QEntity *> mRenderersEntities;
|
||||
bool mTerrainUpdateScheduled = false;
|
||||
SceneState mSceneState = Ready;
|
||||
//! List of lights in the scene
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user