QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
proj
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
39
#include "
qgscoordinatereferencesystem.h
"
40
#include "
qgsdatumtransform.h
"
41
42
#define SIP_NO_FILE
43
44
class
QgsCoordinateTransformContextPrivate :
public
QSharedData
45
{
46
public
:
47
QgsCoordinateTransformContextPrivate() =
default
;
48
49
QgsCoordinateTransformContextPrivate(
const
QgsCoordinateTransformContextPrivate &other )
50
: QSharedData( other )
51
, mLock {}
52
{
53
other.mLock.lockForRead();
54
mSourceDestDatumTransforms = other.mSourceDestDatumTransforms;
55
other.mLock.unlock();
56
}
57
61
class
OperationDetails
62
{
63
public
:
64
QString operation;
65
bool
allowFallback =
true
;
66
67
// TODO c++20 - replace with = default
68
bool
operator==
(
const
OperationDetails &other )
const
{
return
operation == other.operation && allowFallback == other.allowFallback; }
69
};
70
QMap< QPair< QgsCoordinateReferenceSystem, QgsCoordinateReferenceSystem >, OperationDetails > mSourceDestDatumTransforms;
71
73
mutable
QReadWriteLock mLock {};
74
75
private
:
76
QgsCoordinateTransformContextPrivate &operator=(
const
QgsCoordinateTransformContextPrivate & ) =
delete
;
77
};
78
79
81
82
83
#endif
// QGSCOORDINATETRANSFORMCONTEXT_PRIVATE_H
qgscoordinatereferencesystem.h
qgsdatumtransform.h
operator==
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Definition
qgsfeatureiterator.h:427
Generated on
for QGIS API Documentation by
1.17.0