SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
maskspec.h File Reference

Typed config for the Layer Properties → Mask tab (Slice Z.14). More...

#include <QJsonObject>
#include <QString>
Include dependency graph for maskspec.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenSWMM::Render::MaskSpec
 Per-layer mask configuration. More...
 

Namespaces

namespace  OpenSWMM
 
namespace  OpenSWMM::Render
 

Enumerations

enum class  OpenSWMM::Render::MaskMode : int {
  OpenSWMM::Render::ClipInside = 0 ,
  OpenSWMM::Render::ClipOutside = 1
}
 Which side of the polygon source layer paints. More...
 

Functions

QString OpenSWMM::Render::maskModeToString (MaskMode m)
 
MaskMode OpenSWMM::Render::maskModeFromString (const QString &s)
 

Detailed Description

Typed config for the Layer Properties → Mask tab (Slice Z.14).

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License\n GPL-3.0-or-later
    A mask clips a layer's paint output to (or outside of) a
    polygon source layer's geometry. RENDERING_RULE_MODEL_PLAN.md
    §11.3 calls for two modes:
      - ClipInside  — paint only what falls inside the polygon
      - ClipOutside — paint only what falls outside (the "everything
                       except the study area" inverted-mask pattern)

    Source is identified by layer id (`sourceLayerId`) — at paint
    time the layer-tree looks up the layer by id, walks its
    polygon geometry, builds a clip path, and intersects with
    this layer's paint. The mask source layer must be a polygon
    vector layer; non-polygon sources are silently ignored.

    Slice Z.14-data ships the value type + JSON round-trip. The
    Mask tab widget + paint integration are Z.14-ui and Z.14-paint
    (separate slices).