Skip to content

Commit

Permalink
Remove fragile cached transformed destination point -- this needlessl…
Browse files Browse the repository at this point in the history
…y complicates the code
  • Loading branch information
nyalldawson authored and github-actions[bot] committed Feb 9, 2022
1 parent 0640d00 commit fbd3cfa
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 33 deletions.
11 changes: 6 additions & 5 deletions src/app/georeferencer/qgsgcpcanvasitem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -167,15 +167,16 @@ void QgsGCPCanvasItem::updatePosition()
}
else
{
if ( mDataPoint->destinationInCanvasPixels().isEmpty() )
const QgsCoordinateTransform pointToCanvasTransform( mDataPoint->destinationCrs(), mMapCanvas->mapSettings().destinationCrs(), QgsProject::instance() );
try
{
const QgsCoordinateReferenceSystem canvasCrs = mMapCanvas->mapSettings().destinationCrs();
const QgsCoordinateTransform pointToCanvasTransform( mDataPoint->destinationCrs(), canvasCrs, QgsProject::instance() );
const QgsPointXY canvasMapCoords = pointToCanvasTransform.transform( mDataPoint->destinationMapCoords() );
const QPointF canvasCoordinatesInPixels = toCanvasCoordinates( canvasMapCoords );
mDataPoint->setDestinationInCanvasPixels( canvasCoordinatesInPixels );

setPos( canvasCoordinatesInPixels );
}
setPos( mDataPoint->destinationInCanvasPixels().toQPointF() );
catch ( QgsCsException & )
{}
}
}

Expand Down
12 changes: 0 additions & 12 deletions src/app/georeferencer/qgsgeorefdatapoint.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ QgsGeorefDataPoint::QgsGeorefDataPoint( const QgsGeorefDataPoint &p )
mTransCoords = p.transCoords();
mEnabled = p.isEnabled();
mResidual = p.residual();
mDestinationInCanvasPixels = p.destinationInCanvasPixels();
mDestinationCrs = p.destinationCrs();
mId = p.id();
}
Expand Down Expand Up @@ -101,16 +100,6 @@ QgsPointXY QgsGeorefDataPoint::transCoords() const
return mTransCoords.isEmpty() ? mDestinationMapCoords : mTransCoords;
}

void QgsGeorefDataPoint::setDestinationInCanvasPixels( const QgsPointXY &p )
{
mDestinationInCanvasPixels = p;
}

QgsPointXY QgsGeorefDataPoint::destinationInCanvasPixels() const
{
return mDestinationInCanvasPixels;
}

void QgsGeorefDataPoint::setEnabled( bool enabled )
{
mEnabled = enabled;
Expand Down Expand Up @@ -179,7 +168,6 @@ void QgsGeorefDataPoint::moveTo( QPoint canvasPixels, bool isMapPlugin )
}
else
{
mDestinationInCanvasPixels = canvasPixels;
mDestinationMapCoords = mGCPDestinationItem->toMapCoordinates( canvasPixels );
if ( mSrcCanvas && mSrcCanvas->mapSettings().destinationCrs().isValid() )
mDestinationCrs = mSrcCanvas->mapSettings().destinationCrs();
Expand Down
15 changes: 0 additions & 15 deletions src/app/georeferencer/qgsgeorefdatapoint.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,6 @@ class QgsGeorefDataPoint : public QObject
QgsPointXY transCoords() const;
void setTransCoords( const QgsPointXY &p );

/**
* Returns the destination point in canvas coordinates (i.e. pixels).
*
* May be an empty point if not yet calculated.
*/
QgsPointXY destinationInCanvasPixels() const;

/**
* Sets the destination point in canvas coordinates (i.e. pixels).
*/
void setDestinationInCanvasPixels( const QgsPointXY &p );

bool isEnabled() const { return mEnabled; }
void setEnabled( bool enabled );

Expand Down Expand Up @@ -97,9 +85,6 @@ class QgsGeorefDataPoint : public QObject
QgsPointXY mDestinationMapCoords;
QgsPointXY mTransCoords;

// destination point converted to canvas coordinates (i.e. pixels)
QgsPointXY mDestinationInCanvasPixels;

int mId;
QgsCoordinateReferenceSystem mDestinationCrs;
bool mEnabled;
Expand Down
1 change: 0 additions & 1 deletion src/app/georeferencer/qgsgeorefmainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2193,7 +2193,6 @@ void QgsGeoreferencerMainWindow::invalidateCanvasCoords()
for ( int i = 0; i < count; ++i, ++j )
{
QgsGeorefDataPoint *p = mPoints.at( i );
p->setDestinationInCanvasPixels( QgsPointXY() );
p->updateCoords();
}
}

0 comments on commit fbd3cfa

Please sign in to comment.