27 Commits

Author SHA1 Message Date
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
Nyall Dawson
200be450f2 Add framework for profile generation
- Adds an abstract base class for profile generators,
QgsAbstractProfileGenerator. This is modeled off the approach
used by map layer renderers, where a QgsAbstractProfileGenerator
subclass object is created in the main thread and does all
required (hopefully inexpensive!) preparation steps necessary
to do on the main thread. Then a separate background thread can
later call the virtual generateProfile method, which does
the heavy lifting of calculating the associated profile. Later
the results of the profile generation can be retrieved back
on the main thread.

- Adds an interface "QgsAbstractProfileSource" for objects which
can create a profile generator given a QgsProfileRequest. Map layer
classes will implement this interface, but potentially 3rd party
(plugin based) objects can also implement the interface if they
also want to add custom results to the profile charts (e.g.
borehole trace lines).
2022-03-25 10:08:11 +10:00
Nyall Dawson
a356469058 Add terrain provider to QgsProfileRequest 2022-03-25 10:08:11 +10:00
Nyall Dawson
b75adafe1c Add equals method to QgsTerrainProvider 2022-03-25 10:08:11 +10:00
Nyall Dawson
0a6dac826f Profile request 2022-03-25 10:08:11 +10:00
Nyall Dawson
14952ab6b0 Fix sip build 2022-03-19 05:58:37 +10:00
Nyall Dawson
acdc5d2128 Fix cppcheck warning 2022-03-19 05:58:37 +10:00
Nyall Dawson
c19ec553ab Add scale and offset to terrain providers 2022-03-19 05:58:37 +10:00
Nyall Dawson
6e9ecc87e4 Use nan for invalid point height calculation results 2022-03-19 05:58:37 +10:00
Nyall Dawson
5124a583f2 Add clone method for terrain providers 2022-03-19 05:58:37 +10:00
Nyall Dawson
231596cd8d Make terrain provider classes generic and move outside of project 2022-03-19 05:58:37 +10:00