OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm_initial_quality.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: Apache-2.0
2 *
3 * Copyright 2026 Caleb Buahin
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
44
45#ifndef OPENSWMM_INITIAL_QUALITY_H
46#define OPENSWMM_INITIAL_QUALITY_H
47
48#include "openswmm_engine.h"
49
50#ifdef __cplusplus
51extern "C" {
52#endif
53
60
72SWMM_ENGINE_API int swmm_init_quality_get(SWMM_Engine engine, int entry_idx,
73 int* is_link, int* elem_idx,
74 char* constituent_buf,
75 int constituent_len, double* value);
76
92 int elem_idx,
93 const char* constituent,
94 double value);
95
103 int entry_idx);
104
105/* ---- U2 (2026-09-07): the `[INITIAL_QUALITY] FILE <csv>` sidecar --------
106 * Rows read from the sidecar carry is_file = 1 in swmm_init_quality_is_file
107 * and are not written back inline; the FILE line is. The CSV format is
108 * scope,element,constituent,value per line (comma / whitespace separated,
109 * optional header). The file is read at the next open; set/clear here only
110 * records the reference.
111 */
112
114SWMM_ENGINE_API int swmm_init_quality_file_get(SWMM_Engine engine, char* buf, int buflen);
115
117SWMM_ENGINE_API int swmm_init_quality_file_set(SWMM_Engine engine, const char* path);
118
120SWMM_ENGINE_API int swmm_init_quality_is_file(SWMM_Engine engine, int entry_idx);
121
122
123#ifdef __cplusplus
124}
125#endif
126
127#endif /* OPENSWMM_INITIAL_QUALITY_H */
#define SWMM_ENGINE_API
Definition openswmm_2d.h:53
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:51
OpenSWMM Engine — primary transparent C API (master header).
SWMM_ENGINE_API int swmm_init_quality_get(SWMM_Engine engine, int entry_idx, int *is_link, int *elem_idx, char *constituent_buf, int constituent_len, double *value)
Read one entry.
Definition openswmm_initial_quality_impl.cpp:73
SWMM_ENGINE_API int swmm_init_quality_is_file(SWMM_Engine engine, int entry_idx)
1 when row entry_idx was loaded from the FILE sidecar, else 0.
Definition openswmm_initial_quality_impl.cpp:194
SWMM_ENGINE_API int swmm_init_quality_remove(SWMM_Engine engine, int entry_idx)
Remove the entry at entry_idx. Subsequent entries shift down by one — callers holding cached indices ...
Definition openswmm_initial_quality_impl.cpp:149
SWMM_ENGINE_API int swmm_init_quality_file_get(SWMM_Engine engine, char *buf, int buflen)
The FILE path as written ("" when none).
Definition openswmm_initial_quality_impl.cpp:179
SWMM_ENGINE_API int swmm_init_quality_count(SWMM_Engine engine)
Number of [INITIAL_QUALITY] entries.
Definition openswmm_initial_quality_impl.cpp:68
SWMM_ENGINE_API int swmm_init_quality_set(SWMM_Engine engine, int is_link, int elem_idx, const char *constituent, double value)
Upsert one entry keyed on (is_link, elem_idx, constituent).
Definition openswmm_initial_quality_impl.cpp:93
SWMM_ENGINE_API int swmm_init_quality_file_set(SWMM_Engine engine, const char *path)
Set (or clear with "" / NULL) the FILE reference.
Definition openswmm_initial_quality_impl.cpp:186