QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Public Member Functions | Protected Types | Protected Slots | Static Protected Member Functions | Protected Attributes | List of all members
QgsMapRendererParallelJob Class Reference

Job implementation that renders all layers in parallel. More...

#include <qgsmaprendererparalleljob.h>

Inheritance diagram for QgsMapRendererParallelJob:
Inheritance graph
[legend]

Public Member Functions

 QgsMapRendererParallelJob (const QgsMapSettings &settings)
 
 ~QgsMapRendererParallelJob ()
 
virtual void cancel () override
 Stop the rendering job - does not return until the job has terminated. More...
 
virtual void cancelWithoutBlocking () override
 Triggers cancellation of the rendering job without blocking. More...
 
virtual bool isActive () const override
 Tell whether the rendering job is currently running in background. More...
 
virtual QImage renderedImage () override
 Get a preview/resulting image. More...
 
virtual void start () override
 Start the rendering job and immediately return. More...
 
virtual QgsLabelingResultstakeLabelingResults () override
 Get pointer to internal labeling engine (in order to get access to the results) More...
 
virtual void waitForFinished () override
 Block until the job has finished. More...
 
- Public Member Functions inherited from QgsMapRendererQImageJob
 QgsMapRendererQImageJob (const QgsMapSettings &settings)
 
- Public Member Functions inherited from QgsMapRendererJob
 QgsMapRendererJob (const QgsMapSettings &settings)
 
virtual ~QgsMapRendererJob ()
 
Errors errors () const
 List of errors that happened during the rendering job - available when the rendering has been finished. More...
 
const QgsMapSettingsmapSettings () const
 Return map settings with which this job was started. More...
 
int renderingTime () const
 Find out how log it took to finish the job (in miliseconds) More...
 
void setCache (QgsMapRendererCache *cache)
 Assign a cache to be used for reading and storing rendered images of individual layers. More...
 
void setRequestedGeometryCacheForLayers (const QStringList &layerIds)
 Set which vector layers should be cached while rendering. More...
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
 QObject (QObject *parent, const char *name)
 
virtual ~QObject ()
 
bool blockSignals (bool block)
 
QObjectchild (const char *objName, const char *inheritsClass, bool recursiveSearch) const
 
const QObjectList & children () const
 
const char * className () const
 
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const QObject *receiver, const char *method)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method)
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArraydynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name) const
 
QList< T > findChildren (const QRegExp &regExp) const
 
QList< T > findChildren (const QString &name) const
 
bool inherits (const char *className) const
 
void insertChild (QObject *object)
 
void installEventFilter (QObject *filterObj)
 
bool isA (const char *className) const
 
bool isWidgetType () const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const
 
void moveToThread (QThread *targetThread)
 
const char * name () const
 
const char * name (const char *defaultName) const
 
QString objectName () const
 
QObjectparent () const
 
QVariant property (const char *name) const
 
void removeChild (QObject *object)
 
void removeEventFilter (QObject *obj)
 
void setName (const char *name)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval)
 
QThreadthread () const
 

Protected Types

enum  { Idle, RenderingLayers, RenderingLabels }
 

Protected Slots

void renderingFinished ()
 all rendering is finished, including labeling More...
 
void renderLayersFinished ()
 layers are rendered, labeling is still pending More...
 

Static Protected Member Functions

static void renderLabelsStatic (QgsMapRendererParallelJob *self)
 
static void renderLayerStatic (LayerRenderJob &job)
 
- Static Protected Member Functions inherited from QgsMapRendererJob
static QImage composeImage (const QgsMapSettings &settings, const LayerRenderJobs &jobs)
 
static void drawLabeling (const QgsMapSettings &settings, QgsRenderContext &renderContext, QgsPalLabeling *labelingEngine, QgsLabelingEngineV2 *labelingEngine2, QPainter *painter)
 
static void drawNewLabeling (const QgsMapSettings &settings, QgsRenderContext &renderContext, QgsPalLabeling *labelingEngine)
 
static void drawOldLabeling (const QgsMapSettings &settings, QgsRenderContext &renderContext)
 
static bool reprojectToLayerExtent (const QgsMapLayer *ml, const QgsCoordinateTransform *ct, QgsRectangle &extent, QgsRectangle &r2)
 Convenience function to project an extent into the layer source CRS, but also split it into two extents if it crosses the +/- 180 degree line. More...
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 

Protected Attributes

QImage mFinalImage
 
QFuture< void > mFuture
 
QFutureWatcher< void > mFutureWatcher
 
QgsPalLabelingmLabelingEngine
 Old labeling engine. More...
 
QgsLabelingEngineV2mLabelingEngineV2
 New labeling engine. More...
 
QFuture< void > mLabelingFuture
 
QFutureWatcher< void > mLabelingFutureWatcher
 
QgsRenderContext mLabelingRenderContext
 
LayerRenderJobs mLayerJobs
 
enum QgsMapRendererParallelJob:: { ... }  mStatus
 
- Protected Attributes inherited from QgsMapRendererJob
QgsMapRendererCachemCache
 
Errors mErrors
 
QMap< QString, QgsGeometryCachemGeometryCaches
 map of geometry caches More...
 
QTime mRenderingStart
 
int mRenderingTime
 
QStringList mRequestedGeomCacheForLayers
 list of layer IDs for which the geometry cache should be updated More...
 
QgsMapSettings mSettings
 

Additional Inherited Members

- Public Types inherited from QgsMapRendererJob
typedef QList< ErrorErrors
 
- Signals inherited from QgsMapRendererJob
void finished ()
 emitted when asynchronous rendering is finished (or canceled). More...
 
- Static Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Protected Member Functions inherited from QgsMapRendererJob
void cleanupJobs (LayerRenderJobs &jobs)
 
void logRenderingTime (const LayerRenderJobs &jobs)
 
bool needTemporaryImage (QgsMapLayer *ml)
 
LayerRenderJobs prepareJobs (QPainter *painter, QgsPalLabeling *labelingEngine, QgsLabelingEngineV2 *labelingEngine2)
 
void updateLayerGeometryCaches ()
 called when rendering has finished to update all layers' geometry caches More...
 
- Protected Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObjectsender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Job implementation that renders all layers in parallel.

The resulting map image can be retrieved with renderedImage() function. It is safe to call that function while rendering is active to see preview of the map.

Note
added in 2.4

Definition at line 29 of file qgsmaprendererparalleljob.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Note
not available in Python bindings
Enumerator
Idle 
RenderingLayers 
RenderingLabels 

Definition at line 63 of file qgsmaprendererparalleljob.h.

Constructor & Destructor Documentation

◆ QgsMapRendererParallelJob()

QgsMapRendererParallelJob::QgsMapRendererParallelJob ( const QgsMapSettings settings)

Definition at line 28 of file qgsmaprendererparalleljob.cpp.

◆ ~QgsMapRendererParallelJob()

QgsMapRendererParallelJob::~QgsMapRendererParallelJob ( )

Definition at line 36 of file qgsmaprendererparalleljob.cpp.

Member Function Documentation

◆ cancel()

void QgsMapRendererParallelJob::cancel ( )
overridevirtual

Stop the rendering job - does not return until the job has terminated.

Does nothing if the rendering is not active.

Implements QgsMapRendererJob.

Definition at line 90 of file qgsmaprendererparalleljob.cpp.

◆ cancelWithoutBlocking()

void QgsMapRendererParallelJob::cancelWithoutBlocking ( )
overridevirtual

Triggers cancellation of the rendering job without blocking.

The render job will continue to operate until it is able to cancel, at which stage the finished() signal will be emitted. Does nothing if the rendering is not active.

Implements QgsMapRendererJob.

Definition at line 126 of file qgsmaprendererparalleljob.cpp.

◆ isActive()

bool QgsMapRendererParallelJob::isActive ( ) const
overridevirtual

Tell whether the rendering job is currently running in background.

Implements QgsMapRendererJob.

Definition at line 184 of file qgsmaprendererparalleljob.cpp.

◆ renderedImage()

QImage QgsMapRendererParallelJob::renderedImage ( )
overridevirtual

Get a preview/resulting image.

Implements QgsMapRendererQImageJob.

Definition at line 199 of file qgsmaprendererparalleljob.cpp.

◆ renderingFinished

void QgsMapRendererParallelJob::renderingFinished ( )
protectedslot

all rendering is finished, including labeling

Definition at line 236 of file qgsmaprendererparalleljob.cpp.

◆ renderLabelsStatic()

void QgsMapRendererParallelJob::renderLabelsStatic ( QgsMapRendererParallelJob self)
staticprotected

Definition at line 283 of file qgsmaprendererparalleljob.cpp.

◆ renderLayersFinished

void QgsMapRendererParallelJob::renderLayersFinished ( )
protectedslot

layers are rendered, labeling is still pending

Definition at line 207 of file qgsmaprendererparalleljob.cpp.

◆ renderLayerStatic()

void QgsMapRendererParallelJob::renderLayerStatic ( LayerRenderJob job)
staticprotected

Definition at line 247 of file qgsmaprendererparalleljob.cpp.

◆ start()

void QgsMapRendererParallelJob::start ( )
overridevirtual

Start the rendering job and immediately return.

Does nothing if the rendering is already in progress.

Implements QgsMapRendererJob.

Definition at line 50 of file qgsmaprendererparalleljob.cpp.

◆ takeLabelingResults()

QgsLabelingResults * QgsMapRendererParallelJob::takeLabelingResults ( )
overridevirtual

Get pointer to internal labeling engine (in order to get access to the results)

Implements QgsMapRendererJob.

Definition at line 189 of file qgsmaprendererparalleljob.cpp.

◆ waitForFinished()

void QgsMapRendererParallelJob::waitForFinished ( )
overridevirtual

Block until the job has finished.

Implements QgsMapRendererJob.

Definition at line 148 of file qgsmaprendererparalleljob.cpp.

Member Data Documentation

◆ mFinalImage

QImage QgsMapRendererParallelJob::mFinalImage
protected

Definition at line 60 of file qgsmaprendererparalleljob.h.

◆ mFuture

QFuture<void> QgsMapRendererParallelJob::mFuture
protected

Definition at line 65 of file qgsmaprendererparalleljob.h.

◆ mFutureWatcher

QFutureWatcher<void> QgsMapRendererParallelJob::mFutureWatcher
protected

Definition at line 66 of file qgsmaprendererparalleljob.h.

◆ mLabelingEngine

QgsPalLabeling* QgsMapRendererParallelJob::mLabelingEngine
protected

Old labeling engine.

Definition at line 71 of file qgsmaprendererparalleljob.h.

◆ mLabelingEngineV2

QgsLabelingEngineV2* QgsMapRendererParallelJob::mLabelingEngineV2
protected

New labeling engine.

Definition at line 73 of file qgsmaprendererparalleljob.h.

◆ mLabelingFuture

QFuture<void> QgsMapRendererParallelJob::mLabelingFuture
protected

Definition at line 75 of file qgsmaprendererparalleljob.h.

◆ mLabelingFutureWatcher

QFutureWatcher<void> QgsMapRendererParallelJob::mLabelingFutureWatcher
protected

Definition at line 76 of file qgsmaprendererparalleljob.h.

◆ mLabelingRenderContext

QgsRenderContext QgsMapRendererParallelJob::mLabelingRenderContext
protected

Definition at line 74 of file qgsmaprendererparalleljob.h.

◆ mLayerJobs

LayerRenderJobs QgsMapRendererParallelJob::mLayerJobs
protected

Definition at line 68 of file qgsmaprendererparalleljob.h.

◆ mStatus

enum { ... } QgsMapRendererParallelJob::mStatus
Note
not available in Python bindings

The documentation for this class was generated from the following files: