OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm_output.h
Go to the documentation of this file.
1
20
21#ifndef OPENSWMM_LEGACY_OUTPUT_H_
22#define OPENSWMM_LEGACY_OUTPUT_H_
23
28#define MAXFILENAME 259
29
34#define MAXELENAME 31
35
40typedef void* SMO_Handle;
41
42#include "openswmm_output_export.h"
44
45#ifdef __cplusplus
46extern "C" {
47#endif
48
60int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_init(SMO_Handle* p_handle);
61
73int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_close(SMO_Handle* p_handle);
74
90int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_open(SMO_Handle p_handle, const char* path);
91
102int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getVersion(SMO_Handle p_handle, int* version);
103
116int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getProjectSize(SMO_Handle p_handle, int** elementCount,
117 int* length);
118
133int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getUnits(SMO_Handle p_handle, int** unitFlag, int* length);
134
146int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getFlowUnits(SMO_Handle p_handle, int* unitFlag);
147
161int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPollutantUnits(SMO_Handle p_handle, int** unitFlag,
162 int* length);
163
175int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getStartDate(SMO_Handle p_handle, double* date);
176
188int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getTimes(SMO_Handle p_handle, SMO_time code, int* time);
189
211int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getElementName(SMO_Handle p_handle, SMO_elementType type,
212 int index, char** name, int* length);
213
225int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNumVars(SMO_Handle p_handle, SMO_elementType type,
226 int* count);
227
242int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getVarCode(SMO_Handle p_handle, SMO_elementType type,
243 int varIndex, int* varCode);
244
262int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getVarCodes(SMO_Handle p_handle, SMO_elementType type,
263 int** varCodes, int* size);
264
276int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNumProperties(SMO_Handle p_handle, SMO_elementType type,
277 int* count);
278
293int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyCode(SMO_Handle p_handle, SMO_elementType type,
294 int propertyIndex, int* propertyCode);
295
312int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyCodes(SMO_Handle p_handle, SMO_elementType type,
313 int** propertyCodes, int* size);
314
333int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyValue(SMO_Handle p_handle, SMO_elementType type,
334 int propertyIndex, int elementIndex,
335 float* value);
336
355int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyValues(SMO_Handle p_handle, SMO_elementType type,
356 int elementIndex, float** outValueArray,
357 int* length);
358
382int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSubcatchSeries(SMO_Handle p_handle, int subcatchIndex,
384 int startPeriod, int endPeriod,
385 float** outValueArray, int* length);
386
409int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNodeSeries(SMO_Handle p_handle, int nodeIndex,
410 SMO_nodeAttribute attr, int startPeriod,
411 int endPeriod, float** outValueArray,
412 int* length);
413
436int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getLinkSeries(SMO_Handle p_handle, int linkIndex,
437 SMO_linkAttribute attr, int startPeriod,
438 int endPeriod, float** outValueArray,
439 int* length);
440
461int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSystemSeries(SMO_Handle p_handle,
462 SMO_systemAttribute attr, int startPeriod,
463 int endPeriod, float** outValueArray,
464 int* length);
465
484int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSubcatchAttribute(SMO_Handle p_handle, int periodIndex,
486 float** outValueArray, int* length);
487
506int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNodeAttribute(SMO_Handle p_handle, int periodIndex,
508 float** outValueArray, int* length);
509
528int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getLinkAttribute(SMO_Handle p_handle, int periodIndex,
530 float** outValueArray, int* length);
531
550int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSystemAttribute(SMO_Handle p_handle, int periodIndex,
552 float** outValueArray, int* length);
553
573int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSubcatchResult(SMO_Handle p_handle, int periodIndex,
574 int subcatchIndex, float** outValueArray,
575 int* arrayLength);
576
596int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNodeResult(SMO_Handle p_handle, int periodIndex,
597 int nodeIndex, float** outValueArray,
598 int* arrayLength);
599
619int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getLinkResult(SMO_Handle p_handle, int periodIndex,
620 int linkIndex, float** outValueArray,
621 int* arrayLength);
622
642int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSystemResult(SMO_Handle p_handle, int periodIndex,
643 int dummyIndex, float** outValueArray,
644 int* arrayLength);
645
655void EXPORT_OPENSWMMCORE_OUTPUT_API SMO_free(void** array);
656
663void EXPORT_OPENSWMMCORE_OUTPUT_API SMO_clearError(SMO_Handle p_handle);
664
679int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_checkError(SMO_Handle p_handle, char** msg_buffer);
680
681#ifdef __cplusplus
682}
683#endif
684
685#endif /* OPENSWMM_LEGACY_OUTPUT_H_ */
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNodeSeries(SMO_Handle p_handle, int nodeIndex, SMO_nodeAttribute attr, int startPeriod, int endPeriod, float **outValueArray, int *length)
Allocate one node attribute over a half-open period interval.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getFlowUnits(SMO_Handle p_handle, int *unitFlag)
Read the flow-unit flag from the output header.
void EXPORT_OPENSWMMCORE_OUTPUT_API SMO_clearError(SMO_Handle p_handle)
Reset the handle sticky error status to zero.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyCode(SMO_Handle p_handle, SMO_elementType type, int propertyIndex, int *propertyCode)
Translate a stored property position to its file code.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyValues(SMO_Handle p_handle, SMO_elementType type, int elementIndex, float **outValueArray, int *length)
Allocate all static properties of one element in file order.
void * SMO_Handle
Opaque pointer to struct. Do not access variables.
Definition openswmm_output.h:40
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNodeAttribute(SMO_Handle p_handle, int periodIndex, SMO_nodeAttribute attr, float **outValueArray, int *length)
Allocate one attribute for all node entries at a saved period.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSystemSeries(SMO_Handle p_handle, SMO_systemAttribute attr, int startPeriod, int endPeriod, float **outValueArray, int *length)
Allocate one system attribute over a half-open period interval.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getLinkSeries(SMO_Handle p_handle, int linkIndex, SMO_linkAttribute attr, int startPeriod, int endPeriod, float **outValueArray, int *length)
Allocate one link attribute over a half-open period interval.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyValue(SMO_Handle p_handle, SMO_elementType type, int propertyIndex, int elementIndex, float *value)
Read one static model property from the output file.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getVersion(SMO_Handle p_handle, int *version)
Read the model version integer from the file header.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyCodes(SMO_Handle p_handle, SMO_elementType type, int **propertyCodes, int *size)
Allocate all stored property codes for an element type.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getElementName(SMO_Handle p_handle, SMO_elementType type, int index, char **name, int *length)
Allocate the null-terminated ID of an output element.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getProjectSize(SMO_Handle p_handle, int **elementCount, int *length)
Allocate the five object counts for the opened output file.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_checkError(SMO_Handle p_handle, char **msg_buffer)
Copy the sticky output-reader error message into a new allocation.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getStartDate(SMO_Handle p_handle, double *date)
Return the output header start date.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNumVars(SMO_Handle p_handle, SMO_elementType type, int *count)
Return the number of stored vars for an element type.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSubcatchResult(SMO_Handle p_handle, int periodIndex, int subcatchIndex, float **outValueArray, int *arrayLength)
Allocate all stored variables for one subcatchment at a period.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getVarCodes(SMO_Handle p_handle, SMO_elementType type, int **varCodes, int *size)
Allocate all stored var codes for an element type.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSystemAttribute(SMO_Handle p_handle, int periodIndex, SMO_systemAttribute attr, float **outValueArray, int *length)
Allocate one attribute for all system entries at a saved period.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getLinkResult(SMO_Handle p_handle, int periodIndex, int linkIndex, float **outValueArray, int *arrayLength)
Allocate all stored variables for one link at a period.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNodeResult(SMO_Handle p_handle, int periodIndex, int nodeIndex, float **outValueArray, int *arrayLength)
Allocate all stored variables for one node at a period.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getTimes(SMO_Handle p_handle, SMO_time code, int *time)
Return report-step seconds or the number of saved periods.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPollutantUnits(SMO_Handle p_handle, int **unitFlag, int *length)
Allocate one concentration-unit flag per pollutant.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSubcatchSeries(SMO_Handle p_handle, int subcatchIndex, SMO_subcatchAttribute attr, int startPeriod, int endPeriod, float **outValueArray, int *length)
Allocate one subcatchment attribute over a half-open period interval.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getUnits(SMO_Handle p_handle, int **unitFlag, int *length)
Allocate the file unit-system, flow-unit and concentration-unit flags.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSystemResult(SMO_Handle p_handle, int periodIndex, int dummyIndex, float **outValueArray, int *arrayLength)
Allocate all stored variables for one system at a period.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_init(SMO_Handle *p_handle)
Allocate an independent binary-output reader handle.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getVarCode(SMO_Handle p_handle, SMO_elementType type, int varIndex, int *varCode)
Translate a stored var position to its file code.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_open(SMO_Handle p_handle, const char *path)
Open and index a completed SWMM binary output file for reading.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSubcatchAttribute(SMO_Handle p_handle, int periodIndex, SMO_subcatchAttribute attr, float **outValueArray, int *length)
Allocate one attribute for all subcatchment entries at a saved period.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getLinkAttribute(SMO_Handle p_handle, int periodIndex, SMO_linkAttribute attr, float **outValueArray, int *length)
Allocate one attribute for all link entries at a saved period.
void EXPORT_OPENSWMMCORE_OUTPUT_API SMO_free(void **array)
Release a caller-owned allocation returned by this API.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_close(SMO_Handle *p_handle)
Release reader metadata, close its file and destroy its handle.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNumProperties(SMO_Handle p_handle, SMO_elementType type, int *count)
Return the number of stored properties for an element type.
Header file for SWMM output API enumeration types.
SMO_linkAttribute
Link attributes.
Definition openswmm_output_enums.h:139
SMO_time
Report time related attributes.
Definition openswmm_output_enums.h:82
SMO_nodeAttribute
Node attributes.
Definition openswmm_output_enums.h:118
SMO_systemAttribute
System attributes.
Definition openswmm_output_enums.h:158
SMO_subcatchAttribute
Subcatchment attributes.
Definition openswmm_output_enums.h:93
SMO_elementType
SWMM element types.
Definition openswmm_output_enums.h:65