NDEVR
API Documentation
MercatorWebImageManager

Manages web-based Mercator tile fetching and image composition for aerial imagery. More...

Inheritance diagram for MercatorWebImageManager:
[legend]
Collaboration diagram for MercatorWebImageManager:
[legend]

Public Member Functions

 MercatorWebImageManager ()
 Constructs the MercatorWebImageManager.
DynamicPointer< WebMercatorTileServicedefaultService (AerialImageMode mode) const override
 Returns the default tile service for the given aerial image mode.
fltp08 devicePixelRatio () const
 Returns the current device pixel ratio.
bool getImage (const MercatorImageRequest &request, std::function< void(const MercatorImage &)> finished_callback)
 Fetches a composed image from tiles with a completion callback.
bool getTile (const WebMercatorTileRequest &request)
 Fetches a single map tile.
virtual bool postRequest (const AerialImageRequest &request) override
 Posts an aerial image request.
virtual bool postRequest (const MercatorImageRequest &request, std::function< void(const MercatorImage &)> finished_callback) override
 Posts an image request with a completion callback.
void setDevicePixelRatio (fltp08 device_pixel_ratio) override
 Sets the device pixel ratio for high-DPI displays.
Public Member Functions inherited from MercatorImageManager
 MercatorImageManager ()
 Constructor.

Static Public Member Functions

static MercatorWebImageManagerDefaultManager ()
 Returns the singleton default manager instance.
static void Initialize ()
 Initializes the global tile services and network manager.
Static Public Member Functions inherited from MercatorImageManager
static MercatorImageManagerPrimaryManager ()
 Returns the singleton primary MercatorImageManager instance.

Protected Member Functions

void executePendingRequest (const UUID &id)
 Executes the next pending tile request for the given ID.
void finish (bool success, const MercatorImageRequest &request, std::function< void(const MercatorImage &)> finished_callback)
 Handles completion of a full image composition.
void finish (const String &id, const WebMercatorTileRequest &request)
 Handles completion of a single tile fetch.
bool getImage (const AerialImageRequest &request)
 Fetches a composed image for the given aerial request.
bool hasPendingRequest (const UUID &id) const
 Checks whether a request with the given ID is pending.

Protected Attributes

fltp08 m_device_pixel_ratio = 1.0
 The device pixel ratio for high-DPI rendering.
Dictionary< UUID, QImage > m_image_buffers
 Partially composed tile images per request ID.
Dictionary< UUID, UUIDm_image_get_id
 Maps image request IDs to tile service IDs.
QNetworkAccessManager * m_network_manager = nullptr
 The Qt network access manager for HTTP requests.
Dictionary< UUID, QueueBuffer< WebMercatorTileRequest > > m_pending_web_requests
 Queued tile requests per request ID.
ProgressInfo m_progress
 Tracks progress of ongoing tile fetch operations.
MercatorProcessThread * m_thread
 The background processing thread for tile requests.
UUID m_wgs_84 = Constant<UUID>::Invalid
 The WGS84 coordinate system UUID.

Additional Inherited Members

Static Protected Member Functions inherited from MercatorImageManager
static void SetPrimaryManager (MercatorImageManager *manager)
 Sets the singleton primary manager instance.
Static Protected Attributes inherited from MercatorImageManager
static MercatorImageManagers_manager
 Singleton pointer to the primary manager.

Detailed Description

Manages web-based Mercator tile fetching and image composition for aerial imagery.


Definition at line 235 of file WebMercatorTiledImageManager.h.

Member Function Documentation

◆ DefaultManager()

MercatorWebImageManager & MercatorWebImageManager::DefaultManager ( )
static

Returns the singleton default manager instance.

Returns
A reference to the default MercatorWebImageManager.

References MercatorWebImageManager().

◆ defaultService()

DynamicPointer< WebMercatorTileService > MercatorWebImageManager::defaultService ( AerialImageMode mode) const
overridevirtual

Returns the default tile service for the given aerial image mode.

Parameters
[in]modeThe aerial image mode.
Returns
A pointer to the default tile service.

Implements MercatorImageManager.

◆ devicePixelRatio()

fltp08 MercatorWebImageManager::devicePixelRatio ( ) const
inline

Returns the current device pixel ratio.

Returns
The pixel ratio.

Definition at line 271 of file WebMercatorTiledImageManager.h.

References m_device_pixel_ratio.

◆ executePendingRequest()

void MercatorWebImageManager::executePendingRequest ( const UUID & id)
protected

Executes the next pending tile request for the given ID.

Parameters
[in]idThe request UUID.

◆ finish() [1/2]

void MercatorWebImageManager::finish ( bool success,
const MercatorImageRequest & request,
std::function< void(const MercatorImage &)> finished_callback )
protected

Handles completion of a full image composition.

Parameters
[in]successWhether the request succeeded.
[in]requestThe original image request.
[in]finished_callbackThe callback to invoke.

◆ finish() [2/2]

void MercatorWebImageManager::finish ( const String & id,
const WebMercatorTileRequest & request )
protected

Handles completion of a single tile fetch.

Parameters
[in]idThe request identifier.
[in]requestThe completed tile request.

◆ getImage() [1/2]

bool MercatorWebImageManager::getImage ( const AerialImageRequest & request)
protected

Fetches a composed image for the given aerial request.

Parameters
[in]requestThe aerial image request.
Returns
True if the request was submitted.

◆ getImage() [2/2]

bool MercatorWebImageManager::getImage ( const MercatorImageRequest & request,
std::function< void(const MercatorImage &)> finished_callback )

Fetches a composed image from tiles with a completion callback.

Parameters
[in]requestThe Mercator image request.
[in]finished_callbackThe callback invoked on completion.
Returns
True if the request was submitted.

◆ getTile()

bool MercatorWebImageManager::getTile ( const WebMercatorTileRequest & request)

Fetches a single map tile.

Parameters
[in]requestThe tile request.
Returns
True if the request was submitted.

◆ hasPendingRequest()

bool MercatorWebImageManager::hasPendingRequest ( const UUID & id) const
protected

Checks whether a request with the given ID is pending.

Parameters
[in]idThe request UUID.
Returns
True if a pending request exists.

◆ postRequest() [1/2]

virtual bool MercatorWebImageManager::postRequest ( const AerialImageRequest & request)
overridevirtual

Posts an aerial image request.

Parameters
[in]requestThe aerial image request.
Returns
True if the request was submitted.

Reimplemented from MercatorImageManager.

◆ postRequest() [2/2]

virtual bool MercatorWebImageManager::postRequest ( const MercatorImageRequest & request,
std::function< void(const MercatorImage &)> finished_callback )
overridevirtual

Posts an image request with a completion callback.

Parameters
[in]requestThe Mercator image request.
[in]finished_callbackThe callback invoked on completion.
Returns
True if the request was submitted.

Implements MercatorImageManager.

◆ setDevicePixelRatio()

void MercatorWebImageManager::setDevicePixelRatio ( fltp08 device_pixel_ratio)
inlineoverridevirtual

Sets the device pixel ratio for high-DPI displays.

Parameters
[in]device_pixel_ratioThe pixel ratio to set.

Reimplemented from MercatorImageManager.

Definition at line 274 of file WebMercatorTiledImageManager.h.

References m_device_pixel_ratio.


The documentation for this class was generated from the following file: