17#ifndef QGSCOORDINATETRANSFORM_H
18#define QGSCOORDINATETRANSFORM_H
27#include <QExplicitlySharedDataPointer>
29class QgsCoordinateTransformPrivate;
323 void transformInPlace( QVector<float> &x, QVector<float> &y, QVector<float> &z,
339 void transformInPlace( QVector<double> &x, QVector<double> &y, QVector<double> &z,
618 SIP_PYOBJECT __repr__();
620 QString str = QStringLiteral(
"<QgsCoordinateTransform: %1 to %2>" ).arg( sipCpp->sourceCrs().isValid() ? sipCpp->sourceCrs().authid() : QStringLiteral(
"NULL" ),
621 sipCpp->destinationCrs().isValid() ? sipCpp->destinationCrs().authid() : QStringLiteral(
"NULL" ) );
622 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
679 const QString &error )> &handler );
706 const QString &desiredOperation )> &handler );
725 static void removeFromCacheObjectsBelongingToCurrentThread(
void *pj_context );
728 mutable QExplicitlySharedDataPointer<QgsCoordinateTransformPrivate> d;
734 bool mHasContext =
false;
737 mutable QString mLastError;
738 bool mIgnoreImpossible =
false;
739 bool mBallparkTransformsAreAppropriate =
false;
740 bool mDisableFallbackHandler =
false;
741 mutable bool mFallbackOperationOccurred =
false;
745 const QString &coordinateOperationProj,
bool allowFallback );
750 static QReadWriteLock sCacheLock;
760 static bool sDisableCache;
765 const QString &desiredOperation )> sFallbackOperationOccurredHandler;
775 QString mySummary( QStringLiteral(
"\n%%%%%%%%%%%%%%%%%%%%%%%%\nCoordinate Transform def begins:" ) );
776 mySummary += QLatin1String(
"\n\tInitialized? : " );
792 mySummary +=
"\n\tShort Circuit? : ";
802 mySummary +=
"\n\tSource Spatial Ref Sys : ";
809 mySummary +=
"Undefined";
812 mySummary +=
"\n\tDest Spatial Ref Sys : ";
815 mySummary << r.destCRS();
819 mySummary +=
"Undefined";
823 mySummary += QLatin1String(
"\nCoordinate Transform def ends \n%%%%%%%%%%%%%%%%%%%%%%%%\n" );
824 return os << mySummary.toLocal8Bit().data() << std::endl;
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
TransformDirection
Indicates the direction (forward or inverse) of a transform.
@ Forward
Forward transform (from source to destination).
Represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
Custom exception class for Coordinate Reference System related exceptions.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
A rectangle specified with double values.
A 3D vector (similar to QVector3D) with the difference that it uses double precision instead of singl...
#define SIP_THROW(name,...)
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)