mirror of
https://github.com/qgis/QGIS.git
synced 2025-11-22 00:14:55 -05:00
Add flags to QgsTiledMeshRequest
This commit is contained in:
parent
ad4ee07e7c
commit
5597a2a640
@ -3789,3 +3789,10 @@ Qgis.TileChildrenAvailability.NeedFetching.__doc__ = "Tile has children, but the
|
||||
Qgis.TileChildrenAvailability.__doc__ = "Possible availability states for a tile's children.\n\n.. versionadded:: 3.34\n\n" + '* ``NoChildren``: ' + Qgis.TileChildrenAvailability.NoChildren.__doc__ + '\n' + '* ``Available``: ' + Qgis.TileChildrenAvailability.Available.__doc__ + '\n' + '* ``NeedFetching``: ' + Qgis.TileChildrenAvailability.NeedFetching.__doc__
|
||||
# --
|
||||
Qgis.TileChildrenAvailability.baseClass = Qgis
|
||||
# monkey patching scoped based enum
|
||||
Qgis.TiledMeshRequestFlag.NoHierarchyFetch.__doc__ = "Do not allow hierarchy fetching when hierarchy is not currently available. Avoids network requests, but may result in an incomplete tile set. If set, then callers will need to manually perform hierarchy fetches as required."
|
||||
Qgis.TiledMeshRequestFlag.__doc__ = "Flags which control how tiled mesh requests behave.\n\n.. versionadded:: 3.34\n\n" + '* ``NoHierarchyFetch``: ' + Qgis.TiledMeshRequestFlag.NoHierarchyFetch.__doc__
|
||||
# --
|
||||
Qgis.TiledMeshRequestFlag.baseClass = Qgis
|
||||
Qgis.TiledMeshRequestFlags.baseClass = Qgis
|
||||
TiledMeshRequestFlags = Qgis # dirty hack since SIP seems to introduce the flags in module
|
||||
|
||||
@ -2188,6 +2188,14 @@ The development version
|
||||
NeedFetching,
|
||||
};
|
||||
|
||||
enum class TiledMeshRequestFlag
|
||||
{
|
||||
NoHierarchyFetch,
|
||||
};
|
||||
|
||||
typedef QFlags<Qgis::TiledMeshRequestFlag> TiledMeshRequestFlags;
|
||||
|
||||
|
||||
static const double DEFAULT_SEARCH_RADIUS_MM;
|
||||
|
||||
static const float DEFAULT_MAPTOPIXEL_THRESHOLD;
|
||||
@ -2350,6 +2358,8 @@ QFlags<Qgis::VectorTileProviderCapability> operator|(Qgis::VectorTileProviderCap
|
||||
|
||||
QFlags<Qgis::TiledMeshProviderCapability> operator|(Qgis::TiledMeshProviderCapability f1, QFlags<Qgis::TiledMeshProviderCapability> f2);
|
||||
|
||||
QFlags<Qgis::TiledMeshRequestFlag> operator|(Qgis::TiledMeshRequestFlag f1, QFlags<Qgis::TiledMeshRequestFlag> f2);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -26,6 +26,20 @@ Tiled mesh data request.
|
||||
|
||||
QgsTiledMeshRequest();
|
||||
|
||||
void setFlags( Qgis::TiledMeshRequestFlags flags );
|
||||
%Docstring
|
||||
Sets ``flags`` that affect how tiles will be fetched.
|
||||
|
||||
.. seealso:: :py:func:`flags`
|
||||
%End
|
||||
|
||||
Qgis::TiledMeshRequestFlags flags() const;
|
||||
%Docstring
|
||||
Returns the flags which affect how tiles are fetched.
|
||||
|
||||
.. seealso:: :py:func:`setFlags`
|
||||
%End
|
||||
|
||||
QgsOrientedBox3D filterBox() const;
|
||||
%Docstring
|
||||
Returns the box from which data will be taken, in the layer's CRS.
|
||||
|
||||
@ -3830,6 +3830,25 @@ class CORE_EXPORT Qgis
|
||||
};
|
||||
Q_ENUM( TileChildrenAvailability )
|
||||
|
||||
/**
|
||||
* Flags which control how tiled mesh requests behave.
|
||||
*
|
||||
* \since QGIS 3.34
|
||||
*/
|
||||
enum class TiledMeshRequestFlag : int
|
||||
{
|
||||
NoHierarchyFetch = 1 << 0, //!< Do not allow hierarchy fetching when hierarchy is not currently available. Avoids network requests, but may result in an incomplete tile set. If set, then callers will need to manually perform hierarchy fetches as required.
|
||||
};
|
||||
Q_ENUM( TiledMeshRequestFlag )
|
||||
|
||||
/**
|
||||
* Flags which control how tiled mesh requests behave.
|
||||
*
|
||||
* \since QGIS 3.34
|
||||
*/
|
||||
Q_DECLARE_FLAGS( TiledMeshRequestFlags, TiledMeshRequestFlag )
|
||||
Q_FLAG( TiledMeshRequestFlags )
|
||||
|
||||
/**
|
||||
* Identify search radius in mm
|
||||
* \since QGIS 2.3
|
||||
@ -3994,6 +4013,7 @@ Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorFileWriterCapabilities )
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorTileProviderFlags )
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorTileProviderCapabilities )
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledMeshProviderCapabilities )
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledMeshRequestFlags )
|
||||
|
||||
// hack to workaround warnings when casting void pointers
|
||||
// retrieved from QLibrary::resolve to function pointers.
|
||||
|
||||
@ -38,6 +38,20 @@ class CORE_EXPORT QgsTiledMeshRequest
|
||||
|
||||
QgsTiledMeshRequest();
|
||||
|
||||
/**
|
||||
* Sets \a flags that affect how tiles will be fetched.
|
||||
*
|
||||
* \see flags()
|
||||
*/
|
||||
void setFlags( Qgis::TiledMeshRequestFlags flags ) { mFlags = flags; }
|
||||
|
||||
/**
|
||||
* Returns the flags which affect how tiles are fetched.
|
||||
*
|
||||
* \see setFlags()
|
||||
*/
|
||||
Qgis::TiledMeshRequestFlags flags() const { return mFlags; }
|
||||
|
||||
/**
|
||||
* Returns the box from which data will be taken, in the layer's CRS.
|
||||
*
|
||||
@ -111,6 +125,7 @@ class CORE_EXPORT QgsTiledMeshRequest
|
||||
|
||||
private:
|
||||
|
||||
Qgis::TiledMeshRequestFlags mFlags;
|
||||
QgsOrientedBox3D mFilterBox;
|
||||
QgsFeedback *mFeedback = nullptr;
|
||||
double mRequiredGeometricError = 0;
|
||||
|
||||
@ -15,6 +15,7 @@ import unittest
|
||||
|
||||
import qgis # NOQA
|
||||
from qgis.core import (
|
||||
Qgis,
|
||||
QgsTiledMeshRequest,
|
||||
QgsFeedback,
|
||||
QgsOrientedBox3D
|
||||
@ -32,6 +33,16 @@ class TestQgsTiledMeshRequest(QgisTestCase):
|
||||
def test_basic(self):
|
||||
request = QgsTiledMeshRequest()
|
||||
|
||||
self.assertEqual(request.flags(),
|
||||
Qgis.TiledMeshRequestFlags())
|
||||
request.setFlags(
|
||||
Qgis.TiledMeshRequestFlags(Qgis.TiledMeshRequestFlag.NoHierarchyFetch)
|
||||
)
|
||||
self.assertEqual(request.flags(),
|
||||
Qgis.TiledMeshRequestFlags(
|
||||
Qgis.TiledMeshRequestFlag.NoHierarchyFetch
|
||||
))
|
||||
|
||||
request.setRequiredGeometricError(1.2)
|
||||
self.assertEqual(request.requiredGeometricError(), 1.2)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user