19#include <QNetworkAccessManager>
20#include <QNetworkReply>
134 [[nodiscard]] QString
crs()
const;
137 [[nodiscard]]
int dpiMode()
const;
148 [[nodiscard]] QMap<QString, QString>
extraParams()
const;
156 const QSize &viewportSize,
159 void render(QPainter *painter,
161 const QSize &imageSize,
206 void onCapabilitiesReply(QNetworkReply *reply);
207 void onGetMapReply(QNetworkReply *reply);
210 [[nodiscard]] QUrl buildGetMapUrl(
const MapExtent &ext,
214 void parseCapabilities(
const QByteArray &xml);
215 void requestTile(
const MapExtent &trackingExt,
219 void invalidateCache();
224 void applyExtentFromActiveLayer();
227 QString m_wmsVersion =
"1.3.0";
228 QString m_activeLayer;
229 QString m_activeStyle;
230 QString m_imageFormat =
"image/png";
231 QString m_crs =
"EPSG:3857";
233 bool m_transparent =
true;
234 QMap<QString, QString> m_extraParams;
236 bool m_capsReady =
false;
238 QNetworkAccessManager *m_nam =
nullptr;
239 QNetworkReply *m_pendingReply =
nullptr;
245 int m_cacheWidth = 0;
246 int m_cacheHeight = 0;
250 int m_requestedWidth = 0;
251 int m_requestedHeight = 0;
Shared visual-adjustment parameters for raster basemaps.
An axis-aligned bounding box in the coordinate space of a given CRS.
Definition mapextent.h:26
Abstract base class for all layers displayed in the MapCanvas.
Definition openswmmvislayer.h:116
QString name() const
Returns the user-visible name of this layer.
Definition openswmmvislayer.cpp:62
SpatialReferenceSystem * srs() const
Returns the spatial reference system for this layer, or nullptr if the layer has no known CRS.
Definition openswmmvislayer.cpp:201
MapExtent extent() const
Returns the layer extent in the layer's own CRS.
Definition openswmmvislayer.cpp:252
Top-level project container managing sessions, the SWMM model layer, and persistence paths for one SW...
Definition openswmmvisworkspace.h:42
Definition graphicsitems.h:300
Represents a coordinate reference system backed by a GDAL OGRSpatialReference.
Definition spatialreferencesystem.h:28
A map layer that fetches and displays images from an OGC WMS service.
Definition wmslayer.h:70
QMap< QString, QString > extraParams() const
Returns optional extra key=value pairs appended to every GetMap URL.
Definition wmslayer.cpp:245
void wmsVersionChanged(const QString &version)
int dpiMode() const
Definition wmslayer.cpp:241
void capabilitiesError(const QString &errorMessage)
Emitted when fetching capabilities fails.
void setImageFormat(const QString &fmt)
Definition wmslayer.cpp:197
void refreshScene(QGraphicsScene *scene, const MapExtent &canvasExtent, const SpatialReferenceSystem *canvasSRS) override
Smart scene refresh — updates existing items instead of destroying and recreating.
Definition wmslayer.cpp:416
void setActiveLayerName(const QString &layerName)
Definition wmslayer.cpp:162
void render(QPainter *painter, const MapExtent &extent, const QSize &imageSize, const SpatialReferenceSystem *srs) override
Renders this layer's content directly into painter.
Definition wmslayer.cpp:269
QString imageFormat
Definition wmslayer.h:80
void tileReady()
Emitted when a GetMap tile has been downloaded and is ready to paint.
bool capabilitiesReady() const
Definition wmslayer.cpp:71
void capabilitiesFetched(const WMSServiceInfo &info)
Emitted when the GetCapabilities document has been parsed successfully.
bool isTransparent() const
Definition wmslayer.cpp:207
bool isRasterLayer() const override
Returns true for layers that render into a raster buffer (WMS, WMTS, GISRaster) rather than populatin...
Definition wmslayer.h:153
void activeLayerNameChanged(const QString &name)
void setTransparent(bool transparent)
Definition wmslayer.cpp:209
void setActiveStyle(const QString &style)
Definition wmslayer.cpp:180
QString wmsVersion
Definition wmslayer.h:74
QString activeStyle
Definition wmslayer.h:78
void setDpiMode(int mode)
Definition wmslayer.cpp:243
void setServiceInfo(const WMSServiceInfo &info)
Injects an already-fetched service info (e.g. from a connection dialog) so the layer can render immed...
Definition wmslayer.cpp:73
QString activeLayerName
Definition wmslayer.h:76
QUrl serviceUrl
Definition wmslayer.h:73
QString crs() const
Definition wmslayer.cpp:219
void imageFormatChanged(const QString &fmt)
void depopulateScene(QGraphicsScene *scene) override
Removes all QGraphicsItems belonging to this layer from the scene.
Definition wmslayer.cpp:532
void fetchCapabilities()
Asynchronously fetches the GetCapabilities document.
Definition wmslayer.cpp:130
void populateScene(QGraphicsScene *scene, const MapExtent &canvasExtent, const SpatialReferenceSystem *canvasSRS) override
Creates / updates QGraphicsItems representing this layer in the scene.
Definition wmslayer.cpp:257
void setExtraParams(const QMap< QString, QString > ¶ms)
Definition wmslayer.cpp:247
QString sourceDescription() const override
Human-readable source of this layer: a file path, a service URL, or a description for in-memory / der...
Definition wmslayer.h:104
void setCrs(const QString &crs)
Definition wmslayer.cpp:221
WMSServiceInfo serviceInfo() const
Definition wmslayer.cpp:70
void setBasemapRenderParams(const OpenSWMM::Render::BasemapRenderParams &p)
Definition wmslayer.cpp:312
const OpenSWMM::Render::BasemapRenderParams & basemapRenderParams() const
Definition wmslayer.h:177
void activeStyleChanged(const QString &style)
void basemapRenderParamsChanged()
void transparentChanged(bool transparent)
QString capabilitiesUrl() const
Definition wmslayer.h:140
void onCanvasCRSChanged(const SpatialReferenceSystem *newCanvasSRS) override
Called when the user changes the canvas CRS so layers can pre-compute any CRS-dependent transform cac...
Definition wmslayer.cpp:545
bool transparent
Definition wmslayer.h:82
void fetchCache(const MapExtent &extent, const QSize &viewportSize, const SpatialReferenceSystem *srs) override
Triggers any asynchronous (or synchronous) tile/data fetch needed to populate this layer's internal c...
Definition wmslayer.cpp:321
QGraphicsScene * scene
Definition inletdrawingview.cpp:78
QString params
Definition lidlayerdiagram.cpp:96
ArrowPlacement p
Definition linesymbollayer.cpp:27
int h
Definition mesh2dresultsexport.cpp:387
int w
Definition mesh2dresultsexport.cpp:387
QuadRegionMode mode
Resolved mode.
Definition meshgenerator.cpp:154
Abstract base class for all map layers displayed in the MapCanvas.
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
Brightness / contrast / saturation / resampling for a basemap.
Definition basemaprenderparams.h:32
Describes one named layer returned by a WMS GetCapabilities response.
Definition wmslayer.h:33
QString name
Definition wmslayer.h:34
MapExtent geographicBoundingBox
Definition wmslayer.h:39
QString abstractText
Definition wmslayer.h:36
QStringList crsIdentifiers
Definition wmslayer.h:37
QString title
Definition wmslayer.h:35
bool queryable
Definition wmslayer.h:40
QStringList styles
Definition wmslayer.h:38
Metadata returned by a WMS GetCapabilities request.
Definition wmslayer.h:48
QStringList imageFormats
Definition wmslayer.h:52
QString abstractText
Definition wmslayer.h:50
QString version
Definition wmslayer.h:51
QString title
Definition wmslayer.h:49
QList< WMSLayerInfo > layers
Definition wmslayer.h:53