17#ifndef QGSCOORDINATETRANSFORM_H
18#define QGSCOORDINATETRANSFORM_H
27#include <QExplicitlySharedDataPointer>
30using namespace Qt::StringLiterals;
32class QgsCoordinateTransformPrivate;
641 SIP_PYOBJECT __repr__();
643 QString str = u
"<QgsCoordinateTransform: %1 to %2>"_s.arg( sipCpp->sourceCrs().isValid() ? sipCpp->sourceCrs().authid() : u
"NULL"_s,
644 sipCpp->destinationCrs().isValid() ? sipCpp->destinationCrs().authid() : u
"NULL"_s );
645 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
685 const std::function<
void(
748 static void removeFromCacheObjectsBelongingToCurrentThread(
void *pj_context );
751 mutable QExplicitlySharedDataPointer<QgsCoordinateTransformPrivate> d;
757 bool mHasContext =
false;
760 mutable QString mLastError;
761 bool mIgnoreImpossible =
false;
762 bool mBallparkTransformsAreAppropriate =
false;
763 bool mDisableFallbackHandler =
false;
764 mutable bool mFallbackOperationOccurred =
false;
771 static QReadWriteLock sCacheLock;
781 static bool sDisableCache;
793 QString mySummary( u
"\n%%%%%%%%%%%%%%%%%%%%%%%%\nCoordinate Transform def begins:"_s );
794 mySummary +=
"\n\tInitialized? : "_L1;
810 mySummary +=
"\n\tShort Circuit? : ";
820 mySummary +=
"\n\tSource Spatial Ref Sys : ";
827 mySummary +=
"Undefined";
830 mySummary +=
"\n\tDest Spatial Ref Sys : ";
833 mySummary << r.destCRS();
837 mySummary +=
"Undefined";
841 mySummary +=
"\nCoordinate Transform def ends \n%%%%%%%%%%%%%%%%%%%%%%%%\n"_L1;
842 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).
A 3-dimensional box composed of x, y, z coordinates.
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)