#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().
1.5.6