17 #ifndef QGSCOORDINATETRANSFORMPRIVATE_H
18 #define QGSCOORDINATETRANSFORMPRIVATE_H
21 #include "qgsconfig.h"
34 #include <QSharedData>
37 typedef struct PJconsts
PJ;
43 class 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;
100 Q_DECL_DEPRECATED QString mSourceProjString;
101 Q_DECL_DEPRECATED QString mDestProjString;
103 Q_DECL_DEPRECATED
int mSourceDatumTransform = -1;
104 Q_DECL_DEPRECATED
int mDestinationDatumTransform = -1;
105 QString mProjCoordinateOperation;
106 bool mShouldReverseCoordinateOperation =
false;
107 bool mAllowFallbackTransforms =
true;
109 bool mSourceIsDynamic =
false;
110 bool mDestIsDynamic =
false;
111 double mSourceCoordinateEpoch = std::numeric_limits< double >::quiet_NaN();
112 double mDestCoordinateEpoch = std::numeric_limits< double >::quiet_NaN();
113 double mDefaultTime = std::numeric_limits< double >::quiet_NaN();
116 bool mIsReversed =
false;
118 QReadWriteLock mProjLock;
119 QMap < uintptr_t, ProjData > mProjProjections;
120 QMap < uintptr_t, ProjData > mProjFallbackProjections;
158 const QString &error )> &handler );
195 const QString &error )> sCoordinateOperationCreationErrorHandler;
204 QgsCoordinateTransformPrivate &operator= (
const QgsCoordinateTransformPrivate & ) =
delete;
209 #endif // QGSCOORDINATETRANSFORMPRIVATE_H