[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