epyt-flow 0.14.2__py3-none-any.whl → 0.15.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. epyt_flow/VERSION +1 -1
  2. epyt_flow/__init__.py +0 -37
  3. epyt_flow/data/benchmarks/battledim.py +2 -2
  4. epyt_flow/data/benchmarks/leakdb.py +12 -9
  5. epyt_flow/gym/scenario_control_env.py +32 -33
  6. epyt_flow/simulation/events/actuator_events.py +24 -18
  7. epyt_flow/simulation/events/leakages.py +59 -57
  8. epyt_flow/simulation/events/quality_events.py +21 -30
  9. epyt_flow/simulation/events/system_event.py +3 -3
  10. epyt_flow/simulation/scada/complex_control.py +14 -12
  11. epyt_flow/simulation/scada/custom_control.py +22 -21
  12. epyt_flow/simulation/scada/scada_data.py +107 -104
  13. epyt_flow/simulation/scada/simple_control.py +38 -31
  14. epyt_flow/simulation/scenario_simulator.py +368 -395
  15. epyt_flow/simulation/sensor_config.py +31 -32
  16. epyt_flow/topology.py +11 -10
  17. epyt_flow/uncertainty/model_uncertainty.py +146 -122
  18. {epyt_flow-0.14.2.dist-info → epyt_flow-0.15.0.dist-info}/METADATA +14 -19
  19. epyt_flow-0.15.0.dist-info/RECORD +65 -0
  20. epyt_flow/EPANET/EPANET/SRC_engines/AUTHORS +0 -28
  21. epyt_flow/EPANET/EPANET/SRC_engines/LICENSE +0 -21
  22. epyt_flow/EPANET/EPANET/SRC_engines/Readme_SRC_Engines.txt +0 -18
  23. epyt_flow/EPANET/EPANET/SRC_engines/enumstxt.h +0 -134
  24. epyt_flow/EPANET/EPANET/SRC_engines/epanet.c +0 -5578
  25. epyt_flow/EPANET/EPANET/SRC_engines/epanet2.c +0 -865
  26. epyt_flow/EPANET/EPANET/SRC_engines/epanet2.def +0 -131
  27. epyt_flow/EPANET/EPANET/SRC_engines/errors.dat +0 -73
  28. epyt_flow/EPANET/EPANET/SRC_engines/funcs.h +0 -193
  29. epyt_flow/EPANET/EPANET/SRC_engines/genmmd.c +0 -1000
  30. epyt_flow/EPANET/EPANET/SRC_engines/hash.c +0 -177
  31. epyt_flow/EPANET/EPANET/SRC_engines/hash.h +0 -28
  32. epyt_flow/EPANET/EPANET/SRC_engines/hydcoeffs.c +0 -1151
  33. epyt_flow/EPANET/EPANET/SRC_engines/hydraul.c +0 -1117
  34. epyt_flow/EPANET/EPANET/SRC_engines/hydsolver.c +0 -720
  35. epyt_flow/EPANET/EPANET/SRC_engines/hydstatus.c +0 -476
  36. epyt_flow/EPANET/EPANET/SRC_engines/include/epanet2.h +0 -431
  37. epyt_flow/EPANET/EPANET/SRC_engines/include/epanet2_2.h +0 -1786
  38. epyt_flow/EPANET/EPANET/SRC_engines/include/epanet2_enums.h +0 -468
  39. epyt_flow/EPANET/EPANET/SRC_engines/inpfile.c +0 -810
  40. epyt_flow/EPANET/EPANET/SRC_engines/input1.c +0 -707
  41. epyt_flow/EPANET/EPANET/SRC_engines/input2.c +0 -864
  42. epyt_flow/EPANET/EPANET/SRC_engines/input3.c +0 -2170
  43. epyt_flow/EPANET/EPANET/SRC_engines/main.c +0 -93
  44. epyt_flow/EPANET/EPANET/SRC_engines/mempool.c +0 -142
  45. epyt_flow/EPANET/EPANET/SRC_engines/mempool.h +0 -24
  46. epyt_flow/EPANET/EPANET/SRC_engines/output.c +0 -852
  47. epyt_flow/EPANET/EPANET/SRC_engines/project.c +0 -1359
  48. epyt_flow/EPANET/EPANET/SRC_engines/quality.c +0 -685
  49. epyt_flow/EPANET/EPANET/SRC_engines/qualreact.c +0 -743
  50. epyt_flow/EPANET/EPANET/SRC_engines/qualroute.c +0 -694
  51. epyt_flow/EPANET/EPANET/SRC_engines/report.c +0 -1489
  52. epyt_flow/EPANET/EPANET/SRC_engines/rules.c +0 -1362
  53. epyt_flow/EPANET/EPANET/SRC_engines/smatrix.c +0 -871
  54. epyt_flow/EPANET/EPANET/SRC_engines/text.h +0 -497
  55. epyt_flow/EPANET/EPANET/SRC_engines/types.h +0 -874
  56. epyt_flow/EPANET/EPANET-MSX/MSX_Updates.txt +0 -53
  57. epyt_flow/EPANET/EPANET-MSX/Src/dispersion.h +0 -27
  58. epyt_flow/EPANET/EPANET-MSX/Src/hash.c +0 -107
  59. epyt_flow/EPANET/EPANET-MSX/Src/hash.h +0 -28
  60. epyt_flow/EPANET/EPANET-MSX/Src/include/epanetmsx.h +0 -102
  61. epyt_flow/EPANET/EPANET-MSX/Src/include/epanetmsx_export.h +0 -42
  62. epyt_flow/EPANET/EPANET-MSX/Src/mathexpr.c +0 -937
  63. epyt_flow/EPANET/EPANET-MSX/Src/mathexpr.h +0 -39
  64. epyt_flow/EPANET/EPANET-MSX/Src/mempool.c +0 -204
  65. epyt_flow/EPANET/EPANET-MSX/Src/mempool.h +0 -24
  66. epyt_flow/EPANET/EPANET-MSX/Src/msxchem.c +0 -1285
  67. epyt_flow/EPANET/EPANET-MSX/Src/msxcompiler.c +0 -368
  68. epyt_flow/EPANET/EPANET-MSX/Src/msxdict.h +0 -42
  69. epyt_flow/EPANET/EPANET-MSX/Src/msxdispersion.c +0 -586
  70. epyt_flow/EPANET/EPANET-MSX/Src/msxerr.c +0 -116
  71. epyt_flow/EPANET/EPANET-MSX/Src/msxfile.c +0 -260
  72. epyt_flow/EPANET/EPANET-MSX/Src/msxfuncs.c +0 -175
  73. epyt_flow/EPANET/EPANET-MSX/Src/msxfuncs.h +0 -35
  74. epyt_flow/EPANET/EPANET-MSX/Src/msxinp.c +0 -1504
  75. epyt_flow/EPANET/EPANET-MSX/Src/msxout.c +0 -401
  76. epyt_flow/EPANET/EPANET-MSX/Src/msxproj.c +0 -791
  77. epyt_flow/EPANET/EPANET-MSX/Src/msxqual.c +0 -2010
  78. epyt_flow/EPANET/EPANET-MSX/Src/msxrpt.c +0 -400
  79. epyt_flow/EPANET/EPANET-MSX/Src/msxtank.c +0 -422
  80. epyt_flow/EPANET/EPANET-MSX/Src/msxtoolkit.c +0 -1164
  81. epyt_flow/EPANET/EPANET-MSX/Src/msxtypes.h +0 -551
  82. epyt_flow/EPANET/EPANET-MSX/Src/msxutils.c +0 -524
  83. epyt_flow/EPANET/EPANET-MSX/Src/msxutils.h +0 -56
  84. epyt_flow/EPANET/EPANET-MSX/Src/newton.c +0 -158
  85. epyt_flow/EPANET/EPANET-MSX/Src/newton.h +0 -34
  86. epyt_flow/EPANET/EPANET-MSX/Src/rk5.c +0 -287
  87. epyt_flow/EPANET/EPANET-MSX/Src/rk5.h +0 -39
  88. epyt_flow/EPANET/EPANET-MSX/Src/ros2.c +0 -293
  89. epyt_flow/EPANET/EPANET-MSX/Src/ros2.h +0 -35
  90. epyt_flow/EPANET/EPANET-MSX/Src/smatrix.c +0 -816
  91. epyt_flow/EPANET/EPANET-MSX/Src/smatrix.h +0 -29
  92. epyt_flow/EPANET/EPANET-MSX/readme.txt +0 -14
  93. epyt_flow/EPANET/compile_linux.sh +0 -4
  94. epyt_flow/EPANET/compile_macos.sh +0 -4
  95. epyt_flow/simulation/backend/__init__.py +0 -1
  96. epyt_flow/simulation/backend/my_epyt.py +0 -1101
  97. epyt_flow-0.14.2.dist-info/RECORD +0 -142
  98. {epyt_flow-0.14.2.dist-info → epyt_flow-0.15.0.dist-info}/WHEEL +0 -0
  99. {epyt_flow-0.14.2.dist-info → epyt_flow-0.15.0.dist-info}/licenses/LICENSE +0 -0
  100. {epyt_flow-0.14.2.dist-info → epyt_flow-0.15.0.dist-info}/top_level.txt +0 -0
@@ -1,431 +0,0 @@
1
- /*
2
- ******************************************************************************
3
- Project: OWA EPANET
4
- Version: 2.2
5
- Module: epanet2.h
6
- Description: declarations of the legacy style EPANET 2 API functions
7
- Authors: see AUTHORS
8
- Copyright: see AUTHORS
9
- License: see LICENSE
10
- Last Updated: 10/29/2019
11
- ******************************************************************************
12
- */
13
-
14
- /*
15
- This module contains declarations of the legacy style EPANET API functions, with
16
- version 2.2 updates, that apply only to single threaded applications. A second
17
- set of thread safe API functions that allows one to run concurrent analyses on
18
- multiple EPANET projects can be found in the epanet2_2.h header file. The two
19
- APIs share the same function names and arguments with the difference being that
20
- the thread safe functions use the prefix "EN_" and include an extra argument that
21
- represents the EPANET project being analyzed. To avoid unneccesary repetition,
22
- only the thread safe API functions have been documented. To see a description of
23
- a legacy style API function declared here please refer to its complementary named
24
- function in epanet2_2.h.
25
- */
26
-
27
- #ifndef EPANET2_H
28
- #define EPANET2_H
29
-
30
- // The legacy style EPANET API can be compiled with support for either single
31
- // precision or double precision floating point arguments, with the default
32
- // being single precision. To compile for double precision one must #define
33
- // EN_API_FLOAT_TYPE as double both here and in any client code that uses the
34
- // API.
35
- #ifndef EN_API_FLOAT_TYPE
36
- #define EN_API_FLOAT_TYPE float
37
- #endif
38
-
39
- #ifndef DLLEXPORT
40
- #ifdef _WIN32
41
- #ifdef epanet2_EXPORTS
42
- #define DLLEXPORT __declspec(dllexport) __stdcall
43
- #else
44
- #define DLLEXPORT __declspec(dllimport) __stdcall
45
- #endif
46
- #elif defined(__CYGWIN__)
47
- #define DLLEXPORT __stdcall
48
- #else
49
- #define DLLEXPORT
50
- #endif
51
- #endif
52
-
53
- #include "epanet2_enums.h"
54
-
55
- // --- Declare the EPANET toolkit functions
56
- #if defined(__cplusplus)
57
- extern "C" {
58
- #endif
59
-
60
-
61
- /********************************************************************
62
-
63
- Project Functions
64
-
65
- ********************************************************************/
66
-
67
- int DLLEXPORT ENepanet(const char *inpFile, const char *rptFile,
68
- const char *outFile, void (*pviewprog) (char *));
69
-
70
- int DLLEXPORT ENinit(const char *rptFile, const char *outFile,
71
- int unitsType, int headlossType);
72
-
73
- int DLLEXPORT ENopen(const char *inpFile, const char *rptFile,
74
- const char *outFile);
75
-
76
- int DLLEXPORT ENgettitle(char *line1, char *line2, char *line3);
77
-
78
- int DLLEXPORT ENsettitle(char *line1, char *line2, char *line3);
79
-
80
- int DLLEXPORT ENgetcomment(int object, int index, char *comment);
81
-
82
- int DLLEXPORT ENsetcomment(int object, int index, char *comment);
83
-
84
- int DLLEXPORT ENgetcount(int object, int *count);
85
-
86
- int DLLEXPORT ENsaveinpfile(const char *filename);
87
-
88
- int DLLEXPORT ENclose();
89
-
90
- /********************************************************************
91
-
92
- Hydraulic Analysis Functions
93
-
94
- ********************************************************************/
95
-
96
- int DLLEXPORT ENsolveH();
97
-
98
- int DLLEXPORT ENsaveH();
99
-
100
- int DLLEXPORT ENopenH();
101
-
102
- int DLLEXPORT ENinitH(int initFlag);
103
-
104
- int DLLEXPORT ENrunH(long *currentTime);
105
-
106
- int DLLEXPORT ENnextH(long *tStep);
107
-
108
- int DLLEXPORT ENcloseH();
109
-
110
- int DLLEXPORT ENsavehydfile(char *filename);
111
-
112
- int DLLEXPORT ENusehydfile(char *filename);
113
-
114
- /********************************************************************
115
-
116
- Water Quality Analysis Functions
117
-
118
- ********************************************************************/
119
-
120
- int DLLEXPORT ENsolveQ();
121
-
122
- int DLLEXPORT ENopenQ();
123
-
124
- int DLLEXPORT ENinitQ(int saveFlag);
125
-
126
- int DLLEXPORT ENrunQ(long *currentTime);
127
-
128
- int DLLEXPORT ENnextQ(long *tStep);
129
-
130
- int DLLEXPORT ENstepQ(long *timeLeft);
131
-
132
- int DLLEXPORT ENcloseQ();
133
-
134
- /********************************************************************
135
-
136
- Reporting Functions
137
-
138
- ********************************************************************/
139
-
140
- int DLLEXPORT ENwriteline(char *line);
141
-
142
- int DLLEXPORT ENreport();
143
-
144
- int DLLEXPORT ENcopyreport(char *filename);
145
-
146
- int DLLEXPORT ENclearreport();
147
-
148
- int DLLEXPORT ENresetreport();
149
-
150
- int DLLEXPORT ENsetreport(char *format);
151
-
152
- int DLLEXPORT ENsetstatusreport(int level);
153
-
154
- int DLLEXPORT ENgetversion(int *version);
155
-
156
- int DLLEXPORT ENgeterror(int errcode, char *errmsg, int maxLen);
157
-
158
- int DLLEXPORT ENgetstatistic(int type, EN_API_FLOAT_TYPE* value);
159
-
160
- int DLLEXPORT ENgetresultindex(int type, int index, int *value);
161
-
162
- /********************************************************************
163
-
164
- Analysis Options Functions
165
-
166
- ********************************************************************/
167
-
168
- int DLLEXPORT ENgetoption(int option, EN_API_FLOAT_TYPE *value);
169
-
170
- int DLLEXPORT ENsetoption(int option, EN_API_FLOAT_TYPE value);
171
-
172
- int DLLEXPORT ENgetflowunits(int *units);
173
-
174
- int DLLEXPORT ENsetflowunits(int units);
175
-
176
- int DLLEXPORT ENgettimeparam(int param, long *value);
177
-
178
- int DLLEXPORT ENsettimeparam(int param, long value);
179
-
180
- int DLLEXPORT ENgetqualinfo(int *qualType, char *chemName, char *chemUnits,
181
- int *traceNode);
182
-
183
- int DLLEXPORT ENgetqualtype(int *qualType, int *traceNode);
184
-
185
- int DLLEXPORT ENsetqualtype(int qualType, char *chemName, char *chemUnits,
186
- char *traceNode);
187
-
188
- /********************************************************************
189
-
190
- Node Functions
191
-
192
- ********************************************************************/
193
-
194
- int DLLEXPORT ENaddnode(char *id, int nodeType, int *index);
195
-
196
- int DLLEXPORT ENdeletenode(int index, int actionCode);
197
-
198
- int DLLEXPORT ENgetnodeindex(char *id, int *index);
199
-
200
- int DLLEXPORT ENgetnodeid(int index, char *id);
201
-
202
- int DLLEXPORT ENsetnodeid(int index, char *newid);
203
-
204
- int DLLEXPORT ENgetnodetype(int index, int *nodeType);
205
-
206
- int DLLEXPORT ENgetnodevalue(int index, int property, EN_API_FLOAT_TYPE *value);
207
-
208
- int DLLEXPORT ENsetnodevalue(int index, int property, EN_API_FLOAT_TYPE value);
209
-
210
- int DLLEXPORT ENsetjuncdata(int index, EN_API_FLOAT_TYPE elev,
211
- EN_API_FLOAT_TYPE dmnd, char *dmndpat);
212
-
213
- int DLLEXPORT ENsettankdata(int index, EN_API_FLOAT_TYPE elev,
214
- EN_API_FLOAT_TYPE initlvl, EN_API_FLOAT_TYPE minlvl,
215
- EN_API_FLOAT_TYPE maxlvl, EN_API_FLOAT_TYPE diam,
216
- EN_API_FLOAT_TYPE minvol, char *volcurve);
217
-
218
- int DLLEXPORT ENgetcoord(int index, double *x, double *y);
219
-
220
- int DLLEXPORT ENsetcoord(int index, double x, double y);
221
-
222
- /********************************************************************
223
-
224
- Nodal Demand Functions
225
-
226
- ********************************************************************/
227
-
228
- int DLLEXPORT ENgetdemandmodel(int *model, EN_API_FLOAT_TYPE *pmin,
229
- EN_API_FLOAT_TYPE *preq, EN_API_FLOAT_TYPE *pexp);
230
-
231
- int DLLEXPORT ENsetdemandmodel(int model, EN_API_FLOAT_TYPE pmin,
232
- EN_API_FLOAT_TYPE preq, EN_API_FLOAT_TYPE pexp);
233
-
234
- int DLLEXPORT ENadddemand(int nodeIndex, EN_API_FLOAT_TYPE baseDemand,
235
- char *demandPattern, char *demandName);
236
-
237
- int DLLEXPORT ENdeletedemand(int nodeIndex, int demandIndex);
238
-
239
- int DLLEXPORT ENgetnumdemands(int nodeIndex, int *numDemands);
240
-
241
- int DLLEXPORT ENgetdemandindex(int nodeIndex, char *demandName, int *demandIndex);
242
-
243
- int DLLEXPORT ENgetbasedemand(int nodeIndex, int demandIndex,
244
- EN_API_FLOAT_TYPE *baseDemand);
245
-
246
- int DLLEXPORT ENsetbasedemand(int nodeIndex, int demandIndex,
247
- EN_API_FLOAT_TYPE baseDemand);
248
-
249
- int DLLEXPORT ENgetdemandpattern(int nodeIndex, int demandIndex, int *patIndex);
250
-
251
- int DLLEXPORT ENsetdemandpattern(int nodeIndex, int demandIndex, int patIndex);
252
-
253
- int DLLEXPORT ENgetdemandname(int nodeIndex, int demandIndex, char *demandName);
254
-
255
- int DLLEXPORT ENsetdemandname(int nodeIndex, int demandIndex, char *demandName);
256
-
257
- /********************************************************************
258
-
259
- Link Functions
260
-
261
- ********************************************************************/
262
-
263
- int DLLEXPORT ENaddlink(char *id, int linkType, char *fromNode, char *toNode, int *index);
264
-
265
- int DLLEXPORT ENdeletelink(int index, int actionCode);
266
-
267
- int DLLEXPORT ENgetlinkindex(char *id, int *index);
268
-
269
- int DLLEXPORT ENgetlinkid(int index, char *id);
270
-
271
- int DLLEXPORT ENsetlinkid(int index, char *newid);
272
-
273
- int DLLEXPORT ENgetlinktype(int index, int *linkType);
274
-
275
- int DLLEXPORT ENsetlinktype(int *index, int linkType, int actionCode);
276
-
277
- int DLLEXPORT ENgetlinknodes(int index, int *node1, int *node2);
278
-
279
- int DLLEXPORT ENsetlinknodes(int index, int node1, int node2);
280
-
281
- int DLLEXPORT ENgetlinkvalue(int index, int property, EN_API_FLOAT_TYPE *value);
282
-
283
- int DLLEXPORT ENsetlinkvalue(int index, int property, EN_API_FLOAT_TYPE value);
284
-
285
- int DLLEXPORT ENsetpipedata(int index, EN_API_FLOAT_TYPE length,
286
- EN_API_FLOAT_TYPE diam, EN_API_FLOAT_TYPE rough,
287
- EN_API_FLOAT_TYPE mloss);
288
-
289
- int DLLEXPORT ENgetvertexcount(int index, int *count);
290
-
291
- int DLLEXPORT ENgetvertex(int index, int vertex, double *x, double *y);
292
-
293
- int DLLEXPORT ENsetvertices(int index, double *x, double *y, int count);
294
-
295
- /********************************************************************
296
-
297
- Pump Functions
298
-
299
- ********************************************************************/
300
-
301
- int DLLEXPORT ENgetpumptype(int linkIndex, int *pumpType);
302
-
303
- int DLLEXPORT ENgetheadcurveindex(int linkIndex, int *curveIndex);
304
-
305
- int DLLEXPORT ENsetheadcurveindex(int linkIndex, int curveIndex);
306
-
307
- /********************************************************************
308
-
309
- Time Pattern Functions
310
-
311
- ********************************************************************/
312
-
313
- int DLLEXPORT ENaddpattern(char *id);
314
-
315
- int DLLEXPORT ENdeletepattern(int index);
316
-
317
- int DLLEXPORT ENgetpatternindex(char *id, int *index);
318
-
319
- int DLLEXPORT ENgetpatternid(int index, char *id);
320
-
321
- int DLLEXPORT ENsetpatternid(int index, char *id);
322
-
323
- int DLLEXPORT ENgetpatternlen(int index, int *len);
324
-
325
- int DLLEXPORT ENgetpatternvalue(int index, int period, EN_API_FLOAT_TYPE *value);
326
-
327
- int DLLEXPORT ENsetpatternvalue(int index, int period, EN_API_FLOAT_TYPE value);
328
-
329
- int DLLEXPORT ENgetaveragepatternvalue(int index, EN_API_FLOAT_TYPE *value);
330
-
331
- int DLLEXPORT ENsetpattern(int index, EN_API_FLOAT_TYPE *values, int len);
332
-
333
- /********************************************************************
334
-
335
- Data Curve Functions
336
-
337
- ********************************************************************/
338
-
339
- int DLLEXPORT ENaddcurve(char *id);
340
-
341
- int DLLEXPORT ENdeletecurve(int index);
342
-
343
- int DLLEXPORT ENgetcurveindex(char *id, int *index);
344
-
345
- int DLLEXPORT ENgetcurveid(int index, char *id);
346
-
347
- int DLLEXPORT ENsetcurveid(int index, char *id);
348
-
349
- int DLLEXPORT ENgetcurvelen(int index, int *len);
350
-
351
- int DLLEXPORT ENgetcurvetype(int index, int *type);
352
-
353
- int DLLEXPORT ENgetcurvevalue(int curveIndex, int pointIndex,
354
- EN_API_FLOAT_TYPE *x, EN_API_FLOAT_TYPE *y);
355
-
356
- int DLLEXPORT ENsetcurvevalue(int curveIndex, int pointIndex,
357
- EN_API_FLOAT_TYPE x, EN_API_FLOAT_TYPE y);
358
-
359
- int DLLEXPORT ENgetcurve(int index, char* id, int *nPoints,
360
- EN_API_FLOAT_TYPE *xValues, EN_API_FLOAT_TYPE *yValues);
361
-
362
- int DLLEXPORT ENsetcurve(int index, EN_API_FLOAT_TYPE *xValues,
363
- EN_API_FLOAT_TYPE *yValues, int nPoints);
364
-
365
- /********************************************************************
366
-
367
- Simple Controls Functions
368
-
369
- ********************************************************************/
370
-
371
- int DLLEXPORT ENaddcontrol(int type, int linkIndex, EN_API_FLOAT_TYPE setting,
372
- int nodeIndex, EN_API_FLOAT_TYPE level, int *index);
373
-
374
- int DLLEXPORT ENdeletecontrol(int index);
375
-
376
- int DLLEXPORT ENgetcontrol(int index, int *type, int *linkIndex,
377
- EN_API_FLOAT_TYPE *setting, int *nodeIndex, EN_API_FLOAT_TYPE *level);
378
-
379
- int DLLEXPORT ENsetcontrol(int index, int type, int linkIndex,
380
- EN_API_FLOAT_TYPE setting, int nodeIndex, EN_API_FLOAT_TYPE level);
381
-
382
-
383
- /********************************************************************
384
-
385
- Rule-Based Controls Functions
386
-
387
- ********************************************************************/
388
-
389
- int DLLEXPORT ENaddrule(char *rule);
390
-
391
- int DLLEXPORT ENdeleterule(int index);
392
-
393
- int DLLEXPORT ENgetrule(int index, int *nPremises, int *nThenActions,
394
- int *nElseActions, EN_API_FLOAT_TYPE *priority);
395
-
396
- int DLLEXPORT ENgetruleID(int index, char* id);
397
-
398
- int DLLEXPORT ENgetpremise(int ruleIndex, int premiseIndex, int *logop,
399
- int *object, int *objIndex, int *variable,
400
- int *relop, int *status, EN_API_FLOAT_TYPE *value);
401
-
402
- int DLLEXPORT ENsetpremise(int ruleIndex, int premiseIndex, int logop,
403
- int object, int objIndex, int variable, int relop,
404
- int status, EN_API_FLOAT_TYPE value);
405
-
406
- int DLLEXPORT ENsetpremiseindex(int ruleIndex, int premiseIndex, int objIndex);
407
-
408
- int DLLEXPORT ENsetpremisestatus(int ruleIndex, int premiseIndex, int status);
409
-
410
- int DLLEXPORT ENsetpremisevalue(int ruleIndex, int premiseIndex,
411
- EN_API_FLOAT_TYPE value);
412
-
413
- int DLLEXPORT ENgetthenaction(int ruleIndex, int actionIndex, int *linkIndex,
414
- int *status, EN_API_FLOAT_TYPE *setting);
415
-
416
- int DLLEXPORT ENsetthenaction(int ruleIndex, int actionIndex, int linkIndex,
417
- int status, EN_API_FLOAT_TYPE setting);
418
-
419
- int DLLEXPORT ENgetelseaction(int ruleIndex, int actionIndex, int *linkIndex,
420
- int *status, EN_API_FLOAT_TYPE *setting);
421
-
422
- int DLLEXPORT ENsetelseaction(int ruleIndex, int actionIndex, int linkIndex,
423
- int status, EN_API_FLOAT_TYPE setting);
424
-
425
- int DLLEXPORT ENsetrulepriority(int index, EN_API_FLOAT_TYPE priority);
426
-
427
- #if defined(__cplusplus)
428
- }
429
- #endif
430
-
431
- #endif //EPANET2_H