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;
97 Q_DECL_DEPRECATED QString mSourceProjString;
98 Q_DECL_DEPRECATED QString mDestProjString;
100 Q_DECL_DEPRECATED
int mSourceDatumTransform = -1;
101 Q_DECL_DEPRECATED
int mDestinationDatumTransform = -1;
102 QString mProjCoordinateOperation;
103 bool mShouldReverseCoordinateOperation =
false;
104 bool mAllowFallbackTransforms =
true;
106 bool mSourceIsDynamic =
false;
107 bool mDestIsDynamic =
false;
108 double mSourceCoordinateEpoch = std::numeric_limits< double >::quiet_NaN();
109 double mDestCoordinateEpoch = std::numeric_limits< double >::quiet_NaN();
110 double mDefaultTime = std::numeric_limits< double >::quiet_NaN();
113 bool mIsReversed =
false;
115 QReadWriteLock mProjLock;
116 QMap < uintptr_t, ProjData > mProjProjections;
117 QMap < uintptr_t, ProjData > mProjFallbackProjections;
155 const QString &error )> &handler );
192 const QString &error )> sCoordinateOperationCreationErrorHandler;
201 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.