fixes non-camelcase convention
and adds rich corinthian vintage-style (projectless) function declarations
This commit is contained in:
@@ -72,9 +72,9 @@ extern "C" {
|
||||
|
||||
int DLLEXPORT ENopen(const char *inpFile, const char *rptFile,
|
||||
const char *outFile);
|
||||
|
||||
|
||||
int DLLEXPORT ENgettitle(char *line1, char *line2, char *line3);
|
||||
|
||||
|
||||
int DLLEXPORT ENsettitle(char *line1, char *line2, char *line3);
|
||||
|
||||
int DLLEXPORT ENgetcomment(int object, int index, char *comment);
|
||||
@@ -156,9 +156,13 @@ extern "C" {
|
||||
int DLLEXPORT ENgeterror(int errcode, char *errmsg, int maxLen);
|
||||
|
||||
int DLLEXPORT ENgetstatistic(int type, EN_API_FLOAT_TYPE* value);
|
||||
|
||||
|
||||
int DLLEXPORT ENgetresultindex(int type, int index, int *value);
|
||||
|
||||
int DLLEXPORT ENsetreportcallback(void (*callback)(void *userData, void *EN_projectHandle, char*));
|
||||
int DLLEXPORT ENsetreportcallbackuserdata(void *userData);
|
||||
|
||||
|
||||
/********************************************************************
|
||||
|
||||
Analysis Options Functions
|
||||
@@ -235,7 +239,7 @@ extern "C" {
|
||||
char *demandPattern, char *demandName);
|
||||
|
||||
int DLLEXPORT ENdeletedemand(int nodeIndex, int demandIndex);
|
||||
|
||||
|
||||
int DLLEXPORT ENgetnumdemands(int nodeIndex, int *numDemands);
|
||||
|
||||
int DLLEXPORT ENgetdemandindex(int nodeIndex, char *demandName, int *demandIndex);
|
||||
@@ -285,13 +289,13 @@ extern "C" {
|
||||
int DLLEXPORT ENsetpipedata(int index, EN_API_FLOAT_TYPE length,
|
||||
EN_API_FLOAT_TYPE diam, EN_API_FLOAT_TYPE rough,
|
||||
EN_API_FLOAT_TYPE mloss);
|
||||
|
||||
|
||||
int DLLEXPORT ENgetvertexcount(int index, int *count);
|
||||
|
||||
|
||||
int DLLEXPORT ENgetvertex(int index, int vertex, double *x, double *y);
|
||||
|
||||
|
||||
int DLLEXPORT ENsetvertex(int index, int vertex, double x, double y);
|
||||
|
||||
|
||||
int DLLEXPORT ENsetvertices(int index, double *x, double *y, int count);
|
||||
|
||||
/********************************************************************
|
||||
@@ -351,7 +355,7 @@ extern "C" {
|
||||
int DLLEXPORT ENgetcurvelen(int index, int *len);
|
||||
|
||||
int DLLEXPORT ENgetcurvetype(int index, int *type);
|
||||
|
||||
|
||||
int DLLEXPORT ENsetcurvetype(int index, int type);
|
||||
|
||||
int DLLEXPORT ENgetcurvevalue(int curveIndex, int pointIndex,
|
||||
@@ -425,7 +429,7 @@ extern "C" {
|
||||
|
||||
int DLLEXPORT ENsetelseaction(int ruleIndex, int actionIndex, int linkIndex,
|
||||
int status, EN_API_FLOAT_TYPE setting);
|
||||
|
||||
|
||||
int DLLEXPORT ENsetrulepriority(int index, EN_API_FLOAT_TYPE priority);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
|
||||
@@ -526,8 +526,8 @@ typedef struct Project *EN_Project;
|
||||
use the userData parameter to pass any client context necessary (a context pointer or wrapper object perhaps).
|
||||
Leave un-set or set the report callback to NULL to revert to EPANET's default behavior.
|
||||
**/
|
||||
int DLLEXPORT EN_setReportCallback(EN_Project ph, void (*callback)(void *userData, void *EN_projectHandle, char*));
|
||||
int DLLEXPORT EN_setReportCallbackUserData(EN_Project ph, void *userData);
|
||||
int DLLEXPORT EN_setreportcallback(EN_Project ph, void (*callback)(void *userData, void *EN_projectHandle, char*));
|
||||
int DLLEXPORT EN_setreportcallbackuserdata(EN_Project ph, void *userData);
|
||||
|
||||
/**
|
||||
@brief Writes a line of text to a project's report file.
|
||||
|
||||
76
src/epanet.c
76
src/epanet.c
@@ -842,13 +842,13 @@ int DLLEXPORT EN_closeQ(EN_Project p)
|
||||
********************************************************************/
|
||||
|
||||
|
||||
int DLLEXPORT EN_setReportCallback(EN_Project p, void (*callback)(void*,void*,char*))
|
||||
int DLLEXPORT EN_setreportcallback(EN_Project p, void (*callback)(void*,void*,char*))
|
||||
{
|
||||
p->report.reportCallback = callback;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int DLLEXPORT EN_setReportCallbackUserData(EN_Project p, void *userData)
|
||||
int DLLEXPORT EN_setreportcallbackuserdata(EN_Project p, void *userData)
|
||||
{
|
||||
p->report.reportCallbackUserData = userData;
|
||||
return 0;
|
||||
@@ -1787,9 +1787,9 @@ int DLLEXPORT EN_addnode(EN_Project p, char *id, int nodeType, int *index)
|
||||
|
||||
// Check if a node with same id already exists
|
||||
if (EN_getnodeindex(p, id, &i) == 0) return 215;
|
||||
|
||||
|
||||
// Check for valid node type
|
||||
if (nodeType < EN_JUNCTION || nodeType > EN_TANK) return 251;
|
||||
if (nodeType < EN_JUNCTION || nodeType > EN_TANK) return 251;
|
||||
|
||||
// Grow node-related arrays to accomodate the new node
|
||||
size = (net->Nnodes + 2) * sizeof(Snode);
|
||||
@@ -1810,7 +1810,7 @@ int DLLEXPORT EN_addnode(EN_Project p, char *id, int nodeType, int *index)
|
||||
hashtable_update(net->NodeHashTable, net->Node[i].ID, i + 1);
|
||||
net->Node[i + 1] = net->Node[i];
|
||||
}
|
||||
|
||||
|
||||
// set index of new Junction node
|
||||
net->Njuncs++;
|
||||
nIdx = net->Njuncs;
|
||||
@@ -2267,20 +2267,20 @@ int DLLEXPORT EN_getnodevalue(EN_Project p, int index, int property, double *val
|
||||
if (Node[index].Type != TANK) return 0;
|
||||
v = Tank[index - nJuncs].CanOverflow;
|
||||
break;
|
||||
|
||||
|
||||
case EN_DEMANDDEFICIT:
|
||||
if (index > nJuncs) return 0;
|
||||
// After an analysis, DemandFlow contains node's required demand
|
||||
// while NodeDemand contains delivered demand + emitter flow
|
||||
if (hyd->DemandFlow[index] < 0.0) return 0;
|
||||
v = (hyd->DemandFlow[index] -
|
||||
v = (hyd->DemandFlow[index] -
|
||||
(hyd->NodeDemand[index] - hyd->EmitterFlow[index])) * Ucf[FLOW];
|
||||
break;
|
||||
|
||||
|
||||
case EN_NODE_INCONTROL:
|
||||
v = (double)incontrols(p, NODE, index);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
return 251;
|
||||
}
|
||||
@@ -2496,7 +2496,7 @@ int DLLEXPORT EN_setnodevalue(EN_Project p, int index, int property, double valu
|
||||
Tank[j].Vmin = tankvolume(p, j, Tank[j].Hmin); // new min. volume
|
||||
Tank[j].V0 = tankvolume(p, j, Tank[j].H0); // new init. volume
|
||||
Tank[j].Vmax = tankvolume(p, j, Tank[j].Hmax); // new max. volume
|
||||
Tank[j].A = (curve->Y[n] - curve->Y[0]) / // nominal area
|
||||
Tank[j].A = (curve->Y[n] - curve->Y[0]) / // nominal area
|
||||
(curve->X[n] - curve->X[0]);
|
||||
break;
|
||||
|
||||
@@ -3806,7 +3806,7 @@ int DLLEXPORT EN_getlinkvalue(EN_Project p, int index, int property, double *val
|
||||
v = (double)Pump[findpump(&p->network, index)].Epat;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case EN_GPV_CURVE:
|
||||
if (Link[index].Type == GPV)
|
||||
{
|
||||
@@ -3817,7 +3817,7 @@ int DLLEXPORT EN_getlinkvalue(EN_Project p, int index, int property, double *val
|
||||
case EN_LINK_INCONTROL:
|
||||
v = (double)incontrols(p, LINK, index);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
return 251;
|
||||
}
|
||||
@@ -4024,7 +4024,7 @@ int DLLEXPORT EN_setlinkvalue(EN_Project p, int index, int property, double valu
|
||||
net->Pump[pumpIndex].Epat = patIndex;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case EN_GPV_CURVE:
|
||||
if (Link[index].Type == GPV)
|
||||
{
|
||||
@@ -4090,20 +4090,20 @@ int DLLEXPORT EN_getvertexcount(EN_Project p, int index, int *count)
|
||||
*/
|
||||
{
|
||||
Network *net = &p->network;
|
||||
|
||||
|
||||
Slink *Link = net->Link;
|
||||
Pvertices vertices;
|
||||
|
||||
|
||||
// Check that link exists
|
||||
*count = 0;
|
||||
if (!p->Openflag) return 102;
|
||||
if (index <= 0 || index > net->Nlinks) return 204;
|
||||
|
||||
|
||||
// Set count to number of vertices
|
||||
vertices = Link[index].Vertices;
|
||||
if (vertices) *count = vertices->Npts;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
int DLLEXPORT EN_getvertex(EN_Project p, int index, int vertex, double *x, double *y)
|
||||
/*----------------------------------------------------------------
|
||||
@@ -4117,22 +4117,22 @@ int DLLEXPORT EN_getvertex(EN_Project p, int index, int vertex, double *x, doubl
|
||||
*/
|
||||
{
|
||||
Network *net = &p->network;
|
||||
|
||||
|
||||
Slink *Link = net->Link;
|
||||
Pvertices vertices;
|
||||
|
||||
|
||||
// Check that link exists
|
||||
*x = MISSING;
|
||||
*y = MISSING;
|
||||
if (!p->Openflag) return 102;
|
||||
if (index <= 0 || index > net->Nlinks) return 204;
|
||||
|
||||
|
||||
// Check that vertex exists
|
||||
vertices = Link[index].Vertices;
|
||||
if (vertices == NULL) return 255;
|
||||
if (vertex <= 0 || vertex > vertices->Npts) return 255;
|
||||
*x = vertices->X[vertex - 1];
|
||||
*y = vertices->Y[vertex - 1];
|
||||
*y = vertices->Y[vertex - 1];
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -4148,23 +4148,23 @@ int DLLEXPORT EN_setvertex(EN_Project p, int index, int vertex, double x, double
|
||||
*/
|
||||
{
|
||||
Network *net = &p->network;
|
||||
|
||||
|
||||
Slink *Link = net->Link;
|
||||
Pvertices vertices;
|
||||
|
||||
|
||||
// Check that link exists
|
||||
if (!p->Openflag) return 102;
|
||||
if (index <= 0 || index > net->Nlinks) return 204;
|
||||
|
||||
|
||||
// Check that vertex exists
|
||||
vertices = Link[index].Vertices;
|
||||
if (vertices == NULL) return 255;
|
||||
if (vertex <= 0 || vertex > vertices->Npts) return 255;
|
||||
vertices->X[vertex - 1] = x;
|
||||
vertices->Y[vertex - 1] = y;
|
||||
vertices->Y[vertex - 1] = y;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int DLLEXPORT EN_setvertices(EN_Project p, int index, double *x, double *y, int count)
|
||||
/*----------------------------------------------------------------
|
||||
** Input: index = link index
|
||||
@@ -4177,11 +4177,11 @@ int DLLEXPORT EN_setvertices(EN_Project p, int index, double *x, double *y, int
|
||||
*/
|
||||
{
|
||||
Network *net = &p->network;
|
||||
|
||||
|
||||
Slink *link;
|
||||
int i;
|
||||
int err = 0;
|
||||
|
||||
|
||||
// Check that link exists
|
||||
if (!p->Openflag) return 102;
|
||||
if (index <= 0 || index > net->Nlinks) return 204;
|
||||
@@ -4189,7 +4189,7 @@ int DLLEXPORT EN_setvertices(EN_Project p, int index, double *x, double *y, int
|
||||
|
||||
// Delete existing set of vertices
|
||||
freelinkvertices(link);
|
||||
|
||||
|
||||
// Add each new vertex to the link
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
@@ -4198,7 +4198,7 @@ int DLLEXPORT EN_setvertices(EN_Project p, int index, double *x, double *y, int
|
||||
}
|
||||
if (err) freelinkvertices(link);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
|
||||
@@ -4282,16 +4282,16 @@ int DLLEXPORT EN_setheadcurveindex(EN_Project p, int linkIndex, int curveIndex)
|
||||
pump = &p->network.Pump[pumpIndex];
|
||||
oldCurveIndex = pump->Hcurve;
|
||||
newCurveType = p->network.Curve[curveIndex].Type;
|
||||
|
||||
|
||||
// Assign the new curve to the pump
|
||||
pump->Ptype = NOCURVE;
|
||||
pump->Hcurve = curveIndex;
|
||||
if (curveIndex == 0) return 0;
|
||||
|
||||
|
||||
// Update the pump's head curve parameters (which also changes
|
||||
// the new curve's Type to PUMP_CURVE)
|
||||
err = updatepumpparams(p, pumpIndex);
|
||||
|
||||
|
||||
// If the parameter updating failed (new curve was not a valid pump curve)
|
||||
// restore the pump's original curve and its parameters
|
||||
if (err > 0)
|
||||
@@ -4301,8 +4301,8 @@ int DLLEXPORT EN_setheadcurveindex(EN_Project p, int linkIndex, int curveIndex)
|
||||
pump->Hcurve = oldCurveIndex;
|
||||
if (oldCurveIndex == 0) return err;
|
||||
updatepumpparams(p, pumpIndex);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Convert the units of the updated pump parameters to feet and cfs
|
||||
if (pump->Ptype == POWER_FUNC)
|
||||
{
|
||||
@@ -4791,7 +4791,7 @@ int DLLEXPORT EN_setcurvetype(EN_Project p, int index, int type)
|
||||
Network *net = &p->network;
|
||||
if (!p->Openflag) return 102;
|
||||
if (index < 1 || index > net->Ncurves) return 206;
|
||||
if (type < 0 || type > EN_GENERIC_CURVE) return 251;
|
||||
if (type < 0 || type > EN_GENERIC_CURVE) return 251;
|
||||
net->Curve[index].Type = type;
|
||||
return 0;
|
||||
}
|
||||
@@ -4865,7 +4865,7 @@ int DLLEXPORT EN_setcurvevalue(EN_Project p, int curveIndex, int pointIndex,
|
||||
// Insert new point into curve
|
||||
curve->X[n] = x;
|
||||
curve->Y[n] = y;
|
||||
|
||||
|
||||
// Adjust parameters for pumps using curve as a head curve
|
||||
return adjustpumpparams(p, curveIndex);
|
||||
}
|
||||
@@ -4939,7 +4939,7 @@ int DLLEXPORT EN_setcurve(EN_Project p, int index, double *xValues,
|
||||
curve->X[j] = xValues[j];
|
||||
curve->Y[j] = yValues[j];
|
||||
}
|
||||
|
||||
|
||||
// Adjust parameters for pumps using curve as a head curve
|
||||
return adjustpumpparams(p, index);
|
||||
}
|
||||
|
||||
@@ -212,6 +212,16 @@ int DLLEXPORT ENsetstatusreport(int level)
|
||||
return EN_setstatusreport(_defaultProject, level);
|
||||
}
|
||||
|
||||
int DLLEXPORT ENsetreportcallback(void (*callback)(void *userData, void *EN_projectHandle, char*))
|
||||
{
|
||||
return EN_setreportcallback(_defaultProject, callback);
|
||||
}
|
||||
|
||||
int DLLEXPORT ENsetreportcallbackuserdata(void *userData)
|
||||
{
|
||||
return EN_setreportcallbackuserdata(_defaultProject, userData);
|
||||
}
|
||||
|
||||
int DLLEXPORT ENgetversion(int *version) { return EN_getversion(version); }
|
||||
|
||||
int DLLEXPORT ENgeterror(int errcode, char *errmsg, int maxLen)
|
||||
@@ -516,7 +526,7 @@ int DLLEXPORT ENgetvertexcount(int index, int *count)
|
||||
{
|
||||
return EN_getvertexcount(_defaultProject, index, count);
|
||||
}
|
||||
|
||||
|
||||
int DLLEXPORT ENgetvertex(int index, int vertex, double *x, double *y)
|
||||
{
|
||||
return EN_getvertex(_defaultProject, index, vertex, x, y);
|
||||
@@ -530,7 +540,7 @@ int DLLEXPORT ENsetvertex(int index, int vertex, double x, double y)
|
||||
int DLLEXPORT ENsetvertices(int index, double *x, double *y, int count)
|
||||
{
|
||||
return EN_setvertices(_defaultProject, index, x, y, count);
|
||||
}
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
|
||||
@@ -714,10 +724,10 @@ int DLLEXPORT ENsetcurve(int index, EN_API_FLOAT_TYPE *xValues,
|
||||
double *xx = NULL;
|
||||
double *yy = NULL;
|
||||
int i, errcode = 0;
|
||||
|
||||
|
||||
if (xValues == NULL || yValues == NULL) return 206;
|
||||
if (nPoints < 1) return 202;
|
||||
|
||||
|
||||
xx = (double *)calloc(nPoints, sizeof(double));
|
||||
yy = (double *)calloc(nPoints, sizeof(double));
|
||||
if (xx && yy)
|
||||
|
||||
Reference in New Issue
Block a user