14 Commits

Author SHA1 Message Date
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