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
markersymbollayer.h File Reference

Typed accessors for a SimpleMarker SymbolLayer (Slice Z.4). More...

#include "render/markershape.h"
#include "render/symbollayer.h"
#include <QColor>
#include <QFont>
#include <QPen>
#include <QPointF>
Include dependency graph for markersymbollayer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenSWMM::Render::MarkerSymbolLayerSpec
 Typed snapshot of a SimpleMarker SymbolLayer's props. More...
 

Namespaces

namespace  OpenSWMM
 
namespace  OpenSWMM::Render
 

Detailed Description

Typed accessors for a SimpleMarker SymbolLayer (Slice Z.4).

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
    The compositional SymbolStyle stores SymbolLayer instances as
    {kind, QVariantMap props} pairs. MarkerSymbolLayerSpec is the
    typed view a Rule's Marker subpanel reads / writes: shape +
    size + fill + outline QPen + rotation + offset, plus typed
    conversion to/from the property bag.

    Canonical property keys (stored on SymbolLayer::props for the
    SimpleMarker / Plus / MarkerLine kinds):
      - "shape"           → int (cast of MarkerShape)
      - "size"            → qreal (px, outer extent)
      - "fillColor"       → QColor
      - "outlineColor"    → QColor
      - "outlineWidth"    → qreal (px)
      - "outlinePenStyle" → int (cast of Qt::PenStyle)
      - "rotationDeg"     → qreal (clockwise)
      - "offsetX"         → qreal (px, signed)
      - "offsetY"         → qreal (px, signed)
      - "showLabel"       → bool          (Slice SS.3)
      - "labelFont"       → QFont         (Slice SS.3)
      - "labelColor"      → QColor        (Slice SS.3)

    Property keys are stable — they survive .oswp round-trips.
    Data-defined overrides target these same keys via
    SymbolLayer::dataDefinedOverrides (e.g. binding `"size"` to
    `sqrt(flow)/max_sqrt`).