Skip to content
Permalink
Browse files

Merge branch 'master' into relating_values

  • Loading branch information
signedav committed Dec 19, 2019
2 parents e8b82c1 + 6654870 commit 7f9aa3d2bb7b30b8cd959a49ea10580ad06bad1f
Showing with 5,108 additions and 1,857 deletions.
  1. +1 −1 .ci/azure-pipelines/azure-pipelines.yml
  2. +19 −0 .github/workflows/backport.yml
  3. +1 −0 images/images.qrc
  4. +31 −0 images/themes/default/propertyicons/relations.svg
  5. +1 −0 linux/org.qgis.qgis.appdata.xml.in
  6. +1 −0 python/analysis/auto_generated/interpolation/qgsinterpolator.sip.in
  7. +9 −0 python/core/auto_generated/expression/qgsexpression.sip.in
  8. +21 −2 python/core/auto_generated/mesh/qgsmeshdataprovider.sip.in
  9. +21 −0 python/core/auto_generated/mesh/qgsmeshlayer.sip.in
  10. +27 −3 python/core/auto_generated/mesh/qgsmeshtimesettings.sip.in
  11. +4 −1 python/core/auto_generated/qgscoordinatereferencesystem.sip.in
  12. +1 −0 python/core/auto_generated/qgsmaplayer.sip.in
  13. +1 −1 python/core/auto_generated/qgsrelationmanager.sip.in
  14. +1 −0 python/core/auto_generated/qgssettings.sip.in
  15. +2 −0 python/core/auto_generated/qgsvectorlayer.sip.in
  16. +2 −1 python/core/auto_generated/qgsvectorlayerutils.sip.in
  17. +56 −9 python/gui/auto_generated/qgsexpressionbuilderwidget.sip.in
  18. +60 −0 python/gui/auto_generated/qgsexpressionstoredialog.sip.in
  19. +5 −1 python/gui/auto_generated/qgsfeatureselectiondlg.sip.in
  20. +2 −0 python/gui/auto_generated/qgstextformatwidget.sip.in
  21. +1 −0 python/gui/gui_auto.sip
  22. +2 −1 python/plugins/processing/algs/qgis/TilesXYZ.py
  23. +5 −0 resources/function_help/json/UserGroup
  24. +3 −2 resources/function_help/json/rand
  25. +4 −3 resources/function_help/json/randf
  26. +2 −2 resources/function_help/json/string_to_array
  27. +9 −1 scripts/process_function_template.py
  28. +1 −0 scripts/remove_temporary_files.sh
  29. +1 −0 src/analysis/interpolation/qgsinterpolator.h
  30. +3 −1 src/app/mesh/qgsmeshrendereractivedatasetwidget.cpp
  31. +26 −2 src/app/mesh/qgsmeshtimeformatdialog.cpp
  32. +3 −1 src/app/mesh/qgsmeshtimeformatdialog.h
  33. +118 −20 src/app/qgisapp.cpp
  34. +21 −5 src/app/qgisapp.h
  35. +6 −475 src/app/qgsattributetabledialog.cpp
  36. +0 −54 src/app/qgsattributetabledialog.h
  37. +359 −90 src/app/qgscustomprojectiondialog.cpp
  38. +22 −6 src/app/qgscustomprojectiondialog.h
  39. +1 −0 src/app/qgsfieldcalculator.cpp
  40. +12 −1 src/app/qgshandlebadlayers.cpp
  41. +1 −1 src/app/qgshandlebadlayers.h
  42. +1 −1 src/app/qgslayerstylingwidget.cpp
  43. +25 −14 src/app/qgsmaplayerstylecategoriesmodel.cpp
  44. +2 −1 src/app/qgsmaplayerstyleguiutils.cpp
  45. +47 −52 src/app/qgsprojectproperties.cpp
  46. +14 −22 src/app/qgsprojectproperties.h
  47. +3 −0 src/core/CMakeLists.txt
  48. +20 −0 src/core/expression/qgsexpression.cpp
  49. +7 −0 src/core/expression/qgsexpression.h
  50. +4 −1 src/core/expression/qgsexpression_p.h
  51. +50 −5 src/core/expression/qgsexpressionfunction.cpp
  52. +0 −1 src/core/expression/qgsexpressionfunction.h
  53. +18 −11 src/core/fieldformatter/qgsrelationreferencefieldformatter.cpp
  54. +21 −0 src/core/mesh/qgsmeshdataprovider.cpp
  55. +21 −2 src/core/mesh/qgsmeshdataprovider.h
  56. +44 −18 src/core/mesh/qgsmeshlayer.cpp
  57. +17 −0 src/core/mesh/qgsmeshlayer.h
  58. +37 −0 src/core/mesh/qgsmeshlayerutils.cpp
  59. +9 −0 src/core/mesh/qgsmeshlayerutils.h
  60. +12 −0 src/core/mesh/qgsmeshtimesettings.cpp
  61. +31 −1 src/core/mesh/qgsmeshtimesettings.h
  62. +1 −0 src/core/providers/meshmemory/qgsmeshmemorydataprovider.cpp
  63. +44 −6 src/core/qgscoordinatereferencesystem.cpp
  64. +4 −1 src/core/qgscoordinatereferencesystem.h
  65. +9 −10 src/core/qgsmaplayer.cpp
  66. +2 −1 src/core/qgsmaplayer.h
  67. +6 −2 src/core/qgsmaprendererjob.cpp
  68. +19 −1 src/core/qgsmaprendererparalleljob.cpp
  69. +4 −1 src/core/qgsrelationmanager.cpp
  70. +1 −1 src/core/qgsrelationmanager.h
  71. +3 −1 src/core/qgssettings.cpp
  72. +1 −0 src/core/qgssettings.h
  73. +148 −0 src/core/qgsvectorlayer.cpp
  74. +12 −0 src/core/qgsvectorlayer.h
  75. +2 −0 src/core/qgsvectorlayerref.h
  76. +2 −1 src/core/qgsvectorlayerutils.h
  77. +75 −0 src/core/qgsweakrelation.cpp
  78. +101 −0 src/core/qgsweakrelation.h
  79. +6 −0 src/gui/CMakeLists.txt
  80. +1 −0 src/gui/attributetable/qgsdualview.cpp
  81. +535 −0 src/gui/attributetable/qgsfeaturefilterwidget.cpp
  82. +138 −0 src/gui/attributetable/qgsfeaturefilterwidget_p.h
  83. +2 −9 src/gui/editorwidgets/qgsrelationreferencewidget.cpp
  84. +1 −0 src/gui/qgsexpressionbuilderdialog.cpp
  85. +149 −18 src/gui/qgsexpressionbuilderwidget.cpp
  86. +56 −10 src/gui/qgsexpressionbuilderwidget.h
  87. +0 −2 src/gui/qgsexpressionselectiondialog.cpp
  88. +61 −0 src/gui/qgsexpressionstoredialog.cpp
  89. +66 −0 src/gui/qgsexpressionstoredialog.h
  90. +59 −4 src/gui/qgsfeatureselectiondlg.cpp
  91. +41 −6 src/gui/qgsfeatureselectiondlg.h
  92. +26 −2 src/gui/qgsprojectionselectiontreewidget.cpp
  93. +2 −0 src/gui/qgsprojectionselectiontreewidget.h
  94. +63 −55 src/gui/qgsrelationeditorwidget.cpp
  95. +1 −0 src/gui/qgsrelationeditorwidget.h
  96. +2 −0 src/gui/qgstextformatwidget.cpp
  97. +3 −0 src/gui/qgstextformatwidget.h
  98. +4 −0 src/providers/mdal/qgsmdalprovider.cpp
  99. +16 −3 src/providers/wms/qgswmsdataitems.cpp
  100. +9 −0 src/providers/wms/qgswmsdataitems.h
  101. +23 −2 src/ui/mesh/qgsmeshrenderervectorsettingswidgetbase.ui
  102. +87 −15 src/ui/mesh/qgsmeshtimeformatdialog.ui
  103. +13 −194 src/ui/qgsattributetabledialog.ui
  104. +72 −50 src/ui/qgscustomprojectiondialogbase.ui
  105. +273 −177 src/ui/qgsexpressionbuilder.ui
  106. +82 −0 src/ui/qgsexpressionstoredialogbase.ui
  107. +216 −0 src/ui/qgsfeaturefilterwidget.ui
  108. +182 −11 src/ui/qgsfeatureselectiondlg.ui
  109. +2 −2 tests/src/app/testqgsattributetable.cpp
  110. +153 −0 tests/src/app/testqgsprojectproperties.cpp
  111. +1 −0 tests/src/core/CMakeLists.txt
  112. +85 −10 tests/src/core/testqgscoordinatereferencesystem.cpp
  113. +65 −5 tests/src/core/testqgsexpression.cpp
  114. +31 −0 tests/src/core/testqgsmaprendererjob.cpp
  115. +5 −0 tests/src/core/testqgsmapsettings.cpp
  116. +106 −0 tests/src/core/testqgsweakrelation.cpp
  117. +12 −8 tests/src/python/test_qgsdatumtransforms.py
  118. +27 −0 tests/src/python/test_qgsexpressionbuilderwidget.py
  119. +65 −0 tests/src/python/test_qgsprojectionselectionwidgets.py
  120. +5 −13 tests/src/python/test_qgsrelationeditwidget.py
  121. +2 −2 tests/src/python/test_qgstextformatwidget.py
  122. BIN ...expected_vector_layer_bounds_with_reprojection/expected_vector_layer_bounds_with_reprojection.png
  123. BIN ...ges/selective_masking/multiple_label_masks_different_sets/multiple_label_masks_different_sets.png
  124. BIN .../control_images/selective_masking/multiple_label_masks_same_set/multiple_label_masks_same_set.png
  125. +36 −0 tests/testdata/grid_4326.geojson
  126. BIN tests/testdata/selective_masking.qgd
  127. +641 −421 tests/testdata/selective_masking.qgs
@@ -1,7 +1,7 @@
variables:
LR: release-3_10
LTR: release-3_4
CTEST_CUSTOM_TESTS_IGNORE: "ProcessingGdalAlgorithmsRasterTest;ProcessingGdalAlgorithmsVectorTest;ProcessingGrass7AlgorithmsImageryTest;ProcessingGrass7AlgorithmsRasterTest;ProcessingGrass7AlgorithmsVectorTest;ProcessingGuiTest;ProcessingOtbAlgorithmsTest;ProcessingQgisAlgorithmsTestPt1;ProcessingQgisAlgorithmsTestPt2;ProcessingQgisAlgorithmsTestPt3;ProcessingQgisAlgorithmsTestPt4;ProcessingScriptUtilsTest;PyQgsAnnotation;PyQgsAppStartup;PyQgsAuthManagerOAuth2OWSTest;PyQgsAuthManagerPasswordOWSTest;PyQgsAuthManagerPKIOWSTest;PyQgsAuthManagerProxy;PyQgsAuthSettingsWidget;PyQgsAuxiliaryStorage;PyQgsBlockingNetworkRequest;PyQgsExifTools;PyQgsFileDownloader;PyQgsFileUtils;PyQgsGeometryTest;PyQgsImageCache;PyQgsImportIntoPostGIS;PyQgsLayoutAtlas;PyQgsLayoutLegend;PyQgsLayoutMap;PyQgsLayoutMapGrid;PyQgsMapLayer;PyQgsOfflineEditingWFS;PyQgsOGRProvider;PyQgsOGRProviderGpkg;PyQgsOGRProviderSqlite;PyQgsPalLabelingCanvas;PyQgsPalLabelingLayout;PyQgsPalLabelingPlacement;PyQgsPointDisplacementRenderer;PyQgsProject;PyQgsProviderConnectionGpkg;PyQgsProviderConnectionPostgres;PyQgsPythonProvider;PyQgsRasterFileWriter;PyQgsRasterLayer;PyQgsSelectiveMasking;PyQgsServerAccessControlWMSGetlegendgraphic;PyQgsServerApi;PyQgsServerCacheManager;PyQgsServerLocaleOverride;PyQgsServerSecurity;PyQgsServerSettings;PyQgsServerWMS;PyQgsServerWMSDimension;PyQgsServerWMSGetFeatureInfo;PyQgsServerWMSGetLegendGraphic;PyQgsServerWMSGetMap;PyQgsServerWMSGetPrint;PyQgsServerWMTS;PyQgsSettings;PyQgsShapefileProvider;PyQgsSpatialiteProvider;PyQgsSvgCache;PyQgsSymbolLayer;PyQgsTaskManager;PyQgsTextRenderer;PyQgsVectorFileWriter;PyQgsVectorLayer;PyQgsVectorLayerUtils;PyQgsVirtualLayerProvider;PyQgsWFSProviderGUI;PyQgsZipUtils;qgis_3drenderingtest;qgis_alignrastertest;qgis_arcgisrestutilstest;qgis_banned_keywords;qgis_browsermodeltest;qgis_callouttest;qgis_compositionconvertertest;qgis_coordinatereferencesystemtest;qgis_datadefinedsizelegendtest;qgis_datumtransformdialog;qgis_diagramtest;qgis_doxygen_order;qgis_dxfexporttest;qgis_expressiontest;qgis_filedownloader;qgis_geometrycheckstest;qgis_geometrytest;qgis_geonodeconnectiontest;qgis_grassprovidertest7;qgis_imagecachetest;qgis_invertedpolygonrenderertest;qgis_labelingenginetest;qgis_layerdefinitiontest;qgis_layout3dmaptest;qgis_layouthtmltest;qgis_layoutlabeltest;qgis_layoutmapgridtest;qgis_layoutmaptest;qgis_layoutpicturetest;qgis_layoutscalebartest;qgis_layouttabletest;qgis_legendrenderertest;qgis_licenses;qgis_maprendererjobtest;qgis_maprotationtest;qgis_mapsettingsutilstest;qgis_maptooladdfeatureline;qgis_mimedatautilstest;qgis_networkaccessmanagertest;qgis_openclutilstest;qgis_painteffecttest;qgis_pallabelingtest;qgis_processingtest;qgis_projecttest;qgis_qgisappclipboard;qgis_rasterlayersaveasdialog;qgis_shellcheck;qgis_sipify;qgis_sip_include;qgis_sip_uptodate;qgis_spelling;qgis_styletest;qgis_svgcachetest;qgis_taskmanagertest;qgis_transformdialog;qgis_valuerelationwidgetwrapper;qgis_vectorfilewritertest;qgis_wcsprovidertest;qgis_ziplayertest;qgis_meshcalculator"
CTEST_CUSTOM_TESTS_IGNORE: "ProcessingGdalAlgorithmsRasterTest;ProcessingGdalAlgorithmsVectorTest;ProcessingGrass7AlgorithmsImageryTest;ProcessingGrass7AlgorithmsRasterTest;ProcessingGrass7AlgorithmsVectorTest;ProcessingGuiTest;ProcessingOtbAlgorithmsTest;ProcessingQgisAlgorithmsTestPt1;ProcessingQgisAlgorithmsTestPt2;ProcessingQgisAlgorithmsTestPt3;ProcessingQgisAlgorithmsTestPt4;ProcessingScriptUtilsTest;PyQgsAnnotation;PyQgsAppStartup;PyQgsAuthManagerOAuth2OWSTest;PyQgsAuthManagerPasswordOWSTest;PyQgsAuthManagerPKIOWSTest;PyQgsAuthManagerProxy;PyQgsAuthSettingsWidget;PyQgsAuxiliaryStorage;PyQgsBlockingNetworkRequest;PyQgsExifTools;PyQgsFileDownloader;PyQgsFileUtils;PyQgsGeometryTest;PyQgsImageCache;PyQgsImportIntoPostGIS;PyQgsLayoutAtlas;PyQgsLayoutLegend;PyQgsLayoutMap;PyQgsLayoutMapGrid;PyQgsMapLayer;PyQgsOfflineEditingWFS;PyQgsOGRProvider;PyQgsOGRProviderGpkg;PyQgsOGRProviderSqlite;PyQgsPalLabelingCanvas;PyQgsPalLabelingLayout;PyQgsPalLabelingPlacement;PyQgsPointDisplacementRenderer;PyQgsProject;PyQgsProviderConnectionGpkg;PyQgsProviderConnectionPostgres;PyQgsPythonProvider;PyQgsRasterFileWriter;PyQgsRasterLayer;PyQgsSelectiveMasking;PyQgsServerAccessControlWMSGetlegendgraphic;PyQgsServerApi;PyQgsServerCacheManager;PyQgsServerLocaleOverride;PyQgsServerSecurity;PyQgsServerSettings;PyQgsServerWMS;PyQgsServerWMSDimension;PyQgsServerWMSGetFeatureInfo;PyQgsServerWMSGetLegendGraphic;PyQgsServerWMSGetMap;PyQgsServerWMSGetPrint;PyQgsServerWMTS;PyQgsSettings;PyQgsShapefileProvider;PyQgsSpatialiteProvider;PyQgsSvgCache;PyQgsSymbolLayer;PyQgsTaskManager;PyQgsTextRenderer;PyQgsVectorFileWriter;PyQgsVectorLayer;PyQgsVectorLayerUtils;PyQgsVirtualLayerProvider;PyQgsWFSProviderGUI;PyQgsZipUtils;qgis_3drenderingtest;qgis_alignrastertest;qgis_arcgisrestutilstest;qgis_banned_keywords;qgis_browsermodeltest;qgis_callouttest;qgis_compositionconvertertest;qgis_coordinatereferencesystemtest;qgis_datadefinedsizelegendtest;qgis_datumtransformdialog;qgis_diagramtest;qgis_doxygen_order;qgis_dxfexporttest;qgis_expressiontest;qgis_filedownloader;qgis_geometrycheckstest;qgis_geometrytest;qgis_geonodeconnectiontest;qgis_grassprovidertest7;qgis_imagecachetest;qgis_invertedpolygonrenderertest;qgis_labelingenginetest;qgis_layerdefinitiontest;qgis_layout3dmaptest;qgis_layouthtmltest;qgis_layoutlabeltest;qgis_layoutmapgridtest;qgis_layoutmaptest;qgis_layoutpicturetest;qgis_layoutscalebartest;qgis_layouttabletest;qgis_legendrenderertest;qgis_licenses;qgis_maprendererjobtest;qgis_maprotationtest;qgis_mapsettingsutilstest;qgis_maptooladdfeatureline;qgis_mimedatautilstest;qgis_networkaccessmanagertest;qgis_openclutilstest;qgis_painteffecttest;qgis_pallabelingtest;qgis_processingtest;qgis_projecttest;qgis_qgisappclipboard;qgis_rasterlayersaveasdialog;qgis_shellcheck;qgis_sipify;qgis_sip_include;qgis_sip_uptodate;qgis_spelling;qgis_styletest;qgis_svgcachetest;qgis_taskmanagertest;qgis_transformdialog;qgis_valuerelationwidgetwrapper;qgis_vectorfilewritertest;qgis_wcsprovidertest;qgis_ziplayertest;qgis_meshcalculator;qgis_pointlocatortest;PyQgsExpressionBuilderWidget;PyQgsDatumTransform"
Agent.Source.Git.ShallowFetchDepth: 120

trigger:
@@ -0,0 +1,19 @@
name: Backport
on:
pull_request:
types:
- closed
- labeled

jobs:
backport:
runs-on: ubuntu-18.04
name: Backport
steps:
- name: Backport Bot
uses: Gaurav0/backport@v1.0.24
with:
bot_username: qgis-bot
bot_token: ddbdec32940df79f1adf2369b4b10f10b5a66f65
bot_token_key: a1b2c3d47311f8e29e204f85a81b4df4a44e252c
github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -591,6 +591,7 @@
<file>themes/default/propertyicons/system.svg</file>
<file>themes/default/propertyicons/transparency.svg</file>
<file>themes/default/propertyicons/spacer.svg</file>
<file>themes/default/propertyicons/relations.svg</file>
<file>themes/default/rendererCategorizedSymbol.svg</file>
<file>themes/default/rendererGraduatedSymbol.svg</file>
<file>themes/default/rendererNullSymbol.svg</file>
@@ -0,0 +1,31 @@
<svg height="32" width="32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" gradientUnits="userSpaceOnUse" x1="5.6324644" x2="10.6324644" y1="3.7047943" y2="15.7047943">
<stop offset="0" stop-color="#f1f1f1"/>
<stop offset="1" stop-color="#d6d6d6"/>
</linearGradient>
<path d="m10.283011 8.3578359l10.139192.00203v7.8920306" fill="none" stroke="#2b3b4d"/>
<g fill-rule="evenodd" stroke="#888a85" stroke-linecap="round" stroke-linejoin="round" transform="translate(-.431455 -.14381833)">
<rect fill="url(#a)" height="15" overflow="visible" rx="1" width="13" x="2.6324642" y="1.7047944"/>
<path d="m2.6324644 5.7047943l12.9999996 0" fill="#eeeeec" overflow="visible"/>
<path d="m4.6324644 8.7047943l2 0" fill="#eeeeec" overflow="visible"/>
<path d="m4.6324644 11.704794l2 0" fill="#eeeeec" overflow="visible"/>
<path d="m4.6324644 14.704795l2 0" fill="#eeeeec" overflow="visible"/>
<path d="m9.6324641 8.7047943l3.9999999 0" fill="#eeeeec" overflow="visible"/>
<path d="m9.5703417 11.663069l4.0621223.04172" fill="#eeeeec" overflow="visible"/>
<path d="m9.6324641 14.704795l3.9999999 0" fill="#eeeeec" overflow="visible"/>
<path d="m4.7035514 3.7105107l1.928913-.00572" fill="#eeeeec" overflow="visible"/>
<path d="m9.6324641 3.7047943l3.9999999 0" fill="#eeeeec" overflow="visible"/>
</g>
<g fill-rule="evenodd" stroke="#888a85" stroke-linecap="round" stroke-linejoin="round" transform="translate(14.885197 13.80656)">
<rect fill="url(#a)" height="15" overflow="visible" rx="1" width="13" x="2.6324642" y="1.7047944"/>
<path d="m2.6324644 5.7047943l12.9999996 0" fill="#eeeeec" overflow="visible"/>
<path d="m4.6324644 8.7047943l2 0" fill="#eeeeec" overflow="visible"/>
<path d="m4.6324644 11.704794l2 0" fill="#eeeeec" overflow="visible"/>
<path d="m4.6324644 14.704795l2 0" fill="#eeeeec" overflow="visible"/>
<path d="m9.6324641 8.7047943l3.9999999 0" fill="#eeeeec" overflow="visible"/>
<path d="m9.5703417 11.663069l4.0621223.04172" fill="#eeeeec" overflow="visible"/>
<path d="m9.6324641 14.704795l3.9999999 0" fill="#eeeeec" overflow="visible"/>
<path d="m4.7035514 3.7105107l1.928913-.00572" fill="#eeeeec" overflow="visible"/>
<path d="m9.6324641 3.7047943l3.9999999 0" fill="#eeeeec" overflow="visible"/>
</g>
</svg>
@@ -25,6 +25,7 @@
<release version="3.2.0" date="2018-06-22" />
</releases>
<launchable type="desktop-id">org.qgis.qgis.desktop</launchable>
<content_rating type="oars-1.1"/>
<provides>
<binary>qgis</binary>
</provides>
@@ -10,6 +10,7 @@




struct QgsInterpolatorVertexData
{

@@ -535,6 +535,15 @@ Returns the help text for a specified function.
.. seealso:: :py:func:`variableHelpText`

.. seealso:: :py:func:`formatVariableHelp`
%End

static QStringList tags( const QString &name );
%Docstring
Returns a string list of search tags for a specified function.

:param name: function name

.. versionadded:: 3.12
%End

static QString variableHelpText( const QString &variableName );
@@ -244,6 +244,7 @@ For scalar and vector 2d the behavior is undefined
QVector<double> values() const;
%Docstring
Returns buffer to the array with values
For vector it is pairs (x1, y1, x2, y2, ... )

.. versionadded:: 3.12
%End
@@ -321,12 +322,12 @@ Number of 2d faces for which the volume data is stored in the block

int firstVolumeIndex() const;
%Docstring
Index of the first volume stored in the buffer
Index of the first volume stored in the buffer (absolute)
%End

int lastVolumeIndex() const;
%Docstring
Index of the last volume stored in the buffer
Index of the last volume stored in the buffer (absolute)
%End

int volumesCount() const;
@@ -369,6 +370,15 @@ Sets the indexing between faces and volumes
Returns the values at volume centers

For vector datasets the number of values is doubled (x1, y1, x2, y2, ... )
%End

QgsMeshDatasetValue value( int volumeIndex ) const;
%Docstring
Returns the value at volume centers

:param volumeIndex: volume index relative to firstVolumeIndex()

:return: value (scalar or vector)
%End

void setValues( const QVector<double> &doubleBuffer );
@@ -417,6 +427,7 @@ Constructs an empty metadata object
double minimum,
double maximum,
int maximumVerticalLevels,
const QDateTime &referenceTime,
const QMap<QString, QString> &extraOptions );
%Docstring
Constructs a valid metadata object
@@ -427,6 +438,7 @@ Constructs a valid metadata object
:param minimum: minimum value (magnitude for vectors) present among all group's dataset values
:param maximum: maximum value (magnitude for vectors) present among all group's dataset values
:param maximumVerticalLevels: maximum number of vertical levels for 3d stacked meshes, 0 for 2d meshes
:param referenceTime: reference time of the dataset group
:param extraOptions: dataset's extra options stored by the provider. Usually contains the name, time value, time units, data file vendor, ...
%End

@@ -471,6 +483,13 @@ Returns maximum scalar value/vector magnitude present for whole dataset group
%Docstring
Returns maximum number of vertical levels for 3d stacked meshes

.. versionadded:: 3.12
%End

QDateTime referenceTime() const;
%Docstring
Returns the reference time

.. versionadded:: 3.12
%End

@@ -201,6 +201,27 @@ Interpolates the value on the given point from given dataset.


.. versionadded:: 3.4
%End

QgsMesh3dDataBlock dataset3dValue( const QgsMeshDatasetIndex &index, const QgsPointXY &point ) const;
%Docstring
Returns the 3d values of stacked 3d mesh defined by the given point

.. note::

It uses previously cached and indexed triangular mesh
and so if the layer has not been rendered previously
(e.g. when used in a script) it returns NaN value

:param index: dataset index specifying group and dataset to extract value from
:param point: point to query in map coordinates

:return: all 3d stacked values that belong to face defined by given point. Returns invalid block
for point outside the mesh layer or in case triangular mesh was not
previously used for rendering or for datasets that do not have type DataOnVolumes


.. versionadded:: 3.12
%End

public slots:
@@ -23,10 +23,20 @@ Represents a mesh time settings for mesh datasets
#include "qgsmeshtimesettings.h"
%End
public:

enum TimeUnit
{
//! second unit
seconds,
//! minute unit
minutes,
//! hour unit
hours,
//! day unit
days
};

QgsMeshTimeSettings();
%Docstring
Default constructor for relative time format and 0 offset
%End
QgsMeshTimeSettings( double relativeTimeOffsetHours, const QString &relativeTimeFormat );
%Docstring
Constructs relative time format settings with defined offset in hours
@@ -88,6 +98,20 @@ Returns format used for absolute time
void setAbsoluteTimeFormat( const QString &absoluteTimeFormat );
%Docstring
Sets format used for absolute time
%End

TimeUnit providerTimeUnit() const;
%Docstring
Returns the provider time unit

.. versionadded:: 3.12
%End

void setProviderTimeUnit( const TimeUnit &providerTimeUnit );
%Docstring
Sets the provider time unit

.. versionadded:: 3.12
%End

};
@@ -696,11 +696,14 @@ Update proj.4 parameters in our database from proj.4
This is used internally and should not be necessary to call in client code
%End

long saveAsUserCrs( const QString &name );
long saveAsUserCrs( const QString &name, bool storeWkt = true );
%Docstring
Saves the CRS as a custom ("USER") CRS.

Returns the new CRS srsid(), or -1 if the CRS could not be saved.

If ``storeWkt`` is ``True`` then the WKT representation of the CRS will be stored in the database.
If it is ``False``, then only the lossy PROJ string representation of the CRS will be stored (not recommended).
%End

QString geographicCrsAuthId() const;
@@ -91,6 +91,7 @@ This is the base class for all map layer types (vector, raster).
Rendering,
CustomProperties,
GeometryOptions,
Relations,
AllStyleCategories
};
typedef QFlags<QgsMapLayer::StyleCategory> StyleCategories;
@@ -104,7 +104,7 @@ Gets all relations where the specified layer (and field) is the referencing part
:return: A list of relations matching the given layer and fieldIdx.
%End

QList<QgsRelation> referencedRelations( QgsVectorLayer *layer = 0 ) const;
QList<QgsRelation> referencedRelations( const QgsVectorLayer *layer = 0 ) const;
%Docstring
Gets all relations where this layer is the referenced part (i.e. the parent table with the primary key being referenced from another layer).

@@ -57,6 +57,7 @@ QgsSettings provides some shortcuts to get/set namespaced settings from/to a spe
Auth,
App,
Providers,
Expressions,
Misc
};

@@ -2014,6 +2014,8 @@ Returns the layer's relations, where the foreign key is on this layer.
:return: A list of relations
%End



QgsVectorLayerEditBuffer *editBuffer();
%Docstring
Buffer with uncommitted editing operations. Only valid after editing has been turned on.
@@ -291,7 +291,8 @@ The following operations will be performed to convert the input features:
static QString getFeatureDisplayString( const QgsVectorLayer *layer, const QgsFeature &feature );
%Docstring

:return: the ``layer`` ``feature`` display string
:return: a descriptive string for a ``feature``, suitable for displaying to the user.
The definition is taken from the ``displayExpression`` property of ``layer``.

.. versionadded:: 3.12
%End

0 comments on commit 7f9aa3d

Please sign in to comment.
You can’t perform that action at this time.