60 Commits

Author SHA1 Message Date
Nyall Dawson
49d31fa527 Fix some malformed docs 2024-08-30 05:47:07 +10:00
Nyall Dawson
3a578d6712 Header update 2024-08-13 20:28:55 +10:00
Nyall Dawson
be8dce7d0d Valid improvements from new sipify 2024-08-13 20:28:55 +10:00
Nyall Dawson
6f652d251b Drop no-value copy constructor dox 2024-07-25 04:02:55 +10:00
Nyall Dawson
28943f9c1b Remove a bunch of useless default constructor doxygen 2024-07-23 02:08:28 +10:00
Germán Carrillo
127ec157e9 [profile] Address review 2024-05-22 13:44:52 +10:00
Germán Carrillo
65ad23a769 [core] Introduce QgsProfileSourceRegistry to store sources other than map layers, e.g., based on web services 2024-05-22 13:44:52 +10:00
Nyall Dawson
3201a62702 Add missing documentation 2023-05-27 06:34:04 +10:00
Nyall Dawson
7f8fd5ea8e Create QgsProfileExporterTask task for generating and exporting
elevation profiles to files
2023-05-27 06:34:04 +10:00
Nyall Dawson
33ffe9f6b9 [api] Add framework for exporting elevation profile results
as vector layers
2023-05-27 06:34:04 +10:00
Nyall Dawson
b99a349e66 Fix pixelated appearance of elevation profile chart on hidpi displays 2023-05-24 08:10:45 +10:00
Nyall Dawson
f9c3da1e06 Move unit enums to Qgis, promote to enum class 2023-02-19 13:29:06 +10:00
Nyall Dawson
4cf399f7c9 Implement layout elevation profile plot rendering 2023-01-27 17:38:59 +10:00
Nyall Dawson
97bb5f6e95 Try to fix build 2022-05-06 08:58:41 +10:00
Nyall Dawson
3c086ead05 Add framework for identifying results from profile generators 2022-05-06 08:58:41 +10:00
Nyall Dawson
e6b65767cf Use different snap tolerances when snapping to points vs snapping
to continuous elevation surfaces

When snapping to a surface we want to be very "grabby" in the height
axis but ungrabby in the distance axis. For points we should be equally
grabby on either axis.
2022-04-29 19:58:21 +10:00
Nyall Dawson
0f13138e0c Fix typo 2022-04-29 19:58:21 +10:00
Nyall Dawson
a9e1f1125f Use DPI directly instead of scale factor 2022-04-29 19:58:21 +10:00
Nyall Dawson
548f3df629 Add elevation profile support for point cloud layers 2022-04-29 19:58:21 +10:00
Nyall Dawson
bad241ead2 Ensure that results from final plot area are always shown in plot, even when
a job was already in progress when the plot area was changed
2022-04-29 19:58:21 +10:00
Nyall Dawson
77052c6473 Add map units per pixel to QgsProfileGenerationContext 2022-04-29 19:58:21 +10:00
Nyall Dawson
5fb4f656c1 Fix doxygen warning 2022-04-28 13:54:47 +10:00
Nyall Dawson
bc7fa813e5 Only refine layers which benefit from refining (i.e. rasters) 2022-04-28 13:54:47 +10:00
Nyall Dawson
85966c7625 Add support for refining elevation plot based on scale and visible range
For some layer types (rasters, point clouds) this gives a much better
experience vs generating the profile completely upfront. (I.e. even
with super-detailed DEM layers the profile is now basically instant
to generate).
2022-04-28 13:54:47 +10:00
Nyall Dawson
5a6524f3aa Use "regenerate" instead of "update" for re-building the profile for
a layer, as "update" is ambiguous and is associated with "repainting"
a Qt widget
2022-04-27 10:24:12 +10:00
Nyall Dawson
ddfe22aedb Rename method to copyPropertiesFromGenerator and avoid some duplicate code 2022-04-27 10:24:12 +10:00
Nyall Dawson
e59c5d9881 Add dox note about source ID and layer IDs 2022-04-27 10:24:12 +10:00
Nyall Dawson
a35e74c656 Add api to allow redrawing of previously collected results for a single
elevation profile source

And use this to just redraw the existing results whenever a setting
relating only to the appearance of the profile chart is changed,
instead of regenerating the whole chart
2022-04-27 10:24:12 +10:00
Nyall Dawson
99da12fcac Add api to trigger regeneration of profile results for a single layer 2022-04-27 10:24:12 +10:00
Nyall Dawson
86704dbe16 Add means of linking profile results back to source layer 2022-04-27 10:24:12 +10:00
Nyall Dawson
5ff12f41e7 Account for non-equal axis scaling during snapping 2022-04-15 12:15:54 +10:00
Nyall Dawson
d163b4fb21 Use Snap context class instead 2022-04-15 12:15:54 +10:00
Nyall Dawson
a5f9b558f4 Move snapping results class to own file 2022-04-15 12:15:54 +10:00
Nyall Dawson
e1eb8ffd4d Use QgsProfilePoint 2022-04-15 12:15:54 +10:00
Nyall Dawson
4b008ed7ac Add QgsProfilePoint class 2022-04-15 12:15:54 +10:00
Nyall Dawson
20613ea608 Add since 2022-04-15 12:15:54 +10:00
Nyall Dawson
27dc6e7a7d Snap plot cursor to sampled heights
And add a "snapping" toggle to disable this behavior
2022-04-15 12:15:54 +10:00
Nyall Dawson
cca19d74ff Add an expression context to QgsProfileRequest 2022-04-14 14:16:26 +10:00
Nyall Dawson
b779bfc44a Spelling 2022-04-07 19:22:19 +10:00
Nyall Dawson
d2e5186d56 Add action to export profile graph to PDF 2022-04-07 19:22:19 +10:00
Nyall Dawson
0d88a6f834 Documentation 2022-04-07 19:22:19 +10:00
Nyall Dawson
9970782045 Use actual ranges of plot when rendering, use correct raster/mesh profile symbols 2022-04-07 19:22:19 +10:00
Nyall Dawson
305f0790cc Add range of z to QgsAbstractProfileResults 2022-04-07 19:22:19 +10:00
Nyall Dawson
6d4c2803f6 Start on profile renderer class 2022-04-07 19:22:19 +10:00
Nyall Dawson
cea1215bee Add cancelation support for profile generators 2022-04-07 19:22:19 +10:00
Nyall Dawson
141f7bf9f2 Plot wip 2022-04-07 19:22:19 +10:00
Nyall Dawson
74db16608e Use map instead of hash 2022-03-25 10:08:11 +10:00
Nyall Dawson
83f88548f2 Add step distance parameter to profile request 2022-03-25 10:08:11 +10:00
Nyall Dawson
f5d9c14ef1 Fix cppcheck warning 2022-03-25 10:08:11 +10:00
Nyall Dawson
87c3c911c0 Implement profile generation for point vector layers 2022-03-25 10:08:11 +10:00