QGIS API Documentation 4.1.0-Master (60fea48833c)
Loading...
Searching...
No Matches
qgsprofilerequest.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsprofilerequest.h
3 ---------------
4 begin : February 2022
5 copyright : (C) 2022 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#ifndef QGSPROFILEREQUEST_H
18#define QGSPROFILEREQUEST_H
19
20#include <memory>
21
22#include "qgis_core.h"
23#include "qgis_sip.h"
27
28class QgsCurve;
30
37class CORE_EXPORT QgsProfileRequest
38{
39 public:
47
49
51
53
54 bool operator==( const QgsProfileRequest &other ) const;
55 bool operator!=( const QgsProfileRequest &other ) const;
56
67
75 QgsCurve *profileCurve() const;
76
85
94
102
110
122
133 double tolerance() const { return mTolerance; }
134
142 QgsProfileRequest &setTerrainProvider( QgsAbstractTerrainProvider *provider SIP_TRANSFER );
143
149 QgsAbstractTerrainProvider *terrainProvider() const;
150
164 QgsProfileRequest &setStepDistance( double distance );
165
179 double stepDistance() const { return mStepDistance; }
180
185 QgsExpressionContext &expressionContext() { return mExpressionContext; }
186
191 const QgsExpressionContext &expressionContext() const SIP_SKIP { return mExpressionContext; }
192
197 QgsProfileRequest &setExpressionContext( const QgsExpressionContext &context );
198
199 private:
200 std::unique_ptr< QgsCurve> mCurve;
202 QgsCoordinateTransformContext mTransformContext;
203
204 double mTolerance = 0;
205
206 double mStepDistance = std::numeric_limits<float>::quiet_NaN();
207
208 std::unique_ptr< QgsAbstractTerrainProvider > mTerrainProvider;
209 QgsExpressionContext mExpressionContext;
210};
211
212#endif // QGSPROFILEREQUEST_H
Abstract base class for terrain providers.
Represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
Abstract base class for curved geometry type.
Definition qgscurve.h:36
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Encapsulates properties and constraints relating to fetching elevation profiles from different source...
QgsProfileRequest(QgsCurve *curve)
Constructor for QgsProfileRequest.
QgsExpressionContext & expressionContext()
Returns the expression context used to evaluate expressions.
QgsCoordinateReferenceSystem crs() const
Returns the desired Coordinate Reference System for the profile.
double stepDistance() const
Returns the profile step distance (in crs() units).
double tolerance() const
Returns the tolerance of the request (in crs() units).
QgsProfileRequest & setTransformContext(const QgsCoordinateTransformContext &context)
Sets the transform context, for use when transforming coordinates from a source to the request's crs(...
QgsCurve * profileCurve() const
Returns the cross section profile curve, which represents the line along which the profile should be ...
const QgsExpressionContext & expressionContext() const
Returns the expression context used to evaluate expressions.
QgsProfileRequest & setProfileCurve(QgsCurve *curve)
Sets the cross section profile curve, which represents the line along which the profile should be gen...
QgsProfileRequest & setTolerance(double tolerance)
Sets the tolerance of the request (in crs() units).
QgsProfileRequest & setCrs(const QgsCoordinateReferenceSystem &crs)
Sets the desired Coordinate Reference System (crs) for the profile.
QgsProfileRequest & operator=(const QgsProfileRequest &other)
QgsCoordinateTransformContext transformContext() const
Returns the transform context, for use when transforming coordinates from a source to the request's c...
#define SIP_SKIP
Definition qgis_sip.h:133
#define SIP_TRANSFER
Definition qgis_sip.h:35
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)