Fixes #172 (adjust controls when node/link is deleted) & EN_addrule added

- Deleting controls with node/link deletion made conditional.
- New EN_addrule function added along with a test file.
- Rule structures re-named & rules.c heavily modified.
- Issue with exceeding limit on number of temporary file names fixed.
- VB declaration and DEF files updated.
This commit is contained in:
Lew Rossman
2018-11-07 23:09:47 -05:00
parent ee335ab077
commit 7443cea9d4
25 changed files with 2197 additions and 1800 deletions

View File

@@ -1,15 +1,38 @@
LIBRARY EPANET2.DLL
EXPORTS
ENaddpattern = _ENaddpattern@4
ENaddcontrol = _ENaddcontrol@24
ENaddcurve = _ENaddcurve@4
ENaddlink = _ENaddlink@16
ENaddnode = _ENaddnode@8
ENaddpattern = _ENaddpattern@4
ENaddrule = _ENaddrule@4
ENclose = _ENclose@0
ENcloseH = _ENcloseH@0
ENcloseQ = _ENcloseQ@0
ENepanet = _ENepanet@16
ENcloseQ = _ENcloseQ@0
ENdeletecontrol = _ENdeletecontrol@4
ENdeletelink = _ENdeletelink@4
ENdeletenode = _ENdeletenode@4
ENdeleterule = _ENdeleterule@4
ENepanet = _ENepanet@16
ENgetaveragepatternvalue = _ENgetaveragepatternvalue@8
ENgetbasedemand = _ENgetbasedemand@12
ENgetcontrol = _ENgetcontrol@24
ENgetcoord = _ENgetcoord@12
ENgetcount = _ENgetcount@8
ENgetcurve = _ENgetcurve@20
ENgetcurveid = _ENgetcurveid@8
ENgetcurveindex = _ENgetcurveindex@8
ENgetcurvelen = _ENgetcurvelen@8
ENgetcurvetype = _ENgetcurvetype@8
ENgetcurvevalue = _ENgetcurvevalue@16
ENgetdemandmodel = _ENgetdemandmodel@16
ENgetdemandname = _ENgetdemandname@12
ENgetdemandpattern = _ENgetdemandpattern@12
ENgetelseaction = _ENgetfalseaction@20
ENgeterror = _ENgeterror@12
ENgetflowunits = _ENgetflowunits@4
ENgetheadcurveindex = _ENgetheadcurveindex@8
ENgetlinkid = _ENgetlinkid@8
ENgetlinkindex = _ENgetlinkindex@8
ENgetlinknodes = _ENgetlinknodes@12
@@ -19,86 +42,69 @@ EXPORTS
ENgetnodeindex = _ENgetnodeindex@8
ENgetnodetype = _ENgetnodetype@8
ENgetnodevalue = _ENgetnodevalue@12
ENgetnumdemands = _ENgetnumdemands@8
ENgetoption = _ENgetoption@8
ENgetpatternid = _ENgetpatternid@8
ENgetpatternindex = _ENgetpatternindex@8
ENgetpatternlen = _ENgetpatternlen@8
ENgetpatternvalue = _ENgetpatternvalue@12
ENgetpremise = _ENgetpremise@36
ENgetpumptype = _ENgetpumptype@8
ENgetqualinfo = _ENgetqualinfo@16
ENgetqualtype = _ENgetqualtype@8
ENgetrule = _ENgetrule@20
ENgetruleID = _ENgetruleID@8
ENgetstatistic = _ENgetstatistic@8
ENgetthenaction = _ENgettrueaction@20
ENgettimeparam = _ENgettimeparam@8
ENgetversion = _ENgetversion@4
ENgetversion = _ENgetversion@4
ENinit = _ENinit@16
ENinitH = _ENinitH@4
ENinitQ = _ENinitQ@4
ENnextH = _ENnextH@4
ENnextQ = _ENnextQ@4
ENnextQ = _ENnextQ@4
ENopen = _ENopen@12
ENopenH = _ENopenH@0
ENopenQ = _ENopenQ@0
ENopenQ = _ENopenQ@0
ENreport = _ENreport@0
ENresetreport = _ENresetreport@0
ENrunH = _ENrunH@4
ENrunQ = _ENrunQ@4
ENrunQ = _ENrunQ@4
ENsaveH = _ENsaveH@0
ENsavehydfile = _ENsavehydfile@4
ENsaveinpfile = _ENsaveinpfile@4
ENaddcontrol = _ENaddcontrol@24
ENsetbasedemand = _ENsetbasedemand@12
ENsetcontrol = _ENsetcontrol@24
ENsetlinkvalue = _ENsetlinkvalue@12
ENsetcoord = _ENsetcoord@12
ENsetcurve = _ENsetcurve@16
ENsetcurvevalue = _ENsetcurvevalue@16
ENsetdemandmodel = _ENsetdemandmodel@16
ENsetdemandname = _ENsetdemandname@12
ENsetdemandpattern = _ENsetdemandpattern@12
ENsetelseaction = _ENsetfalseaction@20
ENsetflowunits = _ENsetflowunits@4
ENsetheadcurveindex = _ENsetheadcurveindex@8
ENsetlinkid = _ENsetlinkid@8
ENsetlinknodes = _ENsetlinknodes@12
ENsetlinktype = _ENsetlinktype@8
ENsetlinkvalue = _ENsetlinkvalue@12
ENsetnodeid = _ENsetnodeid@8
ENsetnodevalue = _ENsetnodevalue@12
ENsetoption = _ENsetoption@8
ENsetpattern = _ENsetpattern@12
ENsetpatternvalue = _ENsetpatternvalue@12
ENsetqualtype = _ENsetqualtype@16
ENsetreport = _ENsetreport@4
ENsetstatusreport = _ENsetstatusreport@4
ENsettimeparam = _ENsettimeparam@8
ENsolveH = _ENsolveH@0
ENsolveQ = _ENsolveQ@0
ENstepQ = _ENstepQ@4
ENusehydfile = _ENusehydfile@4
ENwriteline = _ENwriteline@4
ENgetnumdemands = _ENgetnumdemands@8
ENgetbasedemand = _ENgetbasedemand@12
ENgetdemandpattern = _ENgetdemandpattern@12
ENgetcurve = _ENgetcurve@20
ENgetstatistic = _ENgetstatistic@8
ENgetcoord = _ENgetcoord@12
ENsetcoord = _ENsetcoord@12
ENgetqualinfo = _ENgetqualinfo@16
ENsetbasedemand = _ENsetbasedemand@12
ENsetdemandpattern = _ENsetdemandpattern@12
ENgetaveragepatternvalue = _ENgetaveragepatternvalue@8
ENgetheadcurveindex = _ENgetheadcurveindex@8
ENsetheadcurveindex = _ENsetheadcurveindex@8
ENgetpumptype = _ENgetpumptype@8
ENgetcurveindex = _ENgetcurveindex@8
ENgetcurveid = _ENgetcurveid@8
ENgetcurvelen = _ENgetcurvelen@8
ENgetcurvevalue = _ENgetcurvevalue@16
ENsetcurvevalue = _ENsetcurvevalue@16
ENsetcurve = _ENsetcurve@16
ENaddcurve = _ENaddcurve@4
ENgetrule = _ENgetrule@20
ENsetrulepriority = _ENsetrulepriority@8
ENgetpremise = _ENgetpremise@36
ENsetpremise = _ENsetpremise@36
ENsetpremiseindex = _ENsetpremiseindex@12
ENsetpremisestatus = _ENsetpremisestatus@12
ENsetpremisevalue = _ENsetpremisevalue@12
ENgettrueaction = _ENgettrueaction@20
ENsettrueaction = _ENsettrueaction@20
ENgetfalseaction = _ENgetfalseaction@20
ENsetfalseaction = _ENsetfalseaction@20
ENgetruleID = _ENgetruleID@8
ENsetflowunits = _ENsetflowunits@4
ENaddnode = _ENaddnode@8
ENaddlink = _ENaddlink@16
ENdeletelink = _ENdeletelink@4
ENdeletenode = _ENdeletenode@4
ENsetlinktype = _ENsetlinktype@8
ENgetdemandmodel = _ENgetdemandmodel@16
ENsetdemandmodel = _ENsetdemandmodel@16
ENgetcurvetype = _ENgetcurvetype@8
ENinit = _ENinit@16
ENgetdemandname = _ENgetdemandname@12
ENsetdemandname = _ENsetdemandname@12
ENsetqualtype = _ENsetqualtype@16
ENsetreport = _ENsetreport@4
ENsetrulepriority = _ENsetrulepriority@8
ENsetstatusreport = _ENsetstatusreport@4
ENsetthenaction = _ENsettrueaction@20
ENsettimeparam = _ENsettimeparam@8
ENsolveH = _ENsolveH@0
ENsolveQ = _ENsolveQ@0
ENstepQ = _ENstepQ@4
ENusehydfile = _ENusehydfile@4
ENwriteline = _ENwriteline@4