QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
Public Member Functions | Protected Attributes | List of all members
QgsPointLocator::Match Struct Reference

#include <qgspointlocator.h>

Public Member Functions

 Match ()=default
 construct invalid match More...
 
 Match (QgsPointLocator::Type t, QgsVectorLayer *vl, QgsFeatureId fid, double dist, const QgsPointXY &pt, int vertexIndex=0, QgsPointXY *edgePoints=nullptr)
 
double distance () const
 for vertex / edge match units depending on what class returns it (geom.cache: layer units, map canvas snapper: dest crs units) More...
 
void edgePoints (QgsPointXY &pt1, QgsPointXY &pt2) const
 Only for a valid edge match - obtain endpoints of the edge. More...
 
QgsFeatureId featureId () const
 The id of the feature to which the snapped geometry belongs. More...
 
bool hasArea () const
 Returns true if the Match is an area. More...
 
bool hasCentroid () const
 Returns true if the Match is a centroid. More...
 
bool hasEdge () const
 Returns true if the Match is an edge. More...
 
bool hasMiddleSegment () const
 Returns true if the Match is the middle of a segment. More...
 
bool hasVertex () const
 Returns true if the Match is a vertex. More...
 
QgsPoint interpolatedPoint () const
 Convenient method to return a point on an edge with linear interpolation of the Z value. More...
 
bool isValid () const
 
QgsVectorLayerlayer () const
 The vector layer where the snap occurred. More...
 
bool operator== (const QgsPointLocator::Match &other) const
 
QgsPointXY point () const
 for vertex / edge match coords depending on what class returns it (geom.cache: layer coords, map canvas snapper: dest coords) More...
 
QgsPointLocator::Type type () const
 
int vertexIndex () const
 for vertex / edge match (first vertex of the edge) More...
 

Protected Attributes

QgsPointXY mCentroid
 
double mDist = 0
 
QgsPointXY mEdgePoints [2]
 
QgsFeatureId mFid = 0
 
QgsVectorLayermLayer = nullptr
 
QgsPointXY mMiddleOfSegment
 
QgsPointXY mPoint
 
Type mType = Invalid
 
int mVertexIndex = 0
 

Detailed Description

Definition at line 184 of file qgspointlocator.h.

Constructor & Destructor Documentation

◆ Match() [1/2]

QgsPointLocator::Match::Match ( )
default

construct invalid match

◆ Match() [2/2]

QgsPointLocator::Match::Match ( QgsPointLocator::Type  t,
QgsVectorLayer vl,
QgsFeatureId  fid,
double  dist,
const QgsPointXY pt,
int  vertexIndex = 0,
QgsPointXY edgePoints = nullptr 
)
inline

Definition at line 189 of file qgspointlocator.h.

Member Function Documentation

◆ distance()

double QgsPointLocator::Match::distance ( ) const
inline

for vertex / edge match units depending on what class returns it (geom.cache: layer units, map canvas snapper: dest crs units)

Definition at line 222 of file qgspointlocator.h.

◆ edgePoints()

void QgsPointLocator::Match::edgePoints ( QgsPointXY pt1,
QgsPointXY pt2 
) const
inline

Only for a valid edge match - obtain endpoints of the edge.

Definition at line 245 of file qgspointlocator.h.

◆ featureId()

QgsFeatureId QgsPointLocator::Match::featureId ( ) const
inline

The id of the feature to which the snapped geometry belongs.

Definition at line 242 of file qgspointlocator.h.

◆ hasArea()

bool QgsPointLocator::Match::hasArea ( ) const
inline

Returns true if the Match is an area.

Definition at line 214 of file qgspointlocator.h.

◆ hasCentroid()

bool QgsPointLocator::Match::hasCentroid ( ) const
inline

Returns true if the Match is a centroid.

Definition at line 212 of file qgspointlocator.h.

◆ hasEdge()

bool QgsPointLocator::Match::hasEdge ( ) const
inline

Returns true if the Match is an edge.

Definition at line 210 of file qgspointlocator.h.

◆ hasMiddleSegment()

bool QgsPointLocator::Match::hasMiddleSegment ( ) const
inline

Returns true if the Match is the middle of a segment.

Definition at line 216 of file qgspointlocator.h.

◆ hasVertex()

bool QgsPointLocator::Match::hasVertex ( ) const
inline

Returns true if the Match is a vertex.

Definition at line 208 of file qgspointlocator.h.

◆ interpolatedPoint()

QgsPoint QgsPointLocator::Match::interpolatedPoint ( ) const
inline

Convenient method to return a point on an edge with linear interpolation of the Z value.

Since
3.10

Definition at line 256 of file qgspointlocator.h.

◆ isValid()

bool QgsPointLocator::Match::isValid ( ) const
inline

Definition at line 206 of file qgspointlocator.h.

◆ layer()

QgsVectorLayer* QgsPointLocator::Match::layer ( ) const
inline

The vector layer where the snap occurred.

Will be nullptr if the snap happened on an intersection.

Definition at line 237 of file qgspointlocator.h.

◆ operator==()

bool QgsPointLocator::Match::operator== ( const QgsPointLocator::Match other) const
inline

Definition at line 269 of file qgspointlocator.h.

◆ point()

QgsPointXY QgsPointLocator::Match::point ( ) const
inline

for vertex / edge match coords depending on what class returns it (geom.cache: layer coords, map canvas snapper: dest coords)

Definition at line 228 of file qgspointlocator.h.

◆ type()

QgsPointLocator::Type QgsPointLocator::Match::type ( ) const
inline

Definition at line 204 of file qgspointlocator.h.

◆ vertexIndex()

int QgsPointLocator::Match::vertexIndex ( ) const
inline

for vertex / edge match (first vertex of the edge)

Definition at line 231 of file qgspointlocator.h.

Member Data Documentation

◆ mCentroid

QgsPointXY QgsPointLocator::Match::mCentroid
protected

Definition at line 290 of file qgspointlocator.h.

◆ mDist

double QgsPointLocator::Match::mDist = 0
protected

Definition at line 284 of file qgspointlocator.h.

◆ mEdgePoints

QgsPointXY QgsPointLocator::Match::mEdgePoints[2]
protected

Definition at line 289 of file qgspointlocator.h.

◆ mFid

QgsFeatureId QgsPointLocator::Match::mFid = 0
protected

Definition at line 287 of file qgspointlocator.h.

◆ mLayer

QgsVectorLayer* QgsPointLocator::Match::mLayer = nullptr
protected

Definition at line 286 of file qgspointlocator.h.

◆ mMiddleOfSegment

QgsPointXY QgsPointLocator::Match::mMiddleOfSegment
protected

Definition at line 291 of file qgspointlocator.h.

◆ mPoint

QgsPointXY QgsPointLocator::Match::mPoint
protected

Definition at line 285 of file qgspointlocator.h.

◆ mType

Type QgsPointLocator::Match::mType = Invalid
protected

Definition at line 283 of file qgspointlocator.h.

◆ mVertexIndex

int QgsPointLocator::Match::mVertexIndex = 0
protected

Definition at line 288 of file qgspointlocator.h.


The documentation for this struct was generated from the following file: