QGIS API Documentation  3.8.0-Zanzibar (11aff65)
qgscoordinatetransformcontext_p.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgscoordinatetransformcontext_p.h
3  -------------------------------
4  begin : November 2017
5  copyright : (C) 2017 by Nyall Dawson
6  email : nyall dot dawson at gmail dot com
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSCOORDINATETRANSFORMCONTEXT_PRIVATE_H
19 #define QGSCOORDINATETRANSFORMCONTEXT_PRIVATE_H
20 
22 
23 //
24 // W A R N I N G
25 // -------------
26 //
27 // This file is not part of the QGIS API. It exists purely as an
28 // implementation detail. This header file may change from version to
29 // version without notice, or even be removed.
30 //
31 
32 /***************************************************************************
33  * This class is considered CRITICAL and any change MUST be accompanied with
34  * full unit tests in testqgsfeature.cpp.
35  * See details in QEP #17
36  ****************************************************************************/
37 
38 #define SIP_NO_FILE
39 
41 #include "qgsdatumtransform.h"
42 
43 class QgsCoordinateTransformContextPrivate : public QSharedData
44 {
45 
46  public:
47 
48  QgsCoordinateTransformContextPrivate() = default;
49 
50  QgsCoordinateTransformContextPrivate( const QgsCoordinateTransformContextPrivate &other )
51  : QSharedData( other )
52  {
53  other.mLock.lockForRead();
54  mSourceDestDatumTransforms = other.mSourceDestDatumTransforms;
55  other.mLock.unlock();
56  }
57 
61 #if PROJ_VERSION_MAJOR>=6
62  QMap< QPair< QString, QString >, QString > mSourceDestDatumTransforms;
63 #else
64  QMap< QPair< QString, QString >, QgsDatumTransform::TransformPair > mSourceDestDatumTransforms;
65 #endif
66 
68  mutable QReadWriteLock mLock;
69 
70 };
71 
72 
74 
75 
76 #endif // QGSCOORDINATETRANSFORMCONTEXT_PRIVATE_H
77 
78 
79 
80 
Contains datum transform information.