25
25
#include " qgsrectangle.h"
26
26
27
27
/* *
28
- * \class QgsReferencedGeometryPrimitive
28
+ * \class QgsReferencedGeometryBase
29
29
* \ingroup core
30
- * A template based class for storing geometry primitives with an associated reference system.
30
+ * A base class for geometry primitives which are stored with an associated reference system.
31
31
*
32
- * QgsReferencedGeometryPrimitive classes represent some form of geometry primitive
32
+ * QgsReferencedGeometryBase classes represent some form of geometry primitive
33
33
* (such as rectangles) which have an optional coordinate reference system
34
34
* associated with them.
35
35
*
36
36
* \since QGIS 3.0
37
37
* \see QgsReferencedRectangle
38
- * \note Not available in Python bindings (although SIP file is present for specific implementations).
39
38
*/
40
- template <typename T>
41
- class CORE_EXPORT QgsReferencedGeometryPrimitive
39
+ class CORE_EXPORT QgsReferencedGeometryBase
42
40
{
43
41
public:
44
42
45
43
/* *
46
- * Constructor for QgsReferencedGeometryPrimitive, for the specified \a primitive and \a crs.
44
+ * Constructor for QgsReferencedGeometryBase, with the specified \a crs.
47
45
*/
48
- QgsReferencedGeometryPrimitive ( T primitive, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() )
49
- : mPrimitive ( primitive )
50
- , mCrs ( crs )
51
- {}
52
-
53
- /* *
54
- * Returns the geometry primitive.
55
- */
56
- T primitive () const { return mPrimitive ; } SIP_SKIP
57
-
58
- /* *
59
- * Returns the geometry primitive.
60
- */
61
- T &primitive () { return mPrimitive ; }
46
+ QgsReferencedGeometryBase ( const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
62
47
63
48
/* *
64
49
* Returns the associated coordinate reference system, or an invalid CRS if
@@ -76,32 +61,41 @@ class CORE_EXPORT QgsReferencedGeometryPrimitive
76
61
77
62
private:
78
63
79
- T mPrimitive ;
80
64
QgsCoordinateReferenceSystem mCrs ;
81
65
82
66
};
83
67
84
- // template class QgsReferencedGeometryPrimitive< QgsRectangle > QgsReferencedRectangle;
85
-
86
68
/* *
87
69
* \ingroup core
88
70
* A QgsRectangle with associated coordinate reference system.
89
71
* \since QGIS 3.0
90
72
*/
91
- class CORE_EXPORT QgsReferencedRectangle : public QgsReferencedGeometryPrimitive< QgsRectangle >
73
+ class CORE_EXPORT QgsReferencedRectangle : public QgsRectangle, public QgsReferencedGeometryBase
92
74
{
93
75
public:
94
76
95
77
/* *
96
- * Construct a default optional expression.
97
- * It will be disabled and with an empty expression .
78
+ * Constructor for QgsReferencedRectangle, with the specified initial \a rectangle
79
+ * and \a crs .
98
80
*/
99
- QgsReferencedRectangle ( const QgsRectangle &rect ) : QgsReferencedGeometryPrimitive( rect ) {}
81
+ QgsReferencedRectangle ( const QgsRectangle &rectangle, const QgsCoordinateReferenceSystem &crs );
82
+
83
+ };
84
+
85
+ /* *
86
+ * \ingroup core
87
+ * A QgsPointXY with associated coordinate reference system.
88
+ * \since QGIS 3.0
89
+ */
90
+ class CORE_EXPORT QgsReferencedPointXY : public QgsPointXY, public QgsReferencedGeometryBase
91
+ {
92
+ public:
100
93
101
94
/* *
102
- * Returns the rectangles
95
+ * Constructor for QgsReferencedPointXY, with the specified initial \a point
96
+ * and \a crs.
103
97
*/
104
- QgsRectangle & rect () { return primitive (); }
98
+ QgsReferencedPointXY ( const QgsPointXY &point, const QgsCoordinateReferenceSystem &crs );
105
99
106
100
};
107
101
0 commit comments