16#ifndef OPENSWMMVIS_MAP_MESHCOMMANDS_H
17#define OPENSWMMVIS_MAP_MESHCOMMANDS_H
47 QVector<int> triangles,
49 QVector<QString> oldTags,
52 QUndoCommand *
parent =
nullptr);
56 int id()
const override {
return 44; }
59 QPointer<SWMM2DMeshLayer> m_layer;
62 QVector<QString> m_oldTags;
77 QVector<int> triangles,
78 QVector<double> newValues,
79 QVector<double> oldValues,
82 QUndoCommand *
parent =
nullptr);
86 int id()
const override {
return 43; }
89 void apply(
const QVector<double> &values);
91 QPointer<SWMM2DMeshLayer> m_layer;
94 QVector<double> m_newValues;
95 QVector<double> m_oldValues;
125 QVector<int> vertices,
126 QVector<mesh::MeshVertex> newAttrs,
127 QVector<mesh::MeshVertex> oldAttrs,
130 QUndoCommand *
parent =
nullptr);
132 void undo()
override;
133 void redo()
override;
134 int id()
const override {
return 45; }
137 void apply(
const QVector<mesh::MeshVertex> &attrs);
139 QPointer<SWMM2DMeshLayer> m_layer;
141 QVector<int> m_verts;
142 QVector<mesh::MeshVertex> m_newAttrs;
143 QVector<mesh::MeshVertex> m_oldAttrs;
172 QVector<int> edgeSlots,
173 QVector<mesh::MeshEdgeBC> newBCs,
174 QVector<mesh::MeshEdgeBC> oldBCs,
177 QUndoCommand *
parent =
nullptr);
179 void undo()
override;
180 void redo()
override;
181 int id()
const override {
return 46; }
184 void apply(
const QVector<mesh::MeshEdgeBC> &bcs);
186 QPointer<SWMM2DMeshLayer> m_layer;
188 QVector<int> m_slots;
189 QVector<mesh::MeshEdgeBC> m_newBCs;
190 QVector<mesh::MeshEdgeBC> m_oldBCs;
230 QVector<int> triangles,
232 QVector<mesh::InfilRow> oldRows,
233 QVector<mesh::InfilProvenance> oldProv,
236 QUndoCommand *
parent =
nullptr);
238 void undo()
override;
239 void redo()
override;
240 int id()
const override {
return 49; }
243 QPointer<SWMM2DMeshLayer> m_layer;
246 QVector<mesh::InfilRow> m_oldRows;
247 QVector<mesh::InfilProvenance> m_oldProv;
282 QVector<QString> tags,
283 QVector<mesh::InfilRow> newRows,
284 QVector<mesh::InfilRow> oldRows,
285 QVector<bool> oldExisted,
288 QUndoCommand *
parent =
nullptr);
290 void undo()
override;
291 void redo()
override;
292 int id()
const override {
return 50; }
295 QPointer<SWMM2DMeshLayer> m_layer;
296 QVector<QString> m_tags;
297 QVector<mesh::InfilRow> m_newRows;
298 QVector<mesh::InfilRow> m_oldRows;
299 QVector<bool> m_oldExisted;
314int pushCellParamEdit(
SWMM2DMeshLayer *layer,
const QVector<int> &triangles,
315 const QByteArray &
key,
double value,
MapCanvas *canvas);
322int pushCellParamEdits(
SWMM2DMeshLayer *layer,
const QVector<int> &triangles,
323 const QVector<double> &values,
const QByteArray &
key,
346int pushCellInfilEdit(
SWMM2DMeshLayer *layer,
const QVector<int> &triangles,
369 const QVector<InfilDefaultRow> &rows,
377int pushCellTagEdit(
SWMM2DMeshLayer *layer,
const QVector<int> &triangles,
395int pushVertexParamEdit(
SWMM2DMeshLayer *layer,
const QVector<int> &vertices,
396 const QByteArray &
key,
const QVariant &value,
411 const QVector<QPair<int, int>> &edges,
412 const QByteArray &
key,
const QVariant &value,
425 const QVector<QPair<int, int>> &edges,
The central map display widget — QGIS-style hybrid rendering.
Definition mapcanvas.h:63
Abstract base for all undoable commands that affect the MapCanvas.
Definition mapundostack.h:172
MapCanvas * canvas() const
Definition mapundostack.cpp:85
Undoable write of one per-edge attribute across a set of edge slots.
Definition meshcommands.h:160
void undo() override
Definition meshcommands.cpp:205
void redo() override
Definition meshcommands.cpp:206
int id() const override
Definition meshcommands.h:181
Undoable write of one or more [2D_INFILTRATION_DEFAULTS] tag rows — the region-level peer of MeshSetT...
Definition meshcommands.h:271
int id() const override
Definition meshcommands.h:292
void redo() override
Definition meshcommands.cpp:269
void undo() override
Definition meshcommands.cpp:276
Undoable write of one per-cell parameter across a set of triangles.
Definition meshcommands.h:66
int id() const override
Definition meshcommands.h:86
void undo() override
Definition meshcommands.cpp:101
void redo() override
Definition meshcommands.cpp:102
Undoable write of a COMPLETE per-cell infiltration row (method plus every positional parameter plus d...
Definition meshcommands.h:218
void redo() override
Definition meshcommands.cpp:226
void undo() override
Definition meshcommands.cpp:232
int id() const override
Definition meshcommands.h:240
Definition meshcommands.h:44
void undo() override
Definition meshcommands.cpp:126
int id() const override
Definition meshcommands.h:56
void redo() override
Definition meshcommands.cpp:120
Undoable write of one per-vertex attribute across a set of vertices.
Definition meshcommands.h:114
void undo() override
Definition meshcommands.cpp:167
void redo() override
Definition meshcommands.cpp:168
int id() const override
Definition meshcommands.h:134
Definition swmm2dmeshlayer.h:64
MeshEdgeBC bc
Definition inpmeshreader.cpp:41
const char * key
Definition meshcellparams.cpp:24
QString tag
r.tag or inherited from a dropped RegionMarker.
Definition meshgenerator.cpp:167
Per-cell 2D infiltration: value types, tag/override resolution and method↔parameter masks.
Definition meshcommands.h:302
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
QString text
Definition queryparser.cpp:35
One infiltration specification: method + positional parameters + destination.
Definition meshinfil.h:98
Definition meshedgebc.h:24