Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add information about pending jobs also from non-terrain entities
  • Loading branch information
wonder-sk committed Jan 12, 2020
1 parent 5b9b2e4 commit 62cd6b3
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 5 deletions.
11 changes: 11 additions & 0 deletions src/3d/qgs3dmapscene.cpp
Expand Up @@ -177,6 +177,14 @@ int Qgs3DMapScene::terrainPendingJobsCount() const
return mTerrain ? mTerrain->pendingJobsCount() : 0;
}

int Qgs3DMapScene::totalPendingJobsCount() const
{
int count = 0;
for ( QgsChunkedEntity *entity : qgis::as_const( mChunkEntities ) )
count += entity->pendingJobsCount();
return count;
}

void Qgs3DMapScene::registerPickHandler( Qgs3DMapScenePickHandler *pickHandler )
{
if ( mPickHandlers.isEmpty() )
Expand Down Expand Up @@ -420,6 +428,7 @@ void Qgs3DMapScene::createTerrainDeferred()

mTerrainUpdateScheduled = false;

connect( mTerrain, &QgsChunkedEntity::pendingJobsCountChanged, this, &Qgs3DMapScene::totalPendingJobsCountChanged );
connect( mTerrain, &QgsTerrainEntity::pendingJobsCountChanged, this, &Qgs3DMapScene::terrainPendingJobsCountChanged );

emit terrainEntityChanged();
Expand Down Expand Up @@ -567,6 +576,8 @@ void Qgs3DMapScene::addLayerEntity( QgsMapLayer *layer )
{
finalizeNewEntity( entity );
} );

connect( chunkedNewEntity, &QgsChunkedEntity::pendingJobsCountChanged, this, &Qgs3DMapScene::totalPendingJobsCountChanged );
}
}
}
Expand Down
5 changes: 5 additions & 0 deletions src/3d/qgs3dmapscene.h
Expand Up @@ -73,6 +73,9 @@ class _3D_EXPORT Qgs3DMapScene : public Qt3DCore::QEntity
//! Returns number of pending jobs of the terrain entity
int terrainPendingJobsCount() const;

//! Returns number of pending jobs for all chunked entities
int totalPendingJobsCount() const;

//! Enumeration of possible states of the 3D scene
enum SceneState
{
Expand All @@ -99,6 +102,8 @@ class _3D_EXPORT Qgs3DMapScene : public Qt3DCore::QEntity
void terrainEntityChanged();
//! Emitted when the number of terrain's pending jobs changes
void terrainPendingJobsCountChanged();
//! Emitted when the total number of pending jobs changes
void totalPendingJobsCountChanged();
//! Emitted when the scene's state has changed
void sceneStateChanged();

Expand Down
8 changes: 4 additions & 4 deletions src/app/3d/qgs3dmapcanvasdockwidget.cpp
Expand Up @@ -141,7 +141,7 @@ Qgs3DMapCanvasDockWidget::Qgs3DMapCanvasDockWidget( QWidget *parent )

setWidget( contentsWidget );

onTerrainPendingJobsCountChanged();
onTotalPendingJobsCountChanged();
}

void Qgs3DMapCanvasDockWidget::saveAsImage()
Expand Down Expand Up @@ -206,7 +206,7 @@ void Qgs3DMapCanvasDockWidget::setMapSettings( Qgs3DMapSettings *map )
{
mCanvas->setMap( map );

connect( mCanvas->scene(), &Qgs3DMapScene::terrainPendingJobsCountChanged, this, &Qgs3DMapCanvasDockWidget::onTerrainPendingJobsCountChanged );
connect( mCanvas->scene(), &Qgs3DMapScene::totalPendingJobsCountChanged, this, &Qgs3DMapCanvasDockWidget::onTotalPendingJobsCountChanged );

mAnimationWidget->setCameraController( mCanvas->scene()->cameraController() );
mAnimationWidget->setMap( map );
Expand Down Expand Up @@ -278,9 +278,9 @@ void Qgs3DMapCanvasDockWidget::onMainCanvasColorChanged()
mCanvas->map()->setBackgroundColor( mMainCanvas->canvasColor() );
}

void Qgs3DMapCanvasDockWidget::onTerrainPendingJobsCountChanged()
void Qgs3DMapCanvasDockWidget::onTotalPendingJobsCountChanged()
{
int count = mCanvas->scene() ? mCanvas->scene()->terrainPendingJobsCount() : 0;
int count = mCanvas->scene() ? mCanvas->scene()->totalPendingJobsCount() : 0;
mProgressPendingJobs->setVisible( count );
mLabelPendingJobs->setVisible( count );
if ( count )
Expand Down
2 changes: 1 addition & 1 deletion src/app/3d/qgs3dmapcanvasdockwidget.h
Expand Up @@ -57,7 +57,7 @@ class Qgs3DMapCanvasDockWidget : public QgsDockWidget

void onMainCanvasLayersChanged();
void onMainCanvasColorChanged();
void onTerrainPendingJobsCountChanged();
void onTotalPendingJobsCountChanged();

private:
Qgs3DMapCanvas *mCanvas = nullptr;
Expand Down

0 comments on commit 62cd6b3

Please sign in to comment.