QGIS API Documentation 3.99.0-Master (752b475928d)
Loading...
Searching...
No Matches
qgsrasterlayerprofilegenerator.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsrasterlayerprofilegenerator.h
3 ---------------
4 begin : March 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 QGSRASTERLAYERPROFILEGENERATOR_H
18#define QGSRASTERLAYERPROFILEGENERATOR_H
19
20#include <memory>
21
22#include "qgis_core.h"
23#include "qgis_sip.h"
27#include "qgscurve.h"
28
30class QgsRasterLayer;
33class QgsLineSymbol;
35
36#define SIP_NO_FILE
37
46{
47
48 public:
49
50 QString type() const override;
52 QVector<QgsProfileIdentifyResults> identify( const QgsProfilePoint &point, const QgsProfileIdentifyContext &context ) override;
53
54 private:
55
56 QPointer< QgsRasterLayer > mLayer;
57
59};
60
69{
70
71 public:
72
77
79
80 QString sourceId() const override;
81 Qgis::ProfileGeneratorFlags flags() const override;
84 QgsFeedback *feedback() const override;
85
86 private:
87 QString mId;
88 std::unique_ptr<QgsRasterBlockFeedback> mFeedback;
89
90 std::unique_ptr< QgsCurve > mProfileCurve;
91
94 QgsCoordinateTransformContext mTransformContext;
95
96 double mOffset = 0;
97 double mScale = 1;
98
99 QPointer< QgsRasterLayer > mLayer;
100 std::unique_ptr< QgsRasterDataProvider > mRasterProvider;
101
102 std::unique_ptr< QgsRasterLayerProfileResults > mResults;
103
104 int mBand = 1;
105 double mRasterUnitsPerPixelX = 1;
106 double mRasterUnitsPerPixelY = 1;
107
108 double mStepDistance = std::numeric_limits<double>::quiet_NaN();
109
111
112};
113
114#endif // QGSRASTERLAYERPROFILEGENERATOR_H
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:4224
Abstract base class for storage of elevation profiles.
virtual QString type() const =0
Returns the unique string identifier for the results type.
QgsAbstractProfileSurfaceGenerator(const QgsProfileRequest &request)
Constructor for QgsAbstractProfileSurfaceGenerator.
Abstract base class for storage of elevation profiles which represent a continuous surface (e....
QVector< QgsProfileIdentifyResults > identify(const QgsProfilePoint &point, const QgsProfileIdentifyContext &context) override
Identify results visible at the specified profile point.
Represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition qgsfeedback.h:44
A line symbol type, for rendering LineString and MultiLineString geometries.
Encapsulates the context in which an elevation profile is to be generated.
Encapsulates the context of identifying profile results.
Encapsulates a point on a distance-elevation profile.
Encapsulates properties and constraints relating to fetching elevation profiles from different source...
Encapsulates the context of snapping a profile point.
Feedback object tailored for raster block reading.
Base class for raster data providers.
QgsAbstractProfileResults * takeResults() override
Takes results from the generator.
QgsRasterLayerProfileGenerator(QgsRasterLayer *layer, const QgsProfileRequest &request)
Constructor for QgsRasterLayerProfileGenerator.
QgsFeedback * feedback() const override
Access to feedback object of the generator (may be nullptr).
bool generateProfile(const QgsProfileGenerationContext &context=QgsProfileGenerationContext()) override
Generate the profile (based on data stored in the class).
Qgis::ProfileGeneratorFlags flags() const override
Returns flags which reflect how the profile generator operates.
QString sourceId() const override
Returns a unique identifier representing the source of the profile.
~QgsRasterLayerProfileGenerator() override
Implementation of QgsAbstractProfileResults for raster layers.
Represents a raster layer.