73#ifndef OPENSWMM_INFIL2D_H
74#define OPENSWMM_INFIL2D_H
92#define SWMM_INFIL2D_MAX_PARAMS 5
97#define SWMM_INFIL2D_HORTON 0
98#define SWMM_INFIL2D_MOD_HORTON 1
99#define SWMM_INFIL2D_GREEN_AMPT 2
100#define SWMM_INFIL2D_MOD_GREEN_AMPT 3
101#define SWMM_INFIL2D_CURVE_NUMBER 4
102#define SWMM_INFIL2D_CONSTANT 5
110#define SWMM_INFIL2D_DEST_LOST 0
111#define SWMM_INFIL2D_DEST_SUBCATCH_AQUIFER 1
112#define SWMM_INFIL2D_DEST_AQUIFER_2D 2
191 int len,
int* written);
227 int* conflicts,
int len,
int* written);
240 int* aq_row,
int* conflict);
SWMM_ENGINE_API int swmm_infil2d_set_options(SWMM_Engine engine, const SWMM_Infil2DOptions *options)
Set the 2D infiltration options (INFIL_STEP, seconds).
Definition ApiInfil2D.cpp:315
SWMM_ENGINE_API int swmm_infil2d_set_cells(SWMM_Engine engine, const int *tris, int n, const SWMM_Infil2DRow *row)
Assign one specification to many triangles in a single call.
Definition ApiInfil2D.cpp:657
SWMM_ENGINE_API int swmm_infil2d_get_options(SWMM_Engine engine, SWMM_Infil2DOptions *options)
Get the 2D infiltration options (INFIL_STEP).
Definition ApiInfil2D.cpp:305
SWMM_ENGINE_API int swmm_infil2d_set_default(SWMM_Engine engine, const char *tag, const SWMM_Infil2DRow *row)
Add or replace the default row for a tag.
Definition ApiInfil2D.cpp:377
SWMM_ENGINE_API int swmm_infil2d_defaults_count(SWMM_Engine engine, int *count)
Number of authored tag-default rows, including the ‘’*'` row.
Definition ApiInfil2D.cpp:334
SWMM_ENGINE_API int swmm_infil2d_get_default(SWMM_Engine engine, int idx, SWMM_Infil2DRow *row)
Read one tag-default row by index.
Definition ApiInfil2D.cpp:344
SWMM_ENGINE_API int swmm_infil2d_get_cell(SWMM_Engine engine, int tri, SWMM_Infil2DRow *row, int *is_override)
Read the infiltration specification in force at one triangle.
Definition ApiInfil2D.cpp:597
SWMM_ENGINE_API int swmm_infil2d_get_total_volume(SWMM_Engine engine, double *volume)
Get the cumulative 2D infiltration loss (m³) — the infil_out mass-balance ledger row.
Definition ApiInfil2D.cpp:723
SWMM_ENGINE_API int swmm_infil2d_get_rate_bulk(SWMM_Engine engine, double *f, int n)
Bulk get the held per-cell infiltration rate (m/s, >= 0).
Definition ApiInfil2D.cpp:695
#define SWMM_INFIL2D_MAX_PARAMS
Number of positional parameter columns carried per row.
Definition openswmm_infil2d.h:92
SWMM_ENGINE_API int swmm_infil2d_remove_default(SWMM_Engine engine, const char *tag)
Remove every default row carrying a tag.
Definition ApiInfil2D.cpp:405
SWMM_ENGINE_API int swmm_infil2d_get_default_tag(SWMM_Engine engine, int idx, char *buf, int buflen)
Read the TAG of one default row by index.
Definition ApiInfil2D.cpp:358
SWMM_ENGINE_API int swmm_infil2d_get_cum_bulk(SWMM_Engine engine, double *F, int n)
Bulk get the cumulative infiltrated depth per cell (m).
Definition ApiInfil2D.cpp:708
SWMM_ENGINE_API int swmm_infil2d_set_cell(SWMM_Engine engine, int tri, const SWMM_Infil2DRow *row)
Set (or clear) the per-cell [2D_INFILTRATION] override of one triangle.
Definition ApiInfil2D.cpp:633
#define SWMM_ENGINE_API
Definition openswmm_2d.h:62
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:55
OpenSWMM Engine — primary transparent C API (master header).
SWMM_ENGINE_API int swmm_infil2d_get_authored_rows(SWMM_Engine engine, SWMM_Infil2DAuthoredRow *out, int len, int *written)
Copy the complete ordered infiltration authoring records, including inheritance flags.
Definition ApiInfil2D.cpp:430
SWMM_ENGINE_API int swmm_infil2d_replace_authored_rows(SWMM_Engine engine, const SWMM_Infil2DAuthoredRow *rows, int count)
Validate and replace infiltration authoring rows as one edit.
Definition ApiInfil2D.cpp:465
SWMM_ENGINE_API int swmm_infil2d_get_ownership(SWMM_Engine engine, int cell, int *owner, int *aq_row, int *conflict)
Preview one triangle's infiltration/aquifer ownership and conflict.
Definition ApiInfil2D.cpp:559
SWMM_ENGINE_API int swmm_infil2d_get_ownership_bulk(SWMM_Engine engine, int *owners, int *aq_rows, int *conflicts, int len, int *written)
Preview infiltration/aquifer ownership and authoring conflicts for all triangles.
Definition ApiInfil2D.cpp:498
Definition openswmm_infil2d.h:170
int dest_explicit
Definition openswmm_infil2d.h:174
SWMM_Infil2DRow row
Definition openswmm_infil2d.h:173
char tag[4096]
Definition openswmm_infil2d.h:172
int cell
Definition openswmm_infil2d.h:171
[2D_INFILTRATION_OPTIONS] — POD mirror of openswmm::twoD::Infil2DOptions.
Definition openswmm_infil2d.h:121
double infil_step
Definition openswmm_infil2d.h:126
One infiltration specification — POD mirror of openswmm::twoD::Infil2DRow.
Definition openswmm_infil2d.h:152
int has_method
Definition openswmm_infil2d.h:155
int dest
Definition openswmm_infil2d.h:162
int method
Definition openswmm_infil2d.h:157
double p[SWMM_INFIL2D_MAX_PARAMS]
Definition openswmm_infil2d.h:159