From 65a6c846b625e1233ade2cb3c99410504568e578 Mon Sep 17 00:00:00 2001 From: Lew Rossman Date: Sat, 2 Mar 2019 12:26:49 -0500 Subject: [PATCH] Change ENgetcoords & ENsetcoords args. to doubles --- include/epanet2.bas | 6 +++--- include/epanet2.def | 2 +- include/epanet2.h | 9 ++++----- include/epanet2.vb | 6 +++--- src/epanet2.c | 10 +++------- win_build/WinSDK/epanet2.def | 17 ++++++++++------- 6 files changed, 24 insertions(+), 26 deletions(-) diff --git a/include/epanet2.bas b/include/epanet2.bas index 1bda793..30c5d8d 100644 --- a/include/epanet2.bas +++ b/include/epanet2.bas @@ -5,7 +5,7 @@ Attribute VB_Name = "Module1" 'Declarations of functions in the EPANET PROGRAMMERs TOOLKIT '(EPANET2.DLL) -'Last updated on 02/08/2019 +'Last updated on 02/28/2019 ' These are codes used by the DLL functions Public Const EN_ELEVATION = 0 ' Node parameters @@ -284,8 +284,8 @@ Public Const EN_R_IS_ACTIVE = 3 Declare Function ENsetnodevalue Lib "epanet2.dll" (ByVal index As Long, ByVal property As Long, ByVal value As Single) As Long Declare Function ENsetjuncdata Lib "epanet2.dll" (ByVal index As Long, ByVal elev As Single, ByVal dmnd As Single, ByVal dmndpat As String) As Long Declare Function ENsettankdata Lib "epanet2.dll" (ByVal index As Long, ByVal elev As Single, ByVal initlvl As Single, ByVal minlvl As Single, ByVal maxlvl As Single, ByVal diam As Single, ByVal minvol As Single, ByVal volcurve As String) As Long - Declare Function ENgetcoord Lib "epanet2.dll" (ByVal index As Long, x As Single, y As Single) As Long - Declare Function ENsetcoord Lib "epanet2.dll" (ByVal index As Long, ByVal x As Single, ByVal y As Single) As Long + Declare Function ENgetcoord Lib "epanet2.dll" (ByVal index As Long, x As Double, y As Double) As Long + Declare Function ENsetcoord Lib "epanet2.dll" (ByVal index As Long, ByVal x As Double, ByVal y As Double) As Long 'Nodal Demand Functions Declare Function ENgetdemandmodel Lib "epanet2.dll" (type_ As Long, pmin As Single, preq As Single, pexp As Single) As Long diff --git a/include/epanet2.def b/include/epanet2.def index 42c9d0e..f6b48bd 100644 --- a/include/epanet2.def +++ b/include/epanet2.def @@ -81,7 +81,7 @@ EXPORTS ENsaveinpfile = _ENsaveinpfile@4 ENsetbasedemand = _ENsetbasedemand@12 ENsetcontrol = _ENsetcontrol@24 - ENsetcoord = _ENsetcoord@12 + ENsetcoord = _ENsetcoord@20 ENsetcurve = _ENsetcurve@16 ENsetcurveid = _ENsetcurveid@8 ENsetcurvevalue = _ENsetcurvevalue@16 diff --git a/include/epanet2.h b/include/epanet2.h index 671724a..9f02fe5 100644 --- a/include/epanet2.h +++ b/include/epanet2.h @@ -7,7 +7,7 @@ Authors: see AUTHORS Copyright: see AUTHORS License: see LICENSE - Last Updated: 02/08/2019 + Last Updated: 02/28/2019 ****************************************************************************** */ @@ -210,9 +210,9 @@ extern "C" { EN_API_FLOAT_TYPE maxlvl, EN_API_FLOAT_TYPE diam, EN_API_FLOAT_TYPE minvol, char *volcurve); - int DLLEXPORT ENgetcoord(int index, EN_API_FLOAT_TYPE *x, EN_API_FLOAT_TYPE *y); + int DLLEXPORT ENgetcoord(int index, double *x, double *y); - int DLLEXPORT ENsetcoord(int index, EN_API_FLOAT_TYPE x, EN_API_FLOAT_TYPE y); + int DLLEXPORT ENsetcoord(int index, double x, double y); /******************************************************************** @@ -403,10 +403,9 @@ 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) } #endif diff --git a/include/epanet2.vb b/include/epanet2.vb index f98b381..f3613b7 100644 --- a/include/epanet2.vb +++ b/include/epanet2.vb @@ -4,7 +4,7 @@ 'Declarations of functions in the EPANET PROGRAMMERs TOOLKIT '(EPANET2.DLL) for use with VB.Net. -'Last updated on 02/08/2019 +'Last updated on 02/28/2019 Imports System.Runtime.InteropServices Imports System.Text @@ -289,8 +289,8 @@ Public Const EN_R_IS_ACTIVE = 3 Declare Function ENsetnodevalue Lib "epanet2.dll" (ByVal index As Int32, ByVal property As Int32, ByVal value As Single) As Int32 Declare Function ENsetjuncdata Lib "epanet2.dll" (ByVal index As Int32, ByVal elev As Single, ByVal dmnd As Single, ByVal dmndpat As String) As Int32 Declare Function ENsettankdata Lib "epanet2.dll" (ByVal index As Int32, ByVal elev As Single, ByVal initlvl As Single, ByVal minlvl As Single, ByVal maxlvl As Single, ByVal diam As Single, ByVal minvol As Single, ByVal volcurve As String) As Int32 - Declare Function ENgetcoord Lib "epanet2.dll" (ByVal index As Int32, x As Single, y As Single) As Int32 - Declare Function ENsetcoord Lib "epanet2.dll" (ByVal index As Int32, ByVal x As Single, ByVal y As Single) As Int32 + Declare Function ENgetcoord Lib "epanet2.dll" (ByVal index As Int32, x As Double, y As Double) As Int32 + Declare Function ENsetcoord Lib "epanet2.dll" (ByVal index As Int32, ByVal x As Double, ByVal y As Double) As Int32 'Nodal Demand Functions Declare Function ENgetdemandmodel Lib "epanet2.dll" (type_ As Int32, pmin As Single, preq As Single, pexp As Single) As Int32 diff --git a/src/epanet2.c b/src/epanet2.c index 46c31ce..003d888 100644 --- a/src/epanet2.c +++ b/src/epanet2.c @@ -340,16 +340,12 @@ int DLLEXPORT ENsettankdata(int index, EN_API_FLOAT_TYPE elev, diam, minvol, volcurve); } -int DLLEXPORT ENgetcoord(int index, EN_API_FLOAT_TYPE *x, EN_API_FLOAT_TYPE *y) +int DLLEXPORT ENgetcoord(int index, double *x, double *y) { - double xx = 0.0, yy = 0.0; - int errcode = EN_getcoord(_defaultProject, index, &xx, &yy); - *x = (EN_API_FLOAT_TYPE)xx; - *y = (EN_API_FLOAT_TYPE)yy; - return errcode; + return EN_getcoord(_defaultProject, index, x, y); } -int DLLEXPORT ENsetcoord(int index, EN_API_FLOAT_TYPE x, EN_API_FLOAT_TYPE y) +int DLLEXPORT ENsetcoord(int index, double x, double y) { return EN_setcoord(_defaultProject, index, x, y); } diff --git a/win_build/WinSDK/epanet2.def b/win_build/WinSDK/epanet2.def index 0f7d7bc..f6b48bd 100644 --- a/win_build/WinSDK/epanet2.def +++ b/win_build/WinSDK/epanet2.def @@ -11,9 +11,12 @@ EXPORTS ENclose = _ENclose@0 ENcloseH = _ENcloseH@0 ENcloseQ = _ENcloseQ@0 + ENcopyreport = _ENcopyreport@4 ENdeletecontrol = _ENdeletecontrol@4 + ENdeletecurve = _ENdeletecurve@4 ENdeletelink = _ENdeletelink@8 ENdeletenode = _ENdeletenode@8 + ENdeletepattern = _ENdeletepattern@4 ENdeleterule = _ENdeleterule@4 ENepanet = _ENepanet@16 ENgetaveragepatternvalue = _ENgetaveragepatternvalue@8 @@ -58,7 +61,7 @@ EXPORTS ENgetruleID = _ENgetruleID@8 ENgetstatistic = _ENgetstatistic@8 ENgetthenaction = _ENgetthenaction@20 - ENgettimeparam = _ENgettimeparam@8 + ENgettimeparam = _ENgettimeparam@8 ENgettitle = _ENgettitle@12 ENgetversion = _ENgetversion@4 ENinit = _ENinit@16 @@ -78,8 +81,9 @@ EXPORTS ENsaveinpfile = _ENsaveinpfile@4 ENsetbasedemand = _ENsetbasedemand@12 ENsetcontrol = _ENsetcontrol@24 - ENsetcoord = _ENsetcoord@12 - ENsetcurve = _ENsetcurve@16 + ENsetcoord = _ENsetcoord@20 + ENsetcurve = _ENsetcurve@16 + ENsetcurveid = _ENsetcurveid@8 ENsetcurvevalue = _ENsetcurvevalue@16 ENsetdemandmodel = _ENsetdemandmodel@16 ENsetdemandname = _ENsetdemandname@12 @@ -95,7 +99,8 @@ EXPORTS ENsetnodeid = _ENsetnodeid@8 ENsetnodevalue = _ENsetnodevalue@12 ENsetoption = _ENsetoption@8 - ENsetpattern = _ENsetpattern@12 + ENsetpattern = _ENsetpattern@12 + ENsetpatternid = _ENsetpatternid@8 ENsetpatternvalue = _ENsetpatternvalue@12 ENsetpipedata = _ENsetpipedata@20 ENsetpremise = _ENsetpremise@36 @@ -108,12 +113,10 @@ EXPORTS ENsetstatusreport = _ENsetstatusreport@4 ENsettankdata = _ENsettankdata@32 ENsetthenaction = _ENsetthenaction@20 - ENsettimeparam = _ENsettimeparam@8 + ENsettimeparam = _ENsettimeparam@8 ENsettitle = _ENsettitle@12 ENsolveH = _ENsolveH@0 ENsolveQ = _ENsolveQ@0 ENstepQ = _ENstepQ@4 ENusehydfile = _ENusehydfile@4 ENwriteline = _ENwriteline@4 - ENgettitle = _ENgettitle@12 - ENsettitle = _ENsettitle@12 \ No newline at end of file