Quantum GIS API Documentation
1.7.4
|
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 | |
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) |
starts rendering | |
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) | |
Static Protected Attributes | |
static bool | mDrawing = false |
indicates drawing in progress |
A non GUI class for rendering a map layer set onto a QPainter.
Definition at line 100 of file qgsmaprenderer.h.
Output units for pen width and point marker width/height.
Definition at line 107 of file qgsmaprenderer.h.
constructor
Definition at line 43 of file qgsmaprenderer.cpp.
References QGis::Degrees, GEOCRS_ID, QgsCoordinateReferenceSystem::InternalCrsId, mDestCRS, mDistArea, mDrawing, Millimeters, mLabelingEngine, mOutputUnits, mOverview, mProjectionsEnabled, mScaleCalculator, mSize, and setMapUnits().
destructor
Definition at line 64 of file qgsmaprenderer.cpp.
References mDestCRS, mDistArea, mLabelingEngine, and mScaleCalculator.
void QgsMapRenderer::adjustExtentToSize | ( | ) | [protected] |
adjust extent to fit the pixmap size
Definition at line 154 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().
const QgsMapToPixel* QgsMapRenderer::coordinateTransform | ( | ) | [inline] |
Definition at line 129 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 676 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 189 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 150 of file qgsmaprenderer.h.
Referenced by QgsMapOverviewCanvas::QgsMapOverviewCanvas().
QgsRectangle QgsMapRenderer::extent | ( | ) | const |
returns current extent
Definition at line 73 of file qgsmaprenderer.cpp.
References mExtent.
Referenced by QgsComposerMap::composerMapPosForItem(), QgsComposerMap::drawCanvasItem(), QgsMapCanvas::extent(), QgsMapCanvas::keyPressEvent(), layerExtentToOutputExtent(), QgsMapCanvas::panActionEnd(), QgsComposerMap::QgsComposerMap(), QgsMapCanvas::saveAsImage(), setExtent(), splitLayersExtent(), updateFullExtent(), QgsMapCanvas::wheelEvent(), writeXML(), QgsMapCanvas::zoomByFactor(), and QgsMapCanvas::zoomWithCenter().
returns current extent of layer set
Definition at line 890 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 657 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 138 of file qgsmaprenderer.h.
QgsLabelingEngineInterface* QgsMapRenderer::labelingEngine | ( | ) | [inline] |
Labeling engine (NULL if there's no custom engine)
Definition at line 224 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 742 of file qgsmaprenderer.cpp.
References QgsMapLayer::crs(), extent(), hasCrsTransformEnabled(), mDestCRS, QgsDebugMsg, and QgsException::what().
Referenced by updateFullExtent(), and QgsMapCanvas::zoomToSelected().
QStringList & QgsMapRenderer::layerSet | ( | ) |
returns current layer set
Definition at line 902 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 765 of file qgsmaprenderer.cpp.
References QgsMapLayer::crs(), QgsCoordinateTransform::ForwardTransform, hasCrsTransformEnabled(), mDestCRS, QgsDebugMsg, 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 787 of file qgsmaprenderer.cpp.
References QgsMapLayer::crs(), hasCrsTransformEnabled(), mDestCRS, QgsDebugMsg, QgsCoordinateTransform::ReverseTransform, and QgsException::what().
Referenced by 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 809 of file qgsmaprenderer.cpp.
References QgsMapLayer::crs(), hasCrsTransformEnabled(), mDestCRS, QgsDebugMsg, QgsCoordinateTransform::ReverseTransform, and QgsException::what().
QGis::UnitType QgsMapRenderer::mapUnits | ( | ) | const |
Definition at line 631 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 135 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 636 of file qgsmaprenderer.cpp.
References updateMap().
Referenced by render().
double QgsMapRenderer::outputDpi | ( | ) |
accessor for output dpi
Definition at line 139 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 144 of file qgsmaprenderer.cpp.
References mSize.
Referenced by QgsQuickPrint::printMap().
QSizeF QgsMapRenderer::outputSizeF | ( | ) |
Definition at line 149 of file qgsmaprenderer.cpp.
References mSize.
OutputUnits QgsMapRenderer::outputUnits | ( | ) | const [inline] |
Definition at line 199 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 907 of file qgsmaprenderer.cpp.
References QgsPALObjectPositionManager::setPlacementAlgorithm().
Referenced by render().
bool QgsMapRenderer::readXML | ( | QDomNode & | theNode | ) |
read settings
Definition at line 943 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 | ) |
starts rendering
Definition at line 216 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, mScale, mScaleCalculator, mSize, QgsMapLayer::name(), onDrawingProgress(), overlayManagerFromSettings(), QgsRenderContext::painter(), QgsDebugMsg, QgsMapLayer::RasterLayer, QgsRenderContext::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 220 of file qgsmaprenderer.h.
Referenced by QgsComposerMap::draw(), QgsMapCanvas::paintEvent(), and QgsMapCanvas::setRenderFlag().
double QgsMapRenderer::scale | ( | ) | const [inline] |
Definition at line 131 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 662 of file qgsmaprenderer.cpp.
References destinationSrsChanged(), mDestCRS, mDistArea, QgsDebugMsg, QgsDistanceArea::setSourceCrs(), QgsCoordinateReferenceSystem::srsid(), QgsCoordinateReferenceSystem::toProj4(), 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 183 of file qgsmaprenderer.h.
bool QgsMapRenderer::setExtent | ( | const QgsRectangle & | extent | ) |
sets extent and checks whether suitable (returns false if not)
Definition at line 83 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(), 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 1084 of file qgsmaprenderer.cpp.
References mLabelingEngine.
Referenced by QgsComposerMap::draw().
void QgsMapRenderer::setLayerSet | ( | const QStringList & | layers | ) |
change current layer set
Definition at line 896 of file qgsmaprenderer.cpp.
References mLayerSet, and updateFullExtent().
Referenced by QgsComposerMap::draw(), QgsMapOverviewCanvas::setLayerSet(), and QgsMapCanvas::setLayerSet().
void QgsMapRenderer::setMapUnits | ( | QGis::UnitType | u | ) |
Definition at line 621 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 125 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 132 of file qgsmaprenderer.cpp.
References adjustExtentToSize(), mScaleCalculator, mSize, and QgsScaleCalculator::setDpi().
void QgsMapRenderer::setOutputUnits | ( | OutputUnits | u | ) | [inline] |
Definition at line 197 of file qgsmaprenderer.h.
void QgsMapRenderer::setProjectionsEnabled | ( | bool | enabled | ) |
sets whether to use projections for this layer set
Definition at line 645 of file qgsmaprenderer.cpp.
References hasCrsTransformEnabled(), mDistArea, mProjectionsEnabled, QgsDebugMsg, 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 134 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 685 of file qgsmaprenderer.cpp.
References QgsMapLayer::crs(), extent(), hasCrsTransformEnabled(), mDestCRS, QgsDebugMsg, QgsCoordinateTransform::ReverseTransform, QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsPoint::x(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by render().
void QgsMapRenderer::updateFullExtent | ( | ) |
updates extent of the layer set
Definition at line 828 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 78 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 137 of file qgsmaprenderer.h.
bool QgsMapRenderer::writeXML | ( | QDomNode & | theNode, |
QDomDocument & | theDoc | ||
) |
write settings
Definition at line 1015 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().
QgsCoordinateReferenceSystem* QgsMapRenderer::mDestCRS [protected] |
destination spatial reference system of the projection
Definition at line 301 of file qgsmaprenderer.h.
Referenced by destinationCrs(), layerExtentToOutputExtent(), layerToMapCoordinates(), mapToLayerCoordinates(), QgsMapRenderer(), render(), setDestinationCrs(), splitLayersExtent(), and ~QgsMapRenderer().
QgsDistanceArea* QgsMapRenderer::mDistArea [protected] |
tool for measuring
Definition at line 310 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), setDestinationCrs(), setProjectionsEnabled(), and ~QgsMapRenderer().
bool QgsMapRenderer::mDrawing = false [static, protected] |
indicates drawing in progress
Definition at line 271 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), and render().
QgsRectangle QgsMapRenderer::mExtent [protected] |
current extent to be drawn
Definition at line 283 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), extent(), render(), setExtent(), and updateScale().
QgsRectangle QgsMapRenderer::mFullExtent [protected] |
full extent of the layer set
Definition at line 307 of file qgsmaprenderer.h.
Referenced by fullExtent(), and updateFullExtent().
Labeling engine (NULL by default)
Definition at line 319 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 290 of file qgsmaprenderer.h.
Referenced by render(), and setExtent().
QStringList QgsMapRenderer::mLayerSet [protected] |
stores array of layers to be rendered (identified by string)
Definition at line 304 of file qgsmaprenderer.h.
Referenced by layerSet(), render(), setLayerSet(), and updateFullExtent().
double QgsMapRenderer::mMapUnitsPerPixel [protected] |
map units per pixel
Definition at line 274 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize().
OutputUnits QgsMapRenderer::mOutputUnits [protected] |
Output units.
Definition at line 316 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), and render().
bool QgsMapRenderer::mOverview [protected] |
indicates whether it's map image for overview
Definition at line 293 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 298 of file qgsmaprenderer.h.
Referenced by hasCrsTransformEnabled(), QgsMapRenderer(), and setProjectionsEnabled().
QgsRenderContext QgsMapRenderer::mRenderContext [protected] |
Encapsulates context of rendering.
Definition at line 313 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), and render().
double QgsMapRenderer::mScale [protected] |
Map scale at its current zool level.
Definition at line 277 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), render(), and updateScale().
QgsScaleCalculator* QgsMapRenderer::mScaleCalculator [protected] |
scale calculator
Definition at line 280 of file qgsmaprenderer.h.
Referenced by mapUnits(), outputDpi(), QgsMapRenderer(), render(), setMapUnits(), setOutputSize(), updateScale(), and ~QgsMapRenderer().
QSizeF QgsMapRenderer::mSize [protected] |
Definition at line 295 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), outputSize(), outputSizeF(), QgsMapRenderer(), render(), setOutputSize(), and updateScale().