59 Commits

Author SHA1 Message Date
Nyall Dawson
4a6fef278e Cleanup docs, don't mention QString in python docs 2025-04-19 18:17:34 +10:00
David Koňařík
5b9bb8b056 Parallelise point cloud attribute editing 2025-04-02 09:26:45 +02:00
Nyall Dawson
3f6b490218 Sipify 2025-04-02 11:11:10 +10:00
Nyall Dawson
afd2e4f42d Fix doxygen class briefs which aren't full sentences 2025-04-01 09:44:00 +10:00
Nyall Dawson
6d122f0038 Sipify 2025-03-30 20:48:07 +10:00
Martin Dobias
d8f8d13691 address review 2025-01-23 21:04:55 +01:00
Martin Dobias
b94229e024 Only update changed 3D entities when editing point cloud attributes
QgsChunkedEntity gets a capability to update an existing sub-entity for a node
by loading the node again, creating a new 3D entity, and then discarding the old
entity in favor of the new one.

QgsPointCloudLayer gets a new signal - emitted whenever a particular node's
attribute values get changed.

These two are combined for point cloud layer's 3D chunked entity: whenever there
are edits to the point cloud data, instead of doing big hard reload of the whole
point cloud, we only update entities of the few nodes that were modified.
This greatly improves the user experience of point cloud editing (no "flashing"
of the 3D view while loading everything from scratch), and it improves how quickly
the changes can be seen.
2025-01-23 21:04:55 +01:00
uclaros
d989f5981f adjust to use the new QgsPointCloudIndex class 2025-01-10 13:36:09 +01:00
uclaros
3e773e798e Point cloud editing part 1 2025-01-10 13:36:09 +01:00
Nyall Dawson
3a578d6712 Header update 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
6e5a99d332 Sipify 2022-06-03 13:13:43 +10:00
NEDJIMAbelgacem
c5ac600dad - Remove useless functions
- Remove emit QgsTask::taskTerminated
2022-05-30 13:45:58 +01:00
NEDJIMAbelgacem
e2bf3809f7 Various fixes
- Remove waiting for task to finish in ~QgsPointCloudLayer
- Fix failing ept provider test when maximum threads is set to 1.
-  make PointCloudStatisticsCalculationState into enum class
- move AttributeStatistics outside QgsPointCloudStatistics
2022-05-27 03:02:12 +01:00
NEDJIMAbelgacem
b5e2887a88 fix test 2022-05-24 10:04:33 +02:00
NEDJIMAbelgacem
720008a3de fix test 2022-05-10 19:19:24 +01:00
NEDJIMAbelgacem
dc446c0dad try to fix QgsPointCloudLayerProfileGenerator test 2022-05-09 17:35:26 +01:00
NEDJIMAbelgacem
1ba060cb82 Change to using statistics class and fix SIP 2022-05-06 10:28:09 +01:00
NEDJIMAbelgacem
46c2afdff2 - Add a class for storing statistics
- Add classification attribute function
- Refactoring
2022-05-05 11:40:30 +01:00
Nedjima Belgacem
a0ab353aba
Merge branch 'master' into point-cloud-stats-calculator 2022-05-03 20:39:20 +01:00
NEDJIMAbelgacem
ac2f073169 Address reviews 2022-05-03 13:25:05 +01:00
Nyall Dawson
548f3df629 Add elevation profile support for point cloud layers 2022-04-29 19:58:21 +10:00
NEDJIMAbelgacem
ba0deaaa76 fix unit tests 2022-04-29 07:28:22 +01:00
NEDJIMAbelgacem
85499ed235 - Enable estimated statistics warning
- Fix statistics calculation
2022-04-29 06:24:46 +01:00
NEDJIMAbelgacem
cc5a7d3d62 big code refactor 2022-04-28 18:38:49 +01:00
uclaros
c16e9a204c Sync pointcloud layer's 3d renderer style with 2d renderer 2022-04-04 02:57:00 -07:00
uclaros
74fc47458b Report untwine errors to the user 2022-04-01 02:20:25 -07:00
uclaros
2431692f32 Dox 2022-02-21 16:10:01 +02:00
uclaros
d7bd850299 add subsetStringChanged 2022-02-18 23:35:43 +02:00
uclaros
dd89955cff setSubsetString() 2022-02-18 23:35:43 +02:00
rldhont
4afa66af30 [API] Unvirtualize layer setDataSource method
Changes in the layer API:
* The setDatasource() methods become non-virtual public method
* The virtual private setDataSourcePrivate() method is defined and the provider setDataSource implementations have been moved to this new virtual method
2021-04-26 17:14:07 +02:00
NEDJIMAbelgacem
aca1146390 change the point budge to qint64 and double spin box 2021-04-08 14:26:31 -07:00
NEDJIMAbelgacem
e9f8cab806 Address reviews 2021-04-08 14:26:31 -07:00
NEDJIMAbelgacem
c9890935bf remove the use of dataSourceType 2021-04-08 14:26:31 -07:00
NEDJIMAbelgacem
ede1c6394e UI initial implementation for remote ept files 2021-04-08 14:26:31 -07:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00
Nyall Dawson
ebdb7ba95d Correctly store absolute/relative paths for point clouds in projects
Fixes #42114
2021-03-10 14:07:48 +10:00
Belgacem
bec8fe5f2e rollback the existing implementation and use QgsHighlight 2021-01-18 08:54:56 +10:00
Belgacem
6de83cd662 initial highlighting implementation 2021-01-18 08:54:56 +10:00
Belgacem
3a014ae0bf make identification work with point size 2021-01-13 15:47:40 +01:00
Belgacem
4f3f95a841 raycast intersection with node bounding box 2021-01-13 15:47:40 +01:00
Peter Petrik
221bd2f68f
untwine pdalprovider integration (#40404)
[pointclouds] untwine pdalprovider integration
2020-12-15 14:25:09 +01:00
Nyall Dawson
26fb54ef0f Add pointCount to QgsPointCloudLayer 2020-12-03 07:18:07 +01:00
Nyall Dawson
2632627d39 Add point cloud implementation of QgsMapLayerElevationProperties 2020-11-28 16:45:54 +10:00
Nyall Dawson
70e6cc7304 Implement QgsMapLayer methods required for saving/loading renderer properties 2020-11-13 02:59:05 +10:00
Nyall Dawson
0169347f5b Hookup API for point cloud data providers to create default renderers for associated layers 2020-11-13 02:59:05 +10:00
Nyall Dawson
c2fe0d3749 Hook QgsPointCloudRenderer into QgsPointCloudLayerRenderer (non-functional for now) 2020-11-13 02:59:05 +10:00
Nyall Dawson
b9a7a365c0 Add attributes() member to QgsPointCloudDataProvider, QgsPointCloudLayer
Gives direct access to point cloud attributes
2020-11-12 17:33:37 +10:00
Nyall Dawson
819fc50b0e Don't use generic "QgsMapLayer" class name in map layer Python repr
strings

Rather use actual layer subclass type, e.g. QgsVectorLayer
2020-11-12 16:05:52 +10:00
Nyall Dawson
09e87b8394 Remove non-functional loadDefaultStyle from QgsPointCloudLayer
We should use the base class version for point cloud layers
2020-10-27 14:57:06 +10:00