QGIS API Documentation  3.17.0-Master (a035f434f4)
qgsreferencedgeometry.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsreferencedgeometry.h
3  ----------------------
4  begin : June 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 QGSREFERENCEDGEOMETRY_H
19 #define QGSREFERENCEDGEOMETRY_H
20 
21 #include "qgis_sip.h"
22 #include "qgis_core.h"
24 #include "qgsrectangle.h"
25 #include "qgsgeometry.h"
26 
39 class CORE_EXPORT QgsReferencedGeometryBase
40 {
41  public:
42 
47 
53  QgsCoordinateReferenceSystem crs() const { return mCrs; }
54 
60  void setCrs( const QgsCoordinateReferenceSystem &crs ) { mCrs = crs; }
61 
62  private:
63 
65 
66 };
67 
74 {
75  public:
76 
82 
86  QgsReferencedRectangle() = default;
87 
89  operator QVariant() const
90  {
91  return QVariant::fromValue( *this );
92  }
93 
94  bool operator==( const QgsReferencedRectangle &other ) const;
95  bool operator!=( const QgsReferencedRectangle &other ) const;
96 
97 #ifdef SIP_RUN
98  SIP_PYOBJECT __repr__();
99  % MethodCode
100  QString str = QStringLiteral( "<QgsReferencedRectangle: %1 (%2)>" ).arg( sipCpp->asWktCoordinates(), sipCpp->crs().authid() );
101  sipRes = PyUnicode_FromString( str.toUtf8().constData() );
102  % End
103 #endif
104 
105 };
106 
108 
109 
115 {
116  public:
117 
123 
127  QgsReferencedPointXY() = default;
128 
130  operator QVariant() const
131  {
132  return QVariant::fromValue( *this );
133  }
134 
135  bool operator==( const QgsReferencedPointXY &other );
136  bool operator!=( const QgsReferencedPointXY &other );
137 
138 #ifdef SIP_RUN
139  SIP_PYOBJECT __repr__();
140  % MethodCode
141  QString str = QStringLiteral( "<QgsReferencedPointXY: %1 (%2)>" ).arg( sipCpp->asWkt(), sipCpp->crs().authid() );
142  sipRes = PyUnicode_FromString( str.toUtf8().constData() );
143  % End
144 #endif
145 
146 };
147 
149 
150 
156 {
157  public:
158 
163  QgsReferencedGeometry( const QgsGeometry &geometry, const QgsCoordinateReferenceSystem &crs );
164 
168  QgsReferencedGeometry() = default;
169 
171  operator QVariant() const
172  {
173  return QVariant::fromValue( *this );
174  }
175 
179  static QgsReferencedGeometry fromReferencedPointXY( const QgsReferencedPointXY &point );
180 
184  static QgsReferencedGeometry fromReferencedRect( const QgsReferencedRectangle &rectangle );
185 
186 
187 #ifdef SIP_RUN
188  SIP_PYOBJECT __repr__();
189  % MethodCode
190  QString str = QStringLiteral( "<QgsReferencedGeometry: %1 (%2)>" ).arg( sipCpp->asWkt(), sipCpp->crs().authid() );
191  sipRes = PyUnicode_FromString( str.toUtf8().constData() );
192  % End
193 #endif
194 
195 };
196 
198 
199 #endif // QGSREFERENCEDGEOMETRY_H
A rectangle specified with double values.
Definition: qgsrectangle.h:41
A QgsGeometry with associated coordinate reference system.
A class to represent a 2D point.
Definition: qgspointxy.h:43
A QgsPointXY with associated coordinate reference system.
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:123
const QgsCoordinateReferenceSystem & crs
QgsCoordinateReferenceSystem crs() const
Returns the associated coordinate reference system, or an invalid CRS if no reference system is set...
void setCrs(const QgsCoordinateReferenceSystem &crs)
Sets the associated crs.
Q_DECLARE_METATYPE(QgsMeshTimeSettings)
A QgsRectangle with associated coordinate reference system.
bool operator==(const QgsRectangle &r1) const
Comparison operator.
Definition: qgsrectangle.h:489
This class represents a coordinate reference system (CRS).
A base class for geometry primitives which are stored with an associated reference system...
bool operator!=(const QgsRectangle &r1) const
Comparison operator.
Definition: qgsrectangle.h:501