OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm_output2d.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: Apache-2.0 */
2/* Copyright 2026 Caleb Buahin */
22
23#ifndef OPENSWMM_OUTPUT2D_H
24#define OPENSWMM_OUTPUT2D_H
26#include <stddef.h>
27#include <stdint.h>
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32typedef void* SWMM_Output2D;
33
41
60SWMM_ENGINE_API int swmm_output2d_open(const char* path, SWMM_Output2D* output);
61
71
80SWMM_ENGINE_API const char* swmm_output2d_error(void);
81
96SWMM_ENGINE_API int swmm_output2d_datasets(SWMM_Output2D output, char* text, size_t capacity,
97 size_t* required);
98
115SWMM_ENGINE_API int swmm_output2d_shape(SWMM_Output2D output, const char* dataset, int* rank,
116 uint64_t* dimensions, int* integer,
117 uint64_t* unlimited_axes);
118
130SWMM_ENGINE_API int swmm_output2d_attributes(SWMM_Output2D output, const char* object, char* text,
131 size_t capacity, size_t* required);
132
149SWMM_ENGINE_API int swmm_output2d_attribute(SWMM_Output2D output, const char* object,
150 const char* name, char* text, size_t capacity,
151 size_t* required);
152
167SWMM_ENGINE_API int swmm_output2d_strings(SWMM_Output2D output, const char* dataset, char* text,
168 size_t capacity, size_t* required);
169
190SWMM_ENGINE_API int swmm_output2d_read_double(SWMM_Output2D output, const char* dataset,
191 const uint64_t* start, const uint64_t* count,
192 const uint64_t* stride, double* values,
193 size_t capacity);
194
212SWMM_ENGINE_API int swmm_output2d_read_int64(SWMM_Output2D output, const char* dataset,
213 const uint64_t* start, const uint64_t* count,
214 const uint64_t* stride, int64_t* values,
215 size_t capacity);
216
217#ifdef __cplusplus
218}
219#endif
220#endif
#define SWMM_ENGINE_API
Definition openswmm_2d.h:62
Build-generated visibility and deprecation macros for the engine API.
SWMM_ENGINE_API int swmm_output2d_strings(SWMM_Output2D output, const char *dataset, char *text, size_t capacity, size_t *required)
Read a bounded one-dimensional string identity table.
Definition openswmm_output2d_impl.cpp:182
SWMM_ENGINE_API int swmm_output2d_read_double(SWMM_Output2D output, const char *dataset, const uint64_t *start, const uint64_t *count, const uint64_t *stride, double *values, size_t capacity)
Read a bounded numeric hyperslab, converting values to double.
Definition openswmm_output2d_impl.cpp:172
SWMM_ENGINE_API const char * swmm_output2d_error(void)
Access the calling thread's last saved-result reader diagnostic.
Definition openswmm_output2d_impl.cpp:111
SWMM_ENGINE_API int swmm_output2d_attribute(SWMM_Output2D output, const char *object, const char *name, char *text, size_t capacity, size_t *required)
Obtain a string representation of a supported metadata attribute.
Definition openswmm_output2d_impl.cpp:163
SWMM_ENGINE_API int swmm_output2d_datasets(SWMM_Output2D output, char *text, size_t capacity, size_t *required)
Enumerate readable numeric and string datasets in a saved result.
Definition openswmm_output2d_impl.cpp:136
SWMM_ENGINE_API int swmm_output2d_shape(SWMM_Output2D output, const char *dataset, int *rank, uint64_t *dimensions, int *integer, uint64_t *unlimited_axes)
Read a dataset's rank, extents, storage category, and appendable axes.
Definition openswmm_output2d_impl.cpp:143
SWMM_ENGINE_API void swmm_output2d_close(SWMM_Output2D output)
Release a reader and its owned HDF5 file.
Definition openswmm_output2d_impl.cpp:130
SWMM_ENGINE_API int swmm_output2d_read_int64(SWMM_Output2D output, const char *dataset, const uint64_t *start, const uint64_t *count, const uint64_t *stride, int64_t *values, size_t capacity)
Read a bounded integer hyperslab as signed 64-bit values.
Definition openswmm_output2d_impl.cpp:190
SWMM_ENGINE_API int swmm_output2d_attributes(SWMM_Output2D output, const char *object, char *text, size_t capacity, size_t *required)
Enumerate metadata attribute names on an HDF5 object.
Definition openswmm_output2d_impl.cpp:155
void * SWMM_Output2D
Definition openswmm_output2d.h:32
SWMM_ENGINE_API int swmm_output2d_available(void)
Query whether saved 2D HDF5 result reading was compiled into this engine.
Definition openswmm_output2d_impl.cpp:104
SWMM_ENGINE_API int swmm_output2d_open(const char *path, SWMM_Output2D *output)
Open and validate an existing 2D HDF5 result file for read-only access.
Definition openswmm_output2d_impl.cpp:114