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
InsertJunctionSplitCommand Class Reference

Records a conduit split that inserts a plain (non-virtual) junction. More...

#include <mapundostack.h>

Inheritance diagram for InsertJunctionSplitCommand:
Collaboration diagram for InsertJunctionSplitCommand:

Public Member Functions

 InsertJunctionSplitCommand (SWMMModelLayer *layer, QString linkName, double t, QString nodeName, QString newLinkName, MapCanvas *canvas, QUndoCommand *parent=nullptr)
 
void undo () override
 
void redo () override
 
int id () const override
 
- Public Member Functions inherited from MapCommand
 MapCommand (const QString &text, MapCanvas *canvas, QUndoCommand *parent=nullptr)
 Constructs a map command with a human-readable text.
 
MapCanvascanvas () const
 

Additional Inherited Members

- Protected Attributes inherited from MapCommand
MapCanvasm_canvas
 

Detailed Description

Records a conduit split that inserts a plain (non-virtual) junction.

redo() calls SWMMModelLayer::applyInsertJunctionSplit (engine swmm_conduit_split with make_virtual = 0); undo() calls applyFuseJunctionSplit, which flags the node virtual just long enough to reuse the engine's exact fuse inverse and rolls the flag back if the fuse is refused. Like the virtual-junction pair, a split→fuse round-trip restores the model byte-identically, so no snapshot machinery is needed.

Constructor & Destructor Documentation

◆ InsertJunctionSplitCommand()

InsertJunctionSplitCommand::InsertJunctionSplitCommand ( SWMMModelLayer layer,
QString  linkName,
double  t,
QString  nodeName,
QString  newLinkName,
MapCanvas canvas,
QUndoCommand *  parent = nullptr 
)

Member Function Documentation

◆ id()

int InsertJunctionSplitCommand::id ( ) const
inlineoverride

◆ redo()

void InsertJunctionSplitCommand::redo ( )
override
Here is the call graph for this function:

◆ undo()

void InsertJunctionSplitCommand::undo ( )
override
Here is the call graph for this function:

The documentation for this class was generated from the following files: