210 Commits

Author SHA1 Message Date
Nyall Dawson
967388df86 Fix cppcheck 'function can be const' warnings 2024-10-15 15:00:05 +10:00
Nyall Dawson
391b61544e
Handle SIP_OUT with void functions 2024-09-10 11:46:47 +10:00
Nyall Dawson
b39f760cbc
Correctly handle multiline SIP_OUT param documentation 2024-09-10 11:11:25 +10:00
Nyall Dawson
ef0289f3ec Fix formatting of Python ..deprecated annotations in docstrings
Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/174
2024-09-02 11:42:12 +10:00
Nyall Dawson
765cbb32db Standardise some deprecated annotations 2024-09-02 11:42:12 +10:00
Nyall Dawson
bc52832b47 Lazily hack around markdown title underline not being long enough
Causes a bunch of warnings when building the PyQGIS docs
2024-08-28 11:58:21 +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
Jacky Volpes
fa961c7b5b fix(geometry_checker): do not call crs() on layer from another thread 2024-08-02 06:00:46 +10:00
Nyall Dawson
3d80ed996e Add thread safety notes for QgsFeaturePool documentation 2024-08-01 08:29:07 +10:00
Nyall Dawson
c2c75f3b19
More no-value dox removal 2024-07-25 09:04:22 +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
Even Rouault
a68422b982 Various typo fixes
Including 3 public methods, which are deprecated by this commit and replaced by a typo-fixed version
2024-02-29 06:03:03 +10:00
Even Rouault
15ea5c46bc
Header files: remove all mentions of '\since QGIS 3.0' 2024-02-18 20:57:23 +01:00
Even Rouault
02caeb9db7
Header files: remove all mentions of '\since QGIS 2.' 2024-02-18 20:46:01 +01:00
Nyall Dawson
ee53b9ae48 Port processing enums to enum class
A step towards a Qt6 compatible Processing framework
2024-02-10 17:25:22 +10:00
Nyall Dawson
503a95a1a1 Move enums to Qgis namespace for consistency 2024-02-02 04:59:04 +10:00
Nyall Dawson
179e2ca59a Promote some more enums to enum class to fix PyQt6 support 2024-02-02 04:59:04 +10:00
Alessandro Pasotti
27824078ad Introduce QgsProcessingProvider::Flag::FlagCompatibleWithVirtualRaster 2024-01-31 10:37:52 +10:00
Alexander Bruy
00a543f504 move enum to Qgis 2023-08-23 08:37:26 +03:00
Alexander Bruy
bd627101c6 move some struct and enum defintions from analysis library to core in
order to make them accessible for Processing
2023-08-23 08:35:14 +03:00
Alexander Bruy
ed1378b527 do not require PDAL >= 2.5 for QGIS, make it requirement only for
processing provider
2023-03-22 16:04:01 +01:00
Alexander Bruy
21a16e4d3c add Processing provider for PDAL algorithms 2023-03-22 16:04:01 +01:00
Nyall Dawson
046883fa9c Promote QgsWkbTypes enums to enum class, move to Qgis 2023-02-22 12:39:21 +10:00
Harrissou Sant-anna
8761480128 Add missing class reference 2022-07-02 09:58:37 +10:00
Harrissou Sant-anna
7717f39d48 Update and cleanup of geometry_checker dox 2022-07-02 09:58:37 +10:00
Julien Cabieces
012b6a46db constify methods 2022-04-29 08:21:47 +10:00
Nyall Dawson
052c8eddea Fix seealso links 2022-03-07 19:13:27 +10:00
Nyall Dawson
86a4bf548d Fix documentation warning 2022-03-07 19:13:27 +10:00
Nyall Dawson
b025294246 Spelling 2022-03-07 19:13:27 +10:00
Nyall Dawson
d4eb6f524f [feature] Add support for georeferencing vector layers in georeferencer
Allows vector layers without spatial referencing to be interactively
georeferenced (or layers with referencing to be re-referenced!)

Sponsored by the Danish QGIS Usergroup
2022-03-07 19:13:27 +10:00
Nyall Dawson
ebf9fe1809 Start on QgsVectorWarper class 2022-03-07 19:13:27 +10:00
Nyall Dawson
8e79a41e7c Move QgsGcpPoint to analysis library 2022-03-07 19:13:27 +10:00
Juergen E. Fischer
a6d4f92359 fix windows build after 37b3eaa869587475c572c04bb15bc4986d533ece 2021-11-13 04:22:49 +01:00
Nyall Dawson
c15ff5e391 Fix const 2021-11-09 14:58:44 +11:00
Nyall Dawson
37b3eaa869 Add method to find opposite edge in a QgsGraph 2021-11-09 14:58:44 +11:00
Nyall Dawson
c0b253a69b Add API to remove vertices or edges from QgsGraph
Useful when you've built a graph and want to perform multiple
different analysis on it after excluding routes without
having to rebuild the whole graph again

Eg. find the shortest path between two vertices, then remove all
these edge from this path and repeat to try to find the second-shortest
path which doesn't use any of the same edges from the shortest
path
2021-11-09 14:58:44 +11:00
Nyall Dawson
9b02c301a5 Raise IndexError when requesting invalid edge or vertex indices
from QgsGraph, instead of crashing
2021-11-09 14:58:44 +11:00
Juergen E. Fischer
c6008b7ee1 fix MSVC build: reverts fee62e4, dff05dd and e3a77b9484c effectivly
reverting 3fb0f66 (followup #45348)

Using --no-public-is-protected (default on Windows) also works on Linux
and fixes #45331 too
2021-10-21 23:03:48 +02:00
nirvn
ef84e48a09 Run sipify_all.sh 2021-10-12 16:34:05 +10:00
Denis Rouzaud
ec16736306 run sipify 2021-10-12 16:34:05 +10:00
Vincent Cloarec
56b9d808ff
add missing text for mesh editing undo/redo 2021-10-10 13:43:59 -04:00
Francesco Bursi
d602f77a33
Add if() function to raster calculator (#44839)
* start to work on new branch for conditional statement

* adjust the layout

* some pseudocode

* start to design the type tFunct, that should lead to the conditional statement

* modify the raw with a smart pointer

* change the test method and some other parts in the tFunct type

* complete the conditional statement option and update the test

* change evaluation method

* some optimization in the evaluation method

* minor adjustment

* minor adjustmentto test method

* add the button to the ui and some change to the code

* add a comment

* modify the parser and lexer in order to let the raster calc work with case-insensitive IF/if/If/iF

* change some parts according to the review and simplify the test method

* minor changes

* modify comment

* minor changes to enum type (tFunction)

* add some parts to test toString()  method

* add the possibility to use scalar condition in eveluationFunction() method and the corresponding test code

* update toString method

* update and optimize toString method

Co-authored-by: franc <Franc-Brs>
2021-09-07 09:48:12 +02:00
Francesco Bursi
179cb1d951
[feature] virtual raster data provider (#44195)
* try to commit some changes in the branch

* addedd 3 file, cmake, vrp .h and .cpp

* updating VRP, no good results

* try to solve some issue to the virtual raster provider

* metadata class added, it should be developed

* registred in qgsproviderregistry the new VRP

* on line to test debug in the  new VRP

* chenge of 1_06

* minor change 2 06

* updating VRP, it can add some useless color to map canvas

* add baseclass test fro new provider

* Delete testqgsvirtualrasterprovider.cpp

* move VRP to src/providers

* Delete src/core/providers/virtualrasterprovider directory

* little change to cmake

* added as dynamic provider

* move the VRP to src/providers and let it work

* move the VRP to src/providers and let it work

* including qgis analysis

* updating block function with some calc tools

* delete block function, updating readblock function

* modified block method, used setValue --> to update with bits

* modified block method

* modified block method, adding takedata to the resultmatrix

* modified test for the new provider

* Add some checks in the block method, for raster entries

* tries for the calculator tool

* work on the hardcoded part and test

* work on the hardcoded test

* minor change in order to make the calc functionaltiy work

* minor change to the loop in which the computation occurs

* try to understand how qgsrastermatrixworks

* work on debugging new class

* work on debugging new class

* updating test and block method

* updating test and and block, now it works running in test mode

* updating test and and block, now it works running in test mode with bits

* updating test and and block, now it works running in test mode with bits

* update test

* update test and provider class

* add decodeuri and encodeui in metadata, at the moment they do nothing

* modify qgsrasterdataprovider by adding decoding and encoding uri methods

* workin on encode and decode funct

* work on encode/decode after Martin advices

* work on encode/decode after Martin advices, and update unit test

* work on encode/decode and update Cmakelist of provider test

* work on encode/decode and update Cmakelist and provider test

* work on encode/decode and update test + constructor

* work on encode/decode and constructor

* decode is now non trivial, he same as constructor

* working on encoding

* working on encoding/decoding

* change a little the code/decode mehods in order to return and get a struct as output/input

* change of decode method

* change the encode method, I should polish the code and optimize the encode for raster layers

* add flag ptr bool to decode mehod

* add flag ptr and modified the constructor of vrprovider

* work on the constructor and deconstructor, the flag does not work properly

* work on the constructor anf decoder

* work on the constructor and decoder

* work on the constructor and add some lines to popoluta mRasterEntries

* delete hardcoded data

* work on constructor and copy constructor 2

* add the parsing of the formula in the constructor, I should make a private var with calcnode

* add the parsing of the formula in the constructor, I should make a private var with calcnode2

* add some checks in the constructor2

* modify the copy constructor, add some code to adjust the qgsrasterdataprovider.sip

* modify checks in the constructor and in the decode method, in order to avoid nested if stat

* delete the logic in the decode method and add in the constructor

* delete the logic in the decode method and add in the constructor, add some redundant check in the constructor

* delete the logic in the decode method and add in the constructor, add some redundant check in the constructor 2

* test is now more general

* test is now more general2

* delete of a comment

* banned keywords check

* little error

* add copyright

* add copyright2

* add assignment operator= delete

* add documentation in qgsrasterprovider

* documentation

* modify qgsstringutils

* little modifications

* add the checkbox to the ui

* come back to old ui for raster calc

* adjust some qt::endl in the test of vrprovider

* start to work on the ui dialog

* layot of the code

* add some logic to the dialog of the raster calc

* add some test to qgisapp, need to modify the encoder and maybe put it in the qgrastercalcdialog

* modify some logic in rastercalcdialog and in the app, I should modify and move the encode method

* modify the comment

* add method to calcnode, modify the constructor of the provider and the open of the dialog

* add documentation

* some modifications according to the first review

* sadd some changes according to Martin's review

* change qgsrastercalcnode methods that returns raster names, small change to ui

* change the ui

* change the ui - using QString instead of QStringLiteral

* change the ui - using QString instead of QStringLiteral

* change name of subdirectory containing the virtual raster provider

* change name of subdirectory containing the virtual raster provider2

* change name of subdirectory containing the virtual raster provider3

* minor changes to makefiles

* minor change to dialog, to hide and show the output format and path

* provider key changed to the shorter virtualraster

* add some code to QgsRasterLayer::encodedSource and decodedSource

* delete some comments

* updating VRP, no good results

* made some change after the the second review

* delete the comments

* change some part of the code (delete of comments and cleaning the code)

* correct some layout errors

* change the mail contatct in my prvider

* change details on the method in qgsrastercalcnode

* change some method of the test class of my provider

* delete some leakage in the virtual raster provider

* modify some parts according to the review + change two lines of code for encoding/decoding methods

* modify a line of qgisapp.cpp

* small change according to the comments on th PR

* add a test method for second generation virtual raster and modify checks in qgisapp

* correction of the test method

Co-authored-by: franc <Franc-Brs>
2021-08-17 10:00:16 +02:00
Nyall Dawson
c2e1ea3b39 QgsGeometry::Change operator== should be const 2021-07-20 17:25:48 +10:00
Nyall Dawson
81b934d9d1 Rework API and improve memory handling of graph objects
Instead of QgsGraphBuilder::graph() taking the ownership of the graph
and leaving the QgsGraphBuilder in an unpredictable state, add an
explicit "takeGraph" method which takes the existing graph and
make the existing "graph" method just return a copy of the graph.

Also fix corresponding memory leaks in network analysis processing
algorithms.

Fixes #44079
2021-07-20 13:54:46 +10:00
Vincent Cloarec
8cd8bec5f2
[mesh] mesh frame editing part 3 - Advanced editing (#44169)
[mesh] [feature] Delaunay triangulation and face refinement for advanced mesh editing tools
2021-07-19 08:21:31 +02:00
nirvn
4b52b7be7f Move QgsExifTools utility class to core 2021-07-07 13:46:11 +07:00
Nyall Dawson
c8156b0106 Add c++20 todo for replacing equality operators with default implementations 2021-07-02 12:19:58 +10:00