QGIS API Documentation  3.2.0-Bonn (bc43194)
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 #if 0
56  mSourceDatumTransforms = other.mSourceDatumTransforms;
57  mDestDatumTransforms = other.mDestDatumTransforms;
58 #endif
59  other.mLock.unlock();
60  }
61 
66  QMap< QPair< QString, QString >, QgsDatumTransform::TransformPair > mSourceDestDatumTransforms;
67 
68 #if 0
69  QMap< QString, int > mSourceDatumTransforms;
71 
73  QMap< QString, int > mDestDatumTransforms;
74 #endif
75 
77  mutable QReadWriteLock mLock;
78 
79 };
80 
81 
83 
84 
85 #endif // QGSCOORDINATETRANSFORMCONTEXT_PRIVATE_H
86 
87 
88 
89 
Contains datum transform information.