mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
added layerToMapCoordinates for rectangles, and more detailed comments
This commit is contained in:
parent
33d13ccca7
commit
42fc689e60
@ -152,19 +152,44 @@ class QgsMapRenderer : QObject
|
||||
QSize outputSize();
|
||||
QSizeF outputSizeF();
|
||||
|
||||
//! transform extent in layer's CRS to extent in output CRS
|
||||
/**
|
||||
* @brief transform bounding box from layer's CRS to output CRS
|
||||
* @see layerToMapCoordinates( QgsMapLayer* theLayer, QgsRectangle rect ) if you want to transform a rectangle
|
||||
* @return a bounding box (aligned rectangle) containing the transformed extent
|
||||
*/
|
||||
QgsRectangle layerExtentToOutputExtent( QgsMapLayer* theLayer, QgsRectangle extent );
|
||||
|
||||
//! transform extent in output CRS to extent in layer's CRS
|
||||
/**
|
||||
* @brief transform bounding box from output CRS to layer's CRS
|
||||
* @see mapToLayerCoordinates( QgsMapLayer* theLayer,QgsRectangle rect ) if you want to transform a rectangle
|
||||
* @return a bounding box (aligned rectangle) containing the transformed extent
|
||||
*/
|
||||
QgsRectangle outputExtentToLayerExtent( QgsMapLayer* theLayer, QgsRectangle extent );
|
||||
|
||||
//! transform coordinates from layer's CRS to output CRS
|
||||
/**
|
||||
* @brief transform point coordinates from layer's CRS to output CRS
|
||||
* @return the transformed point
|
||||
*/
|
||||
QgsPoint layerToMapCoordinates( QgsMapLayer* theLayer, QgsPoint point );
|
||||
|
||||
//! transform coordinates from output CRS to layer's CRS
|
||||
/**
|
||||
* @brief transform rectangle from layer's CRS to output CRS
|
||||
* @see layerExtentToOutputExtent() if you want to transform a bounding box
|
||||
* @return the transformed rectangle
|
||||
*/
|
||||
QgsRectangle layerToMapCoordinates( QgsMapLayer* theLayer, QgsRectangle rect );
|
||||
|
||||
/**
|
||||
* @brief transform point coordinates from output CRS to layer's CRS
|
||||
* @return the transformed point
|
||||
*/
|
||||
QgsPoint mapToLayerCoordinates( QgsMapLayer* theLayer, QgsPoint point );
|
||||
|
||||
//! transform rect's coordinates from output CRS to layer's CRS
|
||||
/**
|
||||
* @brief transform rectangle from output CRS to layer's CRS
|
||||
* @see outputExtentToLayerExtent() if you want to transform a bounding box
|
||||
* @return the transformed rectangle
|
||||
*/
|
||||
QgsRectangle mapToLayerCoordinates( QgsMapLayer* theLayer, QgsRectangle rect );
|
||||
|
||||
//! sets whether to use projections for this layer set
|
||||
|
@ -877,8 +877,7 @@ QgsPoint QgsMapRenderer::layerToMapCoordinates( QgsMapLayer* theLayer, QgsPoint
|
||||
}
|
||||
catch ( QgsCsException &cse )
|
||||
{
|
||||
Q_UNUSED( cse );
|
||||
QgsDebugMsg( QString( "Transform error caught: %1" ).arg( cse.what() ) );
|
||||
QgsMessageLog::logMessage( QString( "Transform error caught: %1" ).arg( cse.what() ) );
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -888,6 +887,26 @@ QgsPoint QgsMapRenderer::layerToMapCoordinates( QgsMapLayer* theLayer, QgsPoint
|
||||
return point;
|
||||
}
|
||||
|
||||
QgsRectangle QgsMapRenderer::layerToMapCoordinates( QgsMapLayer* theLayer, QgsRectangle rect )
|
||||
{
|
||||
if ( hasCrsTransformEnabled() )
|
||||
{
|
||||
try
|
||||
{
|
||||
rect = tr( theLayer )->transform( rect, QgsCoordinateTransform::ForwardTransform );
|
||||
}
|
||||
catch ( QgsCsException &cse )
|
||||
{
|
||||
QgsMessageLog::logMessage( QString( "Transform error caught: %1" ).arg( cse.what() ) );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// leave point without transformation
|
||||
}
|
||||
return rect;
|
||||
}
|
||||
|
||||
QgsPoint QgsMapRenderer::mapToLayerCoordinates( QgsMapLayer* theLayer, QgsPoint point )
|
||||
{
|
||||
if ( hasCrsTransformEnabled() )
|
||||
@ -898,8 +917,7 @@ QgsPoint QgsMapRenderer::mapToLayerCoordinates( QgsMapLayer* theLayer, QgsPoint
|
||||
}
|
||||
catch ( QgsCsException &cse )
|
||||
{
|
||||
QgsDebugMsg( QString( "Transform error caught: %1" ).arg( cse.what() ) );
|
||||
throw cse; //let client classes know there was a transformation error
|
||||
QgsMessageLog::logMessage( QString( "Transform error caught: %1" ).arg( cse.what() ) );
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -919,8 +937,7 @@ QgsRectangle QgsMapRenderer::mapToLayerCoordinates( QgsMapLayer* theLayer, QgsRe
|
||||
}
|
||||
catch ( QgsCsException &cse )
|
||||
{
|
||||
QgsDebugMsg( QString( "Transform error caught: %1" ).arg( cse.what() ) );
|
||||
throw cse; //let client classes know there was a transformation error
|
||||
QgsMessageLog::logMessage( QString( "Transform error caught: %1" ).arg( cse.what() ) );
|
||||
}
|
||||
}
|
||||
return rect;
|
||||
|
@ -190,19 +190,44 @@ class CORE_EXPORT QgsMapRenderer : public QObject
|
||||
QSize outputSize();
|
||||
QSizeF outputSizeF();
|
||||
|
||||
//! transform extent in layer's CRS to extent in output CRS
|
||||
/**
|
||||
* @brief transform bounding box from layer's CRS to output CRS
|
||||
* @see layerToMapCoordinates( QgsMapLayer* theLayer, QgsRectangle rect ) if you want to transform a rectangle
|
||||
* @return a bounding box (aligned rectangle) containing the transformed extent
|
||||
*/
|
||||
QgsRectangle layerExtentToOutputExtent( QgsMapLayer* theLayer, QgsRectangle extent );
|
||||
|
||||
//! transform extent in output CRS to extent in layer's CRS
|
||||
/**
|
||||
* @brief transform bounding box from output CRS to layer's CRS
|
||||
* @see mapToLayerCoordinates( QgsMapLayer* theLayer,QgsRectangle rect ) if you want to transform a rectangle
|
||||
* @return a bounding box (aligned rectangle) containing the transformed extent
|
||||
*/
|
||||
QgsRectangle outputExtentToLayerExtent( QgsMapLayer* theLayer, QgsRectangle extent );
|
||||
|
||||
//! transform coordinates from layer's CRS to output CRS
|
||||
/**
|
||||
* @brief transform point coordinates from layer's CRS to output CRS
|
||||
* @return the transformed point
|
||||
*/
|
||||
QgsPoint layerToMapCoordinates( QgsMapLayer* theLayer, QgsPoint point );
|
||||
|
||||
//! transform coordinates from output CRS to layer's CRS
|
||||
/**
|
||||
* @brief transform rectangle from layer's CRS to output CRS
|
||||
* @see layerExtentToOutputExtent() if you want to transform a bounding box
|
||||
* @return the transformed rectangle
|
||||
*/
|
||||
QgsRectangle layerToMapCoordinates( QgsMapLayer* theLayer, QgsRectangle rect );
|
||||
|
||||
/**
|
||||
* @brief transform point coordinates from output CRS to layer's CRS
|
||||
* @return the transformed point
|
||||
*/
|
||||
QgsPoint mapToLayerCoordinates( QgsMapLayer* theLayer, QgsPoint point );
|
||||
|
||||
//! transform rect's coordinates from output CRS to layer's CRS
|
||||
/**
|
||||
* @brief transform rectangle from output CRS to layer's CRS
|
||||
* @see outputExtentToLayerExtent() if you want to transform a bounding box
|
||||
* @return the transformed rectangle
|
||||
*/
|
||||
QgsRectangle mapToLayerCoordinates( QgsMapLayer* theLayer, QgsRectangle rect );
|
||||
|
||||
//! sets whether to use projections for this layer set
|
||||
|
Loading…
x
Reference in New Issue
Block a user