Merge pull request #250 from eladsal/dev-232

Add legacy ENinit API and set status for new links in EN_addlink
This commit is contained in:
Elad Salomons
2018-08-30 12:47:27 +03:00
committed by GitHub
2 changed files with 15 additions and 14 deletions

View File

@@ -185,6 +185,14 @@ int DLLEXPORT ENepanet(const char *f1, const char *f2, const char *f3, void (*pv
return (errcode); return (errcode);
} }
int DLLEXPORT ENinit(char *f2, char *f3, int UnitsType,
int HeadlossFormula) {
int errcode = 0;
ERRCODE(EN_createproject(&_defaultModel));
ERRCODE(EN_init(_defaultModel, f2, f3, UnitsType, HeadlossFormula));
return (errcode);
}
int DLLEXPORT ENopen(char *f1, char *f2, char *f3) { int DLLEXPORT ENopen(char *f1, char *f2, char *f3) {
int errcode = 0; int errcode = 0;
ERRCODE(EN_createproject(&_defaultModel)); ERRCODE(EN_createproject(&_defaultModel));
@@ -602,7 +610,7 @@ int DLLEXPORT EN_deleteproject(EN_ProjectHandle *ph)
} }
int DLLEXPORT EN_init(EN_ProjectHandle *ph, char *f2, char *f3, int DLLEXPORT EN_init(EN_ProjectHandle ph, char *f2, char *f3,
EN_FlowUnits UnitsType, EN_FormType HeadlossFormula) EN_FlowUnits UnitsType, EN_FormType HeadlossFormula)
/*---------------------------------------------------------------- /*----------------------------------------------------------------
** Input: ** Input:
@@ -623,7 +631,7 @@ int DLLEXPORT EN_init(EN_ProjectHandle *ph, char *f2, char *f3,
_fpreset(); _fpreset();
#endif #endif
EN_Project *pr = (EN_Project*)*ph; EN_Project *pr = (EN_Project*)ph;
/* Set system flags */ /* Set system flags */
pr->Openflag = TRUE; pr->Openflag = TRUE;
@@ -3643,7 +3651,7 @@ int DLLEXPORT EN_setheadcurveindex(EN_ProjectHandle ph, int index, int curveinde
double *Ucf = p->Ucf; double *Ucf = p->Ucf;
int pIdx; int pIdx;
Spump *pump; Spump *pump;
if (!p->Openflag) if (!p->Openflag)
return set_error(p->error_handle, 102); return set_error(p->error_handle, 102);
if (index < 1 || index > Nlinks || EN_PUMP != Link[index].Type) { if (index < 1 || index > Nlinks || EN_PUMP != Link[index].Type) {
@@ -4798,6 +4806,7 @@ int DLLEXPORT EN_addlink(EN_ProjectHandle ph, char *id, EN_LinkType linkType, ch
link->Type = linkType; link->Type = linkType;
link->N1 = N1; link->N1 = N1;
link->N2 = N2; link->N2 = N2;
link->Stat = OPEN;
if (linkType == EN_PUMP) { if (linkType == EN_PUMP) {
link->Kc = 1.0; // Speed factor link->Kc = 1.0; // Speed factor
@@ -4813,23 +4822,14 @@ int DLLEXPORT EN_addlink(EN_ProjectHandle ph, char *id, EN_LinkType linkType, ch
link->Kc = 0.0; // Valve setting. link->Kc = 0.0; // Valve setting.
link->Km = 0.0; // Loss coeff link->Km = 0.0; // Loss coeff
link->Len = 0.0; link->Len = 0.0;
link->Stat = ACTIVE;
} }
// link->Len = 0.0;
// link->Kc = 0.01;
// link->Km = 0;
link->Kb = 0; link->Kb = 0;
link->Kw = 0; link->Kw = 0;
link->R = 0; link->R = 0;
link->Rc = 0; link->Rc = 0;
link->Rpt = 0; link->Rpt = 0;
if (linkType == EN_CVPIPE) {
link->Stat = OPEN;
}
else {
link->Stat = CLOSED;
}
ENHashTableInsert(net->LinkHashTable, link->ID, n); ENHashTableInsert(net->LinkHashTable, link->ID, n);
return set_error(p->error_handle, 0); return set_error(p->error_handle, 0);
} }

View File

@@ -67,6 +67,7 @@ EXPORTS
ENsetbasedemand = _ENsetbasedemand@12 ENsetbasedemand = _ENsetbasedemand@12
ENgetaveragepatternvalue = _ENgetaveragepatternvalue@8 ENgetaveragepatternvalue = _ENgetaveragepatternvalue@8
ENgetheadcurveindex = _ENgetheadcurveindex@8 ENgetheadcurveindex = _ENgetheadcurveindex@8
ENsetheadcurveindex = _ENsetheadcurveindex@8
ENgetpumptype = _ENgetpumptype@8 ENgetpumptype = _ENgetpumptype@8
ENgetcurveindex = _ENgetcurveindex@8 ENgetcurveindex = _ENgetcurveindex@8
ENgetcurveid = _ENgetcurveid@8 ENgetcurveid = _ENgetcurveid@8
@@ -96,4 +97,4 @@ EXPORTS
ENgetdemandmodel = _ENgetdemandmodel@16 ENgetdemandmodel = _ENgetdemandmodel@16
ENsetdemandmodel = _ENsetdemandmodel@16 ENsetdemandmodel = _ENsetdemandmodel@16
ENgetcurvetype = _ENgetcurvetype@8 ENgetcurvetype = _ENgetcurvetype@8
ENinit = _ENinit@16