Quantum GIS API Documentation
1.8
|
A non GUI class for rendering a map layer set onto a QPainter. More...
#include <qgsmaprenderer.h>
Public Types | |
enum | OutputUnits { Millimeters, Pixels } |
Output units for pen width and point marker width/height. More... | |
Public Slots | |
void | onDrawingProgress (int current, int total) |
called by signal from layer current being drawn | |
void | invalidateCachedLayerCrs () |
invalidate cached layer CRS | |
void | cachedLayerDestroyed () |
cached layer was destroyed | |
Signals | |
void | drawingProgress (int current, int total) |
void | hasCrsTransformEnabled (bool flag) |
void | destinationSrsChanged () |
void | updateMap () |
void | mapUnitsChanged () |
void | drawError (QgsMapLayer *) |
emitted when layer's draw() returned false | |
Public Member Functions | |
QgsMapRenderer () | |
constructor | |
~QgsMapRenderer () | |
destructor | |
void | render (QPainter *painter, double *forceWidthScale=0) |
starts rendering @ param forceWidthScale Force a specific scale factor for line widths and marker sizes. | |
bool | setExtent (const QgsRectangle &extent) |
sets extent and checks whether suitable (returns false if not) | |
QgsRectangle | extent () const |
returns current extent | |
const QgsMapToPixel * | coordinateTransform () |
double | scale () const |
void | setScale (double scale) |
Sets scale for scale based visibility. | |
double | mapUnitsPerPixel () const |
int | width () const |
int | height () const |
void | updateScale () |
Recalculate the map scale. | |
Q_DECL_DEPRECATED QgsDistanceArea * | distanceArea () |
Return the measuring object. | |
QGis::UnitType | mapUnits () const |
void | setMapUnits (QGis::UnitType u) |
void | enableOverviewMode (bool isOverview=true) |
sets whether map image will be for overview | |
void | setOutputSize (QSize size, int dpi) |
void | setOutputSize (QSizeF size, double dpi) |
double | outputDpi () |
accessor for output dpi | |
QSize | outputSize () |
accessor for output size | |
QSizeF | outputSizeF () |
QgsRectangle | layerExtentToOutputExtent (QgsMapLayer *theLayer, QgsRectangle extent) |
transform extent in layer's CRS to extent in output CRS | |
QgsPoint | layerToMapCoordinates (QgsMapLayer *theLayer, QgsPoint point) |
transform coordinates from layer's CRS to output CRS | |
QgsPoint | mapToLayerCoordinates (QgsMapLayer *theLayer, QgsPoint point) |
transform coordinates from output CRS to layer's CRS | |
QgsRectangle | mapToLayerCoordinates (QgsMapLayer *theLayer, QgsRectangle rect) |
transform rect's coordinates from output CRS to layer's CRS | |
void | setProjectionsEnabled (bool enabled) |
sets whether to use projections for this layer set | |
bool | hasCrsTransformEnabled () |
returns true if projections are enabled for this layer set | |
Q_DECL_DEPRECATED void | setDestinationSrs (const QgsCoordinateReferenceSystem &srs) |
sets destination coordinate reference system | |
Q_DECL_DEPRECATED const QgsCoordinateReferenceSystem & | destinationSrs () |
returns CRS of destination coordinate reference system | |
void | setDestinationCrs (const QgsCoordinateReferenceSystem &crs) |
sets destination coordinate reference system | |
const QgsCoordinateReferenceSystem & | destinationCrs () |
returns CRS of destination coordinate reference system | |
void | setOutputUnits (OutputUnits u) |
OutputUnits | outputUnits () const |
QgsRectangle | fullExtent () |
returns current extent of layer set | |
QStringList & | layerSet () |
returns current layer set | |
void | setLayerSet (const QStringList &layers) |
change current layer set | |
void | updateFullExtent () |
updates extent of the layer set | |
bool | readXML (QDomNode &theNode) |
read settings | |
bool | writeXML (QDomNode &theNode, QDomDocument &theDoc) |
write settings | |
QgsRenderContext * | rendererContext () |
Accessor for render context. | |
QgsLabelingEngineInterface * | labelingEngine () |
Labeling engine (NULL if there's no custom engine) | |
void | setLabelingEngine (QgsLabelingEngineInterface *iface) |
Set labeling engine. | |
Protected Member Functions | |
void | adjustExtentToSize () |
adjust extent to fit the pixmap size | |
bool | splitLayersExtent (QgsMapLayer *layer, 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. | |
QgsOverlayObjectPositionManager * | overlayManagerFromSettings () |
Creates an overlay object position manager subclass according to the current settings. | |
Protected Attributes | |
double | mMapUnitsPerPixel |
map units per pixel | |
double | mScale |
Map scale at its current zool level. | |
QgsScaleCalculator * | mScaleCalculator |
scale calculator | |
QgsRectangle | mExtent |
current extent to be drawn | |
QgsRectangle | mLastExtent |
Last extent to we drew so we know if we can used layer render caching or not. | |
bool | mOverview |
indicates whether it's map image for overview | |
QSizeF | mSize |
bool | mProjectionsEnabled |
detemines whether on the fly projection support is enabled | |
QgsCoordinateReferenceSystem * | mDestCRS |
destination spatial reference system of the projection | |
QStringList | mLayerSet |
stores array of layers to be rendered (identified by string) | |
QgsRectangle | mFullExtent |
full extent of the layer set | |
QgsDistanceArea * | mDistArea |
tool for measuring | |
QgsRenderContext | mRenderContext |
Encapsulates context of rendering. | |
OutputUnits | mOutputUnits |
Output units. | |
QgsLabelingEngineInterface * | mLabelingEngine |
Labeling engine (NULL by default) | |
QMutex | mRenderMutex |
Locks rendering loop for concurrent draws. | |
Static Protected Attributes | |
static bool | mDrawing = false |
indicates drawing in progress | |
Private Member Functions | |
QgsCoordinateTransform * | tr (QgsMapLayer *layer) |
Private Attributes | |
QgsCoordinateTransform * | mCachedTr |
QgsMapLayer * | mCachedTrForLayer |
A non GUI class for rendering a map layer set onto a QPainter.
Definition at line 102 of file qgsmaprenderer.h.
Output units for pen width and point marker width/height.
Definition at line 109 of file qgsmaprenderer.h.
constructor
Definition at line 44 of file qgsmaprenderer.cpp.
References QGis::Degrees, GEOCRS_ID, QgsCoordinateReferenceSystem::InternalCrsId, mCachedTr, mCachedTrForLayer, mDestCRS, mDistArea, mDrawing, Millimeters, mLabelingEngine, mOutputUnits, mOverview, mProjectionsEnabled, mScaleCalculator, mSize, and setMapUnits().
destructor
Definition at line 67 of file qgsmaprenderer.cpp.
References mCachedTr, mDestCRS, mDistArea, mLabelingEngine, and mScaleCalculator.
void QgsMapRenderer::adjustExtentToSize | ( | ) | [protected] |
adjust extent to fit the pixmap size
Definition at line 158 of file qgsmaprenderer.cpp.
References QgsRectangle::height(), mExtent, mMapUnitsPerPixel, mRenderContext, mScale, mSize, QgsDebugMsg, QgsRenderContext::setExtent(), QgsRenderContext::setMapToPixel(), QgsMapToPixel::setParameters(), QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsRectangle::setYMaximum(), QgsRectangle::setYMinimum(), QgsRectangle::toString(), updateScale(), QgsRectangle::width(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by setExtent(), and setOutputSize().
void QgsMapRenderer::cachedLayerDestroyed | ( | ) | [slot] |
cached layer was destroyed
Definition at line 1134 of file qgsmaprenderer.cpp.
References mCachedTrForLayer.
Referenced by tr().
const QgsMapToPixel* QgsMapRenderer::coordinateTransform | ( | ) | [inline] |
Definition at line 132 of file qgsmaprenderer.h.
Referenced by QgsPalLabeling::addDiagramLayer(), QgsMapOverviewCanvas::drawExtentRect(), QgsPalLabeling::drawLabeling(), QgsMapCanvas::getCoordinateTransform(), QgsMapOverviewCanvas::mouseReleaseEvent(), QgsPalLabeling::prepareLayer(), QgsSnapper::snapPoint(), and QgsTolerance::toLayerCoordinates().
returns CRS of destination coordinate reference system
Definition at line 707 of file qgsmaprenderer.cpp.
References mDestCRS, QgsDebugMsgLevel, QgsCoordinateReferenceSystem::srsid(), and QgsCoordinateReferenceSystem::toProj4().
Referenced by QgsPalLabeling::addDiagramLayer(), QgsMapOverviewCanvas::destinationSrsChanged(), QgsComposerMap::draw(), QgsPalLabeling::prepareLayer(), and writeXML().
Q_DECL_DEPRECATED const QgsCoordinateReferenceSystem& QgsMapRenderer::destinationSrs | ( | ) | [inline] |
returns CRS of destination coordinate reference system
Definition at line 192 of file qgsmaprenderer.h.
void QgsMapRenderer::destinationSrsChanged | ( | ) | [signal] |
Referenced by setDestinationCrs().
Q_DECL_DEPRECATED QgsDistanceArea* QgsMapRenderer::distanceArea | ( | ) | [inline] |
void QgsMapRenderer::drawError | ( | QgsMapLayer * | ) | [signal] |
emitted when layer's draw() returned false
Referenced by render().
void QgsMapRenderer::drawingProgress | ( | int | current, |
int | total | ||
) | [signal] |
Referenced by render().
void QgsMapRenderer::enableOverviewMode | ( | bool | isOverview = true | ) | [inline] |
sets whether map image will be for overview
Definition at line 153 of file qgsmaprenderer.h.
Referenced by QgsMapOverviewCanvas::QgsMapOverviewCanvas().
QgsRectangle QgsMapRenderer::extent | ( | ) | const |
returns current extent
Definition at line 77 of file qgsmaprenderer.cpp.
References mExtent.
Referenced by QgsComposerMap::composerMapPosForItem(), QgsComposerMap::drawCanvasItem(), QgsMapCanvas::extent(), QgsMapCanvas::keyPressEvent(), layerExtentToOutputExtent(), QgsMapCanvas::panActionEnd(), QgsPalLabeling::prepareLayer(), QgsComposerMap::QgsComposerMap(), QgsMapCanvas::saveAsImage(), setExtent(), splitLayersExtent(), updateFullExtent(), QgsMapCanvas::wheelEvent(), writeXML(), QgsMapCanvas::zoomByFactor(), and QgsMapCanvas::zoomWithCenter().
returns current extent of layer set
Definition at line 916 of file qgsmaprenderer.cpp.
References mFullExtent, and updateFullExtent().
Referenced by QgsMapCanvas::fullExtent().
returns true if projections are enabled for this layer set
Definition at line 674 of file qgsmaprenderer.cpp.
References mProjectionsEnabled.
Referenced by QgsPalLabeling::addDiagramLayer(), QgsTolerance::computeMapUnitPerPixel(), QgsComposerMap::draw(), QgsMapCanvas::hasCrsTransformEnabled(), layerExtentToOutputExtent(), layerToMapCoordinates(), mapToLayerCoordinates(), QgsPalLabeling::prepareLayer(), render(), setProjectionsEnabled(), splitLayersExtent(), and writeXML().
void QgsMapRenderer::hasCrsTransformEnabled | ( | bool | flag | ) | [signal] |
int QgsMapRenderer::height | ( | ) | const [inline] |
Definition at line 141 of file qgsmaprenderer.h.
void QgsMapRenderer::invalidateCachedLayerCrs | ( | ) | [slot] |
invalidate cached layer CRS
Definition at line 1140 of file qgsmaprenderer.cpp.
References mCachedTrForLayer.
Referenced by setDestinationCrs(), and tr().
QgsLabelingEngineInterface* QgsMapRenderer::labelingEngine | ( | ) | [inline] |
Labeling engine (NULL if there's no custom engine)
Definition at line 227 of file qgsmaprenderer.h.
Referenced by QgsComposerMap::draw().
QgsRectangle QgsMapRenderer::layerExtentToOutputExtent | ( | QgsMapLayer * | theLayer, |
QgsRectangle | extent | ||
) |
transform extent in layer's CRS to extent in output CRS
Definition at line 771 of file qgsmaprenderer.cpp.
References extent(), hasCrsTransformEnabled(), QgsMessageLog::logMessage(), QgsDebugMsg, QgsRectangle::toString(), tr(), QgsCoordinateTransform::transformBoundingBox(), and QgsException::what().
Referenced by QgsMapCanvas::panToSelected(), updateFullExtent(), and QgsMapCanvas::zoomToSelected().
QStringList & QgsMapRenderer::layerSet | ( | ) |
returns current layer set
Definition at line 929 of file qgsmaprenderer.cpp.
References mLayerSet.
Referenced by QgsComposerMap::containsWMSLayer(), QgsComposerMap::draw(), QgsMapCanvas::layer(), QgsMapCanvas::layerCount(), QgsComposerLegend::layerIdList(), QgsMapCanvas::layers(), QgsMapOverviewCanvas::layerSet(), QgsQuickPrint::printMap(), QgsQuickPrint::renderPrintScaleBar(), QgsQuickPrint::scalePointSymbols(), QgsQuickPrint::scaleTextLabels(), QgsMapCanvas::setLayerSet(), QgsComposerMap::storeCurrentLayerSet(), and QgsComposerMap::syncLayerSet().
QgsPoint QgsMapRenderer::layerToMapCoordinates | ( | QgsMapLayer * | theLayer, |
QgsPoint | point | ||
) |
transform coordinates from layer's CRS to output CRS
Definition at line 793 of file qgsmaprenderer.cpp.
References QgsCoordinateTransform::ForwardTransform, hasCrsTransformEnabled(), QgsDebugMsg, tr(), QgsCoordinateTransform::transform(), and QgsException::what().
Referenced by QgsRubberBand::addGeometry(), QgsSnapper::snapPoint(), and QgsMapTool::toMapCoordinates().
QgsPoint QgsMapRenderer::mapToLayerCoordinates | ( | QgsMapLayer * | theLayer, |
QgsPoint | point | ||
) |
transform coordinates from output CRS to layer's CRS
Definition at line 814 of file qgsmaprenderer.cpp.
References hasCrsTransformEnabled(), QgsDebugMsg, QgsCoordinateTransform::ReverseTransform, tr(), QgsCoordinateTransform::transform(), and QgsException::what().
Referenced by QgsMapTip::fetchFeature(), QgsSnapper::snapPoint(), QgsTolerance::toLayerCoordinates(), and QgsMapTool::toLayerCoordinates().
QgsRectangle QgsMapRenderer::mapToLayerCoordinates | ( | QgsMapLayer * | theLayer, |
QgsRectangle | rect | ||
) |
transform rect's coordinates from output CRS to layer's CRS
Definition at line 835 of file qgsmaprenderer.cpp.
References hasCrsTransformEnabled(), QgsDebugMsg, QgsCoordinateTransform::ReverseTransform, tr(), QgsCoordinateTransform::transform(), and QgsException::what().
QGis::UnitType QgsMapRenderer::mapUnits | ( | ) | const |
Definition at line 647 of file qgsmaprenderer.cpp.
References QgsScaleCalculator::mapUnits(), and mScaleCalculator.
Referenced by QgsMapCanvas::mapUnits(), QgsQuickPrint::renderPrintScaleBar(), QgsComposerMap::scale(), and writeXML().
void QgsMapRenderer::mapUnitsChanged | ( | ) | [signal] |
Referenced by setMapUnits().
double QgsMapRenderer::mapUnitsPerPixel | ( | ) | const [inline] |
Definition at line 138 of file qgsmaprenderer.h.
Referenced by QgsTolerance::computeMapUnitPerPixel(), QgsMapCanvas::mapUnitsPerPixel(), and QgsQuickPrint::renderPrintScaleBar().
void QgsMapRenderer::onDrawingProgress | ( | int | current, |
int | total | ||
) | [slot] |
called by signal from layer current being drawn
Definition at line 652 of file qgsmaprenderer.cpp.
References updateMap().
Referenced by render().
double QgsMapRenderer::outputDpi | ( | ) |
accessor for output dpi
Definition at line 143 of file qgsmaprenderer.cpp.
References QgsScaleCalculator::dpi(), and mScaleCalculator.
Referenced by QgsQuickPrint::printMap(), and QgsMapCanvasItem::setRenderContextVariables().
QSize QgsMapRenderer::outputSize | ( | ) |
accessor for output size
Definition at line 148 of file qgsmaprenderer.cpp.
References mSize.
Referenced by QgsQuickPrint::printMap().
QSizeF QgsMapRenderer::outputSizeF | ( | ) |
Definition at line 153 of file qgsmaprenderer.cpp.
References mSize.
OutputUnits QgsMapRenderer::outputUnits | ( | ) | const [inline] |
Definition at line 202 of file qgsmaprenderer.h.
Referenced by QgsMapCanvasItem::setRenderContextVariables().
QgsOverlayObjectPositionManager * QgsMapRenderer::overlayManagerFromSettings | ( | ) | [protected] |
Creates an overlay object position manager subclass according to the current settings.
Definition at line 934 of file qgsmaprenderer.cpp.
References QgsPALObjectPositionManager::setPlacementAlgorithm().
Referenced by render().
bool QgsMapRenderer::readXML | ( | QDomNode & | theNode | ) |
read settings
Definition at line 970 of file qgsmaprenderer.cpp.
References QGis::Degrees, QGis::Feet, QGis::Meters, QgsDebugMsg, QgsCoordinateReferenceSystem::readXML(), setDestinationCrs(), setExtent(), setMapUnits(), setProjectionsEnabled(), QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsRectangle::setYMaximum(), QgsRectangle::setYMinimum(), and QGis::UnknownUnit.
Referenced by QgsMapCanvas::readProject().
void QgsMapRenderer::render | ( | QPainter * | painter, |
double * | forceWidthScale = 0 |
||
) |
starts rendering @ param forceWidthScale Force a specific scale factor for line widths and marker sizes.
Automatically calculated from output device DPI if 0
Definition at line 220 of file qgsmaprenderer.cpp.
References QgsOverlayObjectPositionManager::addLayer(), QgsMapLayer::cacheImage(), QgsMapLayerRegistry::clearAllLayerCaches(), QgsMapLayer::crs(), QgsScaleCalculator::dpi(), QgsMapLayer::draw(), drawError(), drawingProgress(), QgsLabelingEngineInterface::drawLabeling(), QgsMapLayer::drawLabels(), QgsLabelingEngineInterface::exit(), QgsMapLayer::extent(), QgsOverlayObjectPositionManager::findObjectPositions(), hasCrsTransformEnabled(), QgsMapLayer::hasScaleBasedVisibility(), QgsLabelingEngineInterface::init(), QgsMapLayerRegistry::instance(), QgsVectorLayer::isEditable(), QgsRectangle::isEmpty(), QgsRectangle::isFinite(), QgsRenderContext::labelingEngine(), QgsMapLayerRegistry::mapLayer(), QgsRenderContext::mapToPixel(), QgsScaleCalculator::mapUnits(), QgsMapToPixel::mapUnitsPerPixel(), QgsMapLayer::maximumScale(), mDestCRS, mDrawing, mExtent, Millimeters, QgsMapLayer::minimumScale(), mLabelingEngine, mLastExtent, mLayerSet, mOutputUnits, mOverview, mRenderContext, mRenderMutex, mScale, mScaleCalculator, mSize, QgsMapLayer::name(), onDrawingProgress(), overlayManagerFromSettings(), QgsRenderContext::painter(), QgsDebugMsg, QgsMapLayer::RasterLayer, QgsRenderContext::rasterScaleFactor(), rasterScaleFactor, QgsOverlayObjectPositionManager::removeLayers(), QgsRenderContext::rendererScale(), QgsRenderContext::renderingStopped(), QgsRenderContext::scaleFactor(), QgsMapLayer::setCacheImage(), QgsRenderContext::setCoordinateTransform(), QgsRenderContext::setDrawEditingInformation(), QgsRenderContext::setExtent(), QgsRenderContext::setLabelingEngine(), QgsRenderContext::setMapToPixel(), QgsMapToPixel::setMapUnitsPerPixel(), QgsRenderContext::setPainter(), QgsRenderContext::setRasterScaleFactor(), QgsRenderContext::setRendererScale(), QgsRenderContext::setRenderingStopped(), QgsRenderContext::setScaleFactor(), QgsMapToPixel::setYMaximum(), splitLayersExtent(), QgsRectangle::toString(), QgsMapLayer::type(), QgsMapLayer::VectorLayer, QgsVectorLayer::vectorOverlays(), and QgsLabelingEngineInterface::willUseLayer().
Referenced by QgsComposerMap::draw(), QgsQuickPrint::printMap(), QgsMapOverviewCanvas::refresh(), QgsMapCanvasMap::render(), and QgsMapCanvas::saveAsImage().
QgsRenderContext* QgsMapRenderer::rendererContext | ( | ) | [inline] |
Accessor for render context.
Definition at line 223 of file qgsmaprenderer.h.
Referenced by QgsComposerMap::draw(), QgsMapCanvas::paintEvent(), and QgsMapCanvas::setRenderFlag().
double QgsMapRenderer::scale | ( | ) | const [inline] |
Definition at line 134 of file qgsmaprenderer.h.
Referenced by QgsComposerMap::draw(), QgsPalLabeling::drawLabeling(), QgsMapCanvas::scale(), and QgsMapCanvas::updateScale().
void QgsMapRenderer::setDestinationCrs | ( | const QgsCoordinateReferenceSystem & | crs | ) |
sets destination coordinate reference system
Definition at line 679 of file qgsmaprenderer.cpp.
References destinationSrsChanged(), invalidateCachedLayerCrs(), QgsRectangle::isEmpty(), mDestCRS, mDistArea, mExtent, QgsDebugMsg, setExtent(), QgsDistanceArea::setSourceCrs(), QgsCoordinateReferenceSystem::srsid(), QgsCoordinateReferenceSystem::toProj4(), QgsCoordinateTransform::transformBoundingBox(), and updateFullExtent().
Referenced by QgsMapOverviewCanvas::destinationSrsChanged(), QgsComposerMap::draw(), and readXML().
Q_DECL_DEPRECATED void QgsMapRenderer::setDestinationSrs | ( | const QgsCoordinateReferenceSystem & | srs | ) | [inline] |
sets destination coordinate reference system
Definition at line 186 of file qgsmaprenderer.h.
bool QgsMapRenderer::setExtent | ( | const QgsRectangle & | extent | ) |
sets extent and checks whether suitable (returns false if not)
Definition at line 87 of file qgsmaprenderer.cpp.
References adjustExtentToSize(), extent(), QgsRectangle::height(), QgsRectangle::isEmpty(), mExtent, mLastExtent, QgsRectangle::width(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by QgsComposerMap::draw(), readXML(), setDestinationCrs(), QgsMapCanvas::setExtent(), QgsMapOverviewCanvas::updateFullExtent(), QgsMapCanvas::zoomToNextExtent(), and QgsMapCanvas::zoomToPreviousExtent().
void QgsMapRenderer::setLabelingEngine | ( | QgsLabelingEngineInterface * | iface | ) |
Set labeling engine.
Previous engine (if any) is deleted. Takes ownership of the engine. Added in QGIS v1.4
Definition at line 1109 of file qgsmaprenderer.cpp.
References mLabelingEngine.
Referenced by QgsComposerMap::draw().
void QgsMapRenderer::setLayerSet | ( | const QStringList & | layers | ) |
change current layer set
Definition at line 922 of file qgsmaprenderer.cpp.
References mLayerSet, QgsDebugMsg, and updateFullExtent().
Referenced by QgsComposerMap::draw(), QgsMapOverviewCanvas::setLayerSet(), and QgsMapCanvas::setLayerSet().
void QgsMapRenderer::setMapUnits | ( | QGis::UnitType | u | ) |
Definition at line 637 of file qgsmaprenderer.cpp.
References mapUnitsChanged(), mScaleCalculator, QgsScaleCalculator::setMapUnits(), and updateScale().
Referenced by QgsMapRenderer(), readXML(), and QgsMapCanvas::setMapUnits().
void QgsMapRenderer::setOutputSize | ( | QSize | size, |
int | dpi | ||
) |
Definition at line 129 of file qgsmaprenderer.cpp.
References adjustExtentToSize(), mScaleCalculator, mSize, and QgsScaleCalculator::setDpi().
Referenced by QgsComposerMap::draw(), QgsMapOverviewCanvas::paintEvent(), QgsQuickPrint::printMap(), and QgsMapCanvasMap::resize().
void QgsMapRenderer::setOutputSize | ( | QSizeF | size, |
double | dpi | ||
) |
Definition at line 136 of file qgsmaprenderer.cpp.
References adjustExtentToSize(), mScaleCalculator, mSize, QgsScaleCalculator::setDpi(), and size.
void QgsMapRenderer::setOutputUnits | ( | OutputUnits | u | ) | [inline] |
Definition at line 200 of file qgsmaprenderer.h.
void QgsMapRenderer::setProjectionsEnabled | ( | bool | enabled | ) |
sets whether to use projections for this layer set
Definition at line 661 of file qgsmaprenderer.cpp.
References hasCrsTransformEnabled(), mDistArea, mLastExtent, mProjectionsEnabled, QgsDebugMsg, QgsRectangle::setMinimal(), QgsDistanceArea::setProjectionsEnabled(), and updateFullExtent().
Referenced by QgsComposerMap::draw(), QgsMapOverviewCanvas::hasCrsTransformEnabled(), and readXML().
void QgsMapRenderer::setScale | ( | double | scale | ) | [inline] |
Sets scale for scale based visibility.
Normally, the scale is calculated automatically. This function is only used to force a preview scale (e.g. for print composer)
Definition at line 137 of file qgsmaprenderer.h.
Referenced by QgsComposerMap::draw().
bool QgsMapRenderer::splitLayersExtent | ( | QgsMapLayer * | layer, |
QgsRectangle & | extent, | ||
QgsRectangle & | r2 | ||
) | [protected] |
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.
Modifies the given extent to be in the source CRS coordinates, and if it was split, returns true, and also sets the contents of the r2 parameter
Definition at line 716 of file qgsmaprenderer.cpp.
References extent(), QgsCoordinateReferenceSystem::geographicFlag(), hasCrsTransformEnabled(), mCachedTr, QgsDebugMsg, QgsCoordinateTransform::ReverseTransform, QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsCoordinateTransform::sourceCrs(), tr(), QgsCoordinateTransform::transform(), QgsCoordinateTransform::transformBoundingBox(), QgsPoint::x(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by render().
QgsCoordinateTransform * QgsMapRenderer::tr | ( | QgsMapLayer * | layer | ) | [private] |
Definition at line 1117 of file qgsmaprenderer.cpp.
References cachedLayerDestroyed(), QgsMapLayer::crs(), invalidateCachedLayerCrs(), mCachedTr, mCachedTrForLayer, and mDestCRS.
Referenced by layerExtentToOutputExtent(), layerToMapCoordinates(), mapToLayerCoordinates(), and splitLayersExtent().
void QgsMapRenderer::updateFullExtent | ( | ) |
updates extent of the layer set
Definition at line 853 of file qgsmaprenderer.cpp.
References QgsMapLayer::extent(), extent(), QgsRectangle::height(), QgsMapLayerRegistry::instance(), layerExtentToOutputExtent(), QgsMapLayerRegistry::mapLayer(), mFullExtent, mLayerSet, QgsMapLayer::name(), QgsDebugMsg, QgsRectangle::set(), QgsRectangle::setMinimal(), QgsRectangle::toString(), QgsRectangle::unionRect(), QgsRectangle::width(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by fullExtent(), setDestinationCrs(), setLayerSet(), setProjectionsEnabled(), and QgsMapCanvas::updateFullExtent().
void QgsMapRenderer::updateMap | ( | ) | [signal] |
Referenced by onDrawingProgress().
void QgsMapRenderer::updateScale | ( | ) |
Recalculate the map scale.
Definition at line 82 of file qgsmaprenderer.cpp.
References QgsScaleCalculator::calculate(), mExtent, mScale, mScaleCalculator, and mSize.
Referenced by adjustExtentToSize(), and setMapUnits().
int QgsMapRenderer::width | ( | ) | const [inline] |
Definition at line 140 of file qgsmaprenderer.h.
bool QgsMapRenderer::writeXML | ( | QDomNode & | theNode, |
QDomDocument & | theDoc | ||
) |
write settings
Definition at line 1040 of file qgsmaprenderer.cpp.
References QGis::Degrees, destinationCrs(), extent(), QGis::Feet, hasCrsTransformEnabled(), mapUnits(), QGis::Meters, QGis::UnknownUnit, QgsCoordinateReferenceSystem::writeXML(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by QgsMapCanvas::writeProject().
QgsCoordinateTransform* QgsMapRenderer::mCachedTr [private] |
Definition at line 333 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), splitLayersExtent(), tr(), and ~QgsMapRenderer().
QgsMapLayer* QgsMapRenderer::mCachedTrForLayer [private] |
Definition at line 334 of file qgsmaprenderer.h.
Referenced by cachedLayerDestroyed(), invalidateCachedLayerCrs(), QgsMapRenderer(), and tr().
QgsCoordinateReferenceSystem* QgsMapRenderer::mDestCRS [protected] |
destination spatial reference system of the projection
Definition at line 308 of file qgsmaprenderer.h.
Referenced by destinationCrs(), QgsMapRenderer(), render(), setDestinationCrs(), tr(), and ~QgsMapRenderer().
QgsDistanceArea* QgsMapRenderer::mDistArea [protected] |
tool for measuring
Definition at line 317 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), setDestinationCrs(), setProjectionsEnabled(), and ~QgsMapRenderer().
bool QgsMapRenderer::mDrawing = false [static, protected] |
indicates drawing in progress
Definition at line 278 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), and render().
QgsRectangle QgsMapRenderer::mExtent [protected] |
current extent to be drawn
Definition at line 290 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), extent(), render(), setDestinationCrs(), setExtent(), and updateScale().
QgsRectangle QgsMapRenderer::mFullExtent [protected] |
full extent of the layer set
Definition at line 314 of file qgsmaprenderer.h.
Referenced by fullExtent(), and updateFullExtent().
Labeling engine (NULL by default)
Definition at line 326 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), render(), setLabelingEngine(), and ~QgsMapRenderer().
QgsRectangle QgsMapRenderer::mLastExtent [protected] |
Last extent to we drew so we know if we can used layer render caching or not.
Note there are no accessors for this as it is intended to internal use only.
Definition at line 297 of file qgsmaprenderer.h.
Referenced by render(), setExtent(), and setProjectionsEnabled().
QStringList QgsMapRenderer::mLayerSet [protected] |
stores array of layers to be rendered (identified by string)
Definition at line 311 of file qgsmaprenderer.h.
Referenced by layerSet(), render(), setLayerSet(), and updateFullExtent().
double QgsMapRenderer::mMapUnitsPerPixel [protected] |
map units per pixel
Definition at line 281 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize().
OutputUnits QgsMapRenderer::mOutputUnits [protected] |
Output units.
Definition at line 323 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), and render().
bool QgsMapRenderer::mOverview [protected] |
indicates whether it's map image for overview
Definition at line 300 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), and render().
bool QgsMapRenderer::mProjectionsEnabled [protected] |
detemines whether on the fly projection support is enabled
Definition at line 305 of file qgsmaprenderer.h.
Referenced by hasCrsTransformEnabled(), QgsMapRenderer(), and setProjectionsEnabled().
QgsRenderContext QgsMapRenderer::mRenderContext [protected] |
Encapsulates context of rendering.
Definition at line 320 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), and render().
QMutex QgsMapRenderer::mRenderMutex [protected] |
Locks rendering loop for concurrent draws.
Definition at line 329 of file qgsmaprenderer.h.
Referenced by render().
double QgsMapRenderer::mScale [protected] |
Map scale at its current zool level.
Definition at line 284 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), render(), and updateScale().
QgsScaleCalculator* QgsMapRenderer::mScaleCalculator [protected] |
scale calculator
Definition at line 287 of file qgsmaprenderer.h.
Referenced by mapUnits(), outputDpi(), QgsMapRenderer(), render(), setMapUnits(), setOutputSize(), updateScale(), and ~QgsMapRenderer().
QSizeF QgsMapRenderer::mSize [protected] |
Definition at line 302 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), outputSize(), outputSizeF(), QgsMapRenderer(), render(), setOutputSize(), and updateScale().