mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-28 00:17:30 -05:00
Add vertex information for QgsPointLocator::MiddleOfSegment in order to use Match::interpolatedPoint method
This commit is contained in:
parent
4fa41bf62d
commit
3eec50ea62
@ -228,7 +228,7 @@ class QgsPointLocator_VisitorNearestMiddleOfSegment: public IVisitor
|
||||
edgePoints[1] = geom->vertexAt( afterVertex );
|
||||
pt = QgsPointXY( ( edgePoints[0].x() + edgePoints[1].x() ) / 2.0, ( edgePoints[0].y() + edgePoints[1].y() ) / 2.0 );
|
||||
|
||||
QgsPointLocator::Match m( QgsPointLocator::MiddleOfSegment, mLocator->mLayer, id, std::sqrt( mSrcPoint.sqrDist( pt ) ), pt, -1 );
|
||||
QgsPointLocator::Match m( QgsPointLocator::MiddleOfSegment, mLocator->mLayer, id, std::sqrt( mSrcPoint.sqrDist( pt ) ), pt, afterVertex - 1 );
|
||||
// in range queries the filter may reject some matches
|
||||
if ( mFilter && !mFilter->acceptMatch( m ) )
|
||||
return;
|
||||
@ -659,7 +659,7 @@ class QgsPointLocator_VisitorMiddlesInRect : public IVisitor
|
||||
QgsPointXY pt( ( ( *itPrevious ).x() + ( *it ).x() ) / 2.0, ( ( *itPrevious ).y() + ( *it ).y() ) / 2.0 );
|
||||
if ( mSrcRect.contains( pt ) )
|
||||
{
|
||||
QgsPointLocator::Match m( QgsPointLocator::MiddleOfSegment, mLocator->mLayer, id, 0, pt, -1 );
|
||||
QgsPointLocator::Match m( QgsPointLocator::MiddleOfSegment, mLocator->mLayer, id, 0, pt, geom->vertexNrFromVertexId( it.vertexId() ) );
|
||||
|
||||
// in range queries the filter may reject some matches
|
||||
if ( mFilter && !mFilter->acceptMatch( m ) )
|
||||
|
Loading…
x
Reference in New Issue
Block a user