17#ifndef QGSCOORDINATETRANSFORMPRIVATE_H
18#define QGSCOORDINATETRANSFORMPRIVATE_H
37typedef struct PJconsts
PJ;
43class QgsCoordinateTransformPrivate :
public QSharedData
48 explicit QgsCoordinateTransformPrivate();
56 int sourceDatumTransform,
57 int destDatumTransform );
59 QgsCoordinateTransformPrivate(
const QgsCoordinateTransformPrivate &other );
61 ~QgsCoordinateTransformPrivate();
71 ProjData threadLocalProjData();
73 int mAvailableOpCount = -1;
74 ProjData threadLocalFallbackProjData();
77 bool removeObjectsBelongingToCurrentThread(
void *pj_context );
83 bool mIsValid =
false;
89 bool mShortCircuit =
false;
92 bool mGeographicToWebMercator =
false;
95 bool mHasVerticalComponent =
false;
103 Q_DECL_DEPRECATED QString mSourceProjString;
104 Q_DECL_DEPRECATED QString mDestProjString;
106 Q_DECL_DEPRECATED
int mSourceDatumTransform = -1;
107 Q_DECL_DEPRECATED
int mDestinationDatumTransform = -1;
108 QString mProjCoordinateOperation;
109 bool mShouldReverseCoordinateOperation =
false;
110 bool mAllowFallbackTransforms =
true;
112 bool mSourceIsDynamic =
false;
113 bool mDestIsDynamic =
false;
114 double mSourceCoordinateEpoch = std::numeric_limits< double >::quiet_NaN();
115 double mDestCoordinateEpoch = std::numeric_limits< double >::quiet_NaN();
116 double mDefaultTime = std::numeric_limits< double >::quiet_NaN();
119 bool mIsReversed =
false;
121 QReadWriteLock mProjLock;
122 QMap < uintptr_t, ProjData > mProjProjections;
123 QMap < uintptr_t, ProjData > mProjFallbackProjections;
161 const QString &error )> &handler );
198 const QString &error )> sCoordinateOperationCreationErrorHandler;
207 QgsCoordinateTransformPrivate &operator= (
const QgsCoordinateTransformPrivate & ) =
delete;
This class represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.