[QGIS Commit] r9843 - branches/advanced_printing_branch2/python/gui
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Thu Dec 18 02:21:52 EST 2008
Author: mhugent
Date: 2008-12-18 02:21:51 -0500 (Thu, 18 Dec 2008)
New Revision: 9843
Added:
branches/advanced_printing_branch2/python/gui/qgsmapcanvassnapper.sip
Log:
add qgsmapcanvassnapper.sip (accidently got lost in the last merge from trunk)
Added: branches/advanced_printing_branch2/python/gui/qgsmapcanvassnapper.sip
===================================================================
--- branches/advanced_printing_branch2/python/gui/qgsmapcanvassnapper.sip (rev 0)
+++ branches/advanced_printing_branch2/python/gui/qgsmapcanvassnapper.sip 2008-12-18 07:21:51 UTC (rev 9843)
@@ -0,0 +1,45 @@
+
+/** \ingroup gui
+ * This class reads the snapping properties from the current project and
+ * configures a QgsSnapper to perform the snapping.
+ * Snapping can be done to the active layer (usefull for selecting a vertex to
+ * manipulate) or to background layers
+ */
+class QgsMapCanvasSnapper
+{
+%TypeHeaderCode
+#include <qgsmapcanvassnapper.h>
+%End
+ public:
+ /**Constructor
+ @param canvas the map canvas to snap to*/
+ QgsMapCanvasSnapper( QgsMapCanvas* canvas );
+
+ QgsMapCanvasSnapper();
+
+ ~QgsMapCanvasSnapper();
+
+ /**Does a snap to the current layer. Uses snap mode
+ QgsSnapper::SnapWithResultsForSamePosition if topological editing is enabled
+ and QgsSnapper::SnapWithOneResult_BY_SEGMENT if not. As this method is usually used to
+ find vertices/segments for editing operations, it uses the search radius for vertex
+ editing from the qgis options.
+ @param p start point of the snap (in pixel coordinates)
+ @param results list to which the results are appended
+ @param snap_to snap to vertex or to segment
+ @param snappingTol snapping tolerance. -1 means that the search radius for vertex edits is taken
+ @param excludePoints a list with (map coordinate) points that should be excluded in the snapping result. Useful e.g. for vertex moves where a vertex should not be snapped to its original position*/
+ int snapToCurrentLayer( const QPoint& p, QList<QgsSnappingResult>& results /Out/, QgsSnapper::SnappingType snap_to, double snappingTol = -1, const QList<QgsPoint>& excludePoints = QList<QgsPoint>() );
+ /**Snaps to the background layers. This method is usefull to align the features of the
+ edited layers to those of other layers (as described in the project properties).
+ Uses snap mode QgsSnapper::SnapWithOneResult. Therefore, only the
+ closest result is returned.
+ @param p start point of the snap (in pixel coordinates)
+ @param result snapped point
+ @param excludePoints a list with (map coordinate) points that should be excluded in the snapping result. Useful e.g. for vertex moves where a vertex should not be snapped to its original position
+ @return 0 in case of success*/
+ int snapToBackgroundLayers( const QPoint& p, QList<QgsSnappingResult>& results /Out/, const QList<QgsPoint>& excludePoints = QList<QgsPoint>() );
+
+ void setMapCanvas( QgsMapCanvas* canvas );
+
+};
More information about the QGIS-commit
mailing list