#include <qgspalobjectpositionmanager.h>
Public Member Functions | |
QgsPALObjectPositionManager () | |
~QgsPALObjectPositionManager () | |
void | addLayer (QgsVectorLayer *vl, QList< QgsVectorOverlay * > &overlays) |
Adds a layer that may contain * overlays to the position manager. | |
void | findObjectPositions (const QgsRenderContext &renderContext, QGis::UnitType unitType) |
Calculate positions for the overlay objects. | |
void | removeLayers () |
Removes all the layers. | |
void | setPlacementAlgorithm (const QString &algorithmName) |
Sets algorithm used for object placements. | |
Private Member Functions | |
void | deletePALGeometries () |
Private Attributes | |
pal::Pal | mPositionEngine |
int | mNumberOfLayers |
QList< QgsPALGeometry * > | mPALGeometries |
Internal storage of the pal geometries between addLayer and findObjectPositions operations. |
Definition at line 29 of file qgspalobjectpositionmanager.h.
QgsPALObjectPositionManager::QgsPALObjectPositionManager | ( | ) |
Definition at line 30 of file qgspalobjectpositionmanager.cpp.
QgsPALObjectPositionManager::~QgsPALObjectPositionManager | ( | ) |
void QgsPALObjectPositionManager::addLayer | ( | QgsVectorLayer * | vl, | |
QList< QgsVectorOverlay * > & | overlays | |||
) | [virtual] |
Adds a layer that may contain * overlays to the position manager.
The overlay objects contained in the overlays will then be considered in label placement
Implements QgsOverlayObjectPositionManager.
Definition at line 40 of file qgspalobjectpositionmanager.cpp.
References QgsVectorLayer::geometryType(), QGis::Line, mNumberOfLayers, mPALGeometries, mPositionEngine, QGis::Point, and QGis::Polygon.
void QgsPALObjectPositionManager::findObjectPositions | ( | const QgsRenderContext & | context, | |
QGis::UnitType | unitType | |||
) | [virtual] |
Calculate positions for the overlay objects.
context | Context of rendering operation (Painter, scale factor) | |
unitType | meters, feet, degrees |
Implements QgsOverlayObjectPositionManager.
Definition at line 100 of file qgspalobjectpositionmanager.cpp.
References QgsOverlayObject::addPosition(), QgsRenderContext::coordinateTransform(), QGis::Degrees, deletePALGeometries(), QgsRenderContext::extent(), QGis::Feet, QGis::Meters, mPositionEngine, QgsPALGeometry::overlayObjectPtr(), QgsRenderContext::rendererScale(), QgsRenderContext::scaleFactor(), QgsCoordinateTransform::transformBoundingBox(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
void QgsPALObjectPositionManager::removeLayers | ( | ) | [virtual] |
Removes all the layers.
Implements QgsOverlayObjectPositionManager.
Definition at line 183 of file qgspalobjectpositionmanager.cpp.
References mPositionEngine.
void QgsPALObjectPositionManager::setPlacementAlgorithm | ( | const QString & | algorithmName | ) |
Sets algorithm used for object placements.
Possibilities are: Chain, Popmusic tabu chain, Popmusic tabu, Popmusic chain
Definition at line 207 of file qgspalobjectpositionmanager.cpp.
References mPositionEngine.
Referenced by QgsMapRenderer::overlayManagerFromSettings().
void QgsPALObjectPositionManager::deletePALGeometries | ( | ) | [private] |
Definition at line 227 of file qgspalobjectpositionmanager.cpp.
References mPALGeometries.
Referenced by findObjectPositions(), and ~QgsPALObjectPositionManager().
pal::Pal QgsPALObjectPositionManager::mPositionEngine [private] |
Definition at line 43 of file qgspalobjectpositionmanager.h.
Referenced by addLayer(), findObjectPositions(), removeLayers(), and setPlacementAlgorithm().
int QgsPALObjectPositionManager::mNumberOfLayers [private] |
QList<QgsPALGeometry*> QgsPALObjectPositionManager::mPALGeometries [private] |
Internal storage of the pal geometries between addLayer and findObjectPositions operations.
Definition at line 46 of file qgspalobjectpositionmanager.h.
Referenced by addLayer(), and deletePALGeometries().