OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
openswmm_tables.h
Go to the documentation of this file.
1
16#ifndef OPENSWMM_TABLES_H
17#define OPENSWMM_TABLES_H
18
19#include "openswmm_engine.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25/* =========================================================================
26 * Identity
27 * ========================================================================= */
28
35
42SWMM_ENGINE_API int swmm_table_index(SWMM_Engine engine, const char* id);
43
50SWMM_ENGINE_API const char* swmm_table_id(SWMM_Engine engine, int idx);
51
52/* =========================================================================
53 * Creation (BUILDING state only)
54 * ========================================================================= */
55
62SWMM_ENGINE_API int swmm_timeseries_add(SWMM_Engine engine, const char* id);
63
75SWMM_ENGINE_API int swmm_curve_add(SWMM_Engine engine, const char* id, int type);
76
77/* =========================================================================
78 * Data points
79 * ========================================================================= */
80
93SWMM_ENGINE_API int swmm_table_add_point(SWMM_Engine engine, int idx, double x, double y);
94
102SWMM_ENGINE_API int swmm_table_get_point_count(SWMM_Engine engine, int idx, int* count);
103
113SWMM_ENGINE_API int swmm_table_get_point(SWMM_Engine engine, int idx, int pt_idx, double* x, double* y);
114
121SWMM_ENGINE_API int swmm_table_clear(SWMM_Engine engine, int idx);
122
123/* =========================================================================
124 * Lookup (cursor-optimized)
125 * ========================================================================= */
126
139SWMM_ENGINE_API int swmm_table_lookup(SWMM_Engine engine, int idx, double x, double* y);
140
141/* =========================================================================
142 * Patterns
143 * ========================================================================= */
144
155SWMM_ENGINE_API int swmm_pattern_add(SWMM_Engine engine, const char* id, int type);
156
165SWMM_ENGINE_API int swmm_pattern_set_factors(SWMM_Engine engine, int idx, const double* factors, int count);
166
173
174#ifdef __cplusplus
175} /* extern "C" */
176#endif
177
178#endif /* OPENSWMM_TABLES_H */
double * y
Definition odesolve.c:28
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:35
OpenSWMM Engine — primary transparent C API (master header).
#define SWMM_ENGINE_API
Definition openswmm_engine.h:87
SWMM_ENGINE_API int swmm_table_add_point(SWMM_Engine engine, int idx, double x, double y)
Append a data point (x, y) to a table.
Definition openswmm_tables_impl.cpp:85
SWMM_ENGINE_API int swmm_pattern_add(SWMM_Engine engine, const char *id, int type)
Add a new time pattern to the model.
Definition openswmm_tables_impl.cpp:143
SWMM_ENGINE_API int swmm_table_get_point(SWMM_Engine engine, int idx, int pt_idx, double *x, double *y)
Get a specific data point from a table.
Definition openswmm_tables_impl.cpp:103
SWMM_ENGINE_API int swmm_table_lookup(SWMM_Engine engine, int idx, double x, double *y)
Interpolate a Y value from a table for a given X.
Definition openswmm_tables_impl.cpp:130
SWMM_ENGINE_API int swmm_table_get_point_count(SWMM_Engine engine, int idx, int *count)
Get the number of data points in a table.
Definition openswmm_tables_impl.cpp:95
SWMM_ENGINE_API int swmm_timeseries_add(SWMM_Engine engine, const char *id)
Add a new time series to the model.
Definition openswmm_tables_impl.cpp:43
SWMM_ENGINE_API int swmm_table_clear(SWMM_Engine engine, int idx)
Remove all data points from a table.
Definition openswmm_tables_impl.cpp:115
SWMM_ENGINE_API int swmm_table_count(SWMM_Engine engine)
Get the total number of tables (time series + curves) in the model.
Definition openswmm_tables_impl.cpp:22
SWMM_ENGINE_API int swmm_pattern_count(SWMM_Engine engine)
Get the total number of time patterns in the model.
Definition openswmm_tables_impl.cpp:164
SWMM_ENGINE_API const char * swmm_table_id(SWMM_Engine engine, int idx)
Get the string identifier of a table by index.
Definition openswmm_tables_impl.cpp:32
SWMM_ENGINE_API int swmm_curve_add(SWMM_Engine engine, const char *id, int type)
Add a new curve to the model.
Definition openswmm_tables_impl.cpp:62
SWMM_ENGINE_API int swmm_table_index(SWMM_Engine engine, const char *id)
Look up a table's zero-based index by its string identifier.
Definition openswmm_tables_impl.cpp:27
SWMM_ENGINE_API int swmm_pattern_set_factors(SWMM_Engine engine, int idx, const double *factors, int count)
Set the multiplier factors for a time pattern.
Definition openswmm_tables_impl.cpp:155