17#ifndef QGSCOORDINATETRANSFORMPRIVATE_H
18#define QGSCOORDINATETRANSFORMPRIVATE_H
38typedef struct PJconsts
PJ;
44class QgsCoordinateTransformPrivate :
public QSharedData
49 explicit QgsCoordinateTransformPrivate();
57 int sourceDatumTransform,
58 int destDatumTransform );
60 QgsCoordinateTransformPrivate(
const QgsCoordinateTransformPrivate &other );
62 ~QgsCoordinateTransformPrivate();
72 ProjData threadLocalProjData();
74 int mAvailableOpCount = -1;
75 ProjData threadLocalFallbackProjData();
78 bool removeObjectsBelongingToCurrentThread(
void *pj_context );
84 bool mIsValid =
false;
90 bool mShortCircuit =
false;
93 bool mGeographicToWebMercator =
false;
96 bool mHasVerticalComponent =
false;
104 Q_DECL_DEPRECATED QString mSourceProjString;
105 Q_DECL_DEPRECATED QString mDestProjString;
107 Q_DECL_DEPRECATED
int mSourceDatumTransform = -1;
108 Q_DECL_DEPRECATED
int mDestinationDatumTransform = -1;
109 QString mProjCoordinateOperation;
110 bool mShouldReverseCoordinateOperation =
false;
111 bool mAllowFallbackTransforms =
true;
113 bool mSourceIsDynamic =
false;
114 bool mDestIsDynamic =
false;
115 double mSourceCoordinateEpoch = std::numeric_limits< double >::quiet_NaN();
116 double mDestCoordinateEpoch = std::numeric_limits< double >::quiet_NaN();
117 double mDefaultTime = std::numeric_limits< double >::quiet_NaN();
120 bool mIsReversed =
false;
122 QReadWriteLock mProjLock;
123 QMap < uintptr_t, ProjData > mProjProjections;
124 QMap < uintptr_t, ProjData > mProjFallbackProjections;
162 const QString &error )> &handler );
199 const QString &error )> sCoordinateOperationCreationErrorHandler;
208 QgsCoordinateTransformPrivate &operator= (
const QgsCoordinateTransformPrivate & ) =
delete;
Represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.