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

Canonical 19-shape enum used by Marker Symbol Layers (Slice Z.4; extended set appended later). More...

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

Go to the source code of this file.

Namespaces

namespace  OpenSWMM
 
namespace  OpenSWMM::Render
 

Enumerations

enum class  OpenSWMM::Render::MarkerShape : int {
  OpenSWMM::Render::Circle = 0 ,
  OpenSWMM::Render::Square = 1 ,
  OpenSWMM::Render::Triangle = 2 ,
  OpenSWMM::Render::Diamond = 3 ,
  OpenSWMM::Render::Star = 4 ,
  OpenSWMM::Render::Cross = 5 ,
  OpenSWMM::Render::Plus = 6 ,
  OpenSWMM::Render::XCross = 7 ,
  OpenSWMM::Render::Pentagon = 8 ,
  OpenSWMM::Render::Hexagon = 9 ,
  OpenSWMM::Render::Arrow = 10 ,
  OpenSWMM::Render::EquilateralTriangle = 11 ,
  OpenSWMM::Render::HalfCircle = 12 ,
  OpenSWMM::Render::TriangleDown = 13 ,
  OpenSWMM::Render::Octagon = 14 ,
  OpenSWMM::Render::Hexagram = 15 ,
  OpenSWMM::Render::ArrowUp = 16 ,
  OpenSWMM::Render::ArrowDown = 17 ,
  OpenSWMM::Render::ArrowLeft = 18
}
 13 canonical marker shapes the Rule Model's Marker Symbol Layer supports (per RENDERING_RULE_MODEL_PLAN.md §6.1). More...
 

Functions

QString OpenSWMM::Render::markerShapeToString (MarkerShape shape)
 
MarkerShape OpenSWMM::Render::markerShapeFromString (const QString &s)
 
void OpenSWMM::Render::drawMarkerShape (QPainter *painter, MarkerShape shape, const QPointF &center, qreal sizePx, const QBrush &fillBrush, const QPen &outlinePen, qreal rotationDeg=0.0)
 Render shape into painter centred at center with the outer extent sizePx, filled with fillBrush and stroked with outlinePen. Rotation is in degrees (clockwise).
 

Detailed Description

Canonical 19-shape enum used by Marker Symbol Layers (Slice Z.4; extended set appended later).

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 Rule Model defines marker shapes at the SymbolLayer scope — see RENDERING_RULE_MODEL_PLAN.md §6.1. This file ships the canonical enum + the QPainter draw helper that produces every shape at a requested centre / size / rotation / fill / outline.

Existing per-class shape enums (NodeMarkerStyle::Circle, GISVectorSymbol::Circle, MarkerShapeCombo::Circle) stay in place; Z.4 deliberately doesn't refactor them — CLAUDE.md §3. Callers wanting to translate from those legacy enums into the canonical MarkerShape use the dedicated mapping functions declared below (one per legacy enum kind — added on demand; absent until a caller actually needs it).