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
DataObjectRef Struct Reference

#include <dataobjectref.h>

Collaboration diagram for DataObjectRef:

Public Types

enum  Kind {
  TidalCurve = 0 ,
  AnyCurve = 1 ,
  TimeSeries = 2 ,
  Pattern = 3 ,
  UnitHydrograph = 4 ,
  Pollutant = 5 ,
  RainGage = 6 ,
  StorageCurve = 7 ,
  SubcatchOutlet = 8 ,
  Node = 9 ,
  Subcatchment = 10 ,
  Aquifer = 11 ,
  Inlet = 12 ,
  CaptureNode = 13
}
 

Public Member Functions

bool operator== (const DataObjectRef &other) const noexcept
 

Public Attributes

SWMM_Engine engine = nullptr
 Engine handle (borrow)
 
SWMMModelLayerlayer = nullptr
 For "…" → create-new flow.
 
Kind kind = TimeSeries
 
int typeLock = -1
 Pattern: 0=MONTHLY 1=DAILY 2=HOURLY 3=WEEKEND; -1 = any.
 
QString currentName
 Currently-assigned object id; empty = unassigned.
 
int hostNodeIdx = -1
 

Detailed Description

Identifies one data object referenced from a property cell.

Member Enumeration Documentation

◆ Kind

Which family of data object this cell points at. Drives both the combo population filter and the editor dialog that "…" launches. Extend as new picker callsites land.

Enumerator
TidalCurve 

Curves filtered to type == TIDAL (engine code 6)

AnyCurve 

Any non-timeseries table (engine table type 1..11)

TimeSeries 

Tables of type TIMESERIES (engine code 0)

Pattern 

Time patterns (filtered by typeLock when >= 0)

UnitHydrograph 

RDII unit-hydrograph groups.

Pollutant 

[POLLUTANTS] entries — for co-pollutant picker

RainGage 

Rain gages — for hydrograph gage picker; no comprehensive editor yet, so the "…" button is a no-op (combo selection only).

StorageCurve 

Curves filtered to type == STORAGE (engine table type 1)

SubcatchOutlet 

Subcatchment outlet target — a combined list of node names + subcatchment names. The owning adapter's WRITE slot resolves the picked name to swmm_subcatch_set_outlet (node) or set_outlet_subcatch (cascade). No "…" editor.

Node 

Any SWMM node — the 1D↔2D coupling target for a mesh vertex ([2D_VERTEX_NODE_MAP]). Selection only; nodes are created on the map, so the "…" button explains rather than offering a dialog.

Subcatchment 

Any subcatchment — the [OUTFALLS] RouteTo target. Selection only (subcatchments are drawn on the map); an empty pick clears the routing.

Aquifer 

[AQUIFERS] entries — the subcatchment's receiving aquifer ([GROUNDWATER]). "…" opens AquiferEditorDialog::pickAquifer; an empty pick clears the assignment.

Inlet 

[INLETS] designs — an inlet junction's or a conduit's inlet design. "…" opens InletEditorDialog::pickInlet, filtered by the host's cross-section shape (typeLock carries the SWMM_XSectShape id, -1 = any).

CaptureNode 

Receiving (underdrain) node of an inlet. Every node EXCEPT virtual / inlet junctions (engine rule 627). Selection only — nodes are created on the map.

Member Function Documentation

◆ operator==()

bool DataObjectRef::operator== ( const DataObjectRef other) const
inlinenoexcept

Member Data Documentation

◆ currentName

QString DataObjectRef::currentName

Currently-assigned object id; empty = unassigned.

◆ engine

SWMM_Engine DataObjectRef::engine = nullptr

Engine handle (borrow)

◆ hostNodeIdx

int DataObjectRef::hostNodeIdx = -1

CaptureNode only: node index of the inlet junction whose capture node is being chosen. Lets a map pick be written through the layer even after the property grid has closed the cell editor (it does so the moment the map takes focus). Not part of equality.

◆ kind

Kind DataObjectRef::kind = TimeSeries

◆ layer

SWMMModelLayer* DataObjectRef::layer = nullptr

For "…" → create-new flow.

◆ typeLock

int DataObjectRef::typeLock = -1

Pattern: 0=MONTHLY 1=DAILY 2=HOURLY 3=WEEKEND; -1 = any.


The documentation for this struct was generated from the following file: