Merge pull request #753 from eladsal/update_header_files_751

Updated header files following #751
This commit is contained in:
Elad Salomons
2023-09-16 08:13:27 +03:00
committed by GitHub
5 changed files with 56 additions and 16 deletions

View File

@@ -5,7 +5,7 @@ Attribute VB_Name = "Module1"
'Declarations of functions in the EPANET PROGRAMMERs TOOLKIT 'Declarations of functions in the EPANET PROGRAMMERs TOOLKIT
'(EPANET2.DLL) '(EPANET2.DLL)
'Last updated on 07/18/2023 'Last updated on 09/14/2023
' These are codes used by the DLL functions ' These are codes used by the DLL functions
Public Const EN_ELEVATION = 0 ' Node parameters Public Const EN_ELEVATION = 0 ' Node parameters
@@ -64,7 +64,7 @@ Public Const EN_PUMP_ECOST = 21
Public Const EN_PUMP_EPAT = 22 Public Const EN_PUMP_EPAT = 22
Public Const EN_LINK_INCONTROL = 23 Public Const EN_LINK_INCONTROL = 23
Public Const EN_GPV_CURVE = 24 Public Const EN_GPV_CURVE = 24
Public Const EN_PCV_CURVE= 25 Public Const EN_PCV_CURVE = 25
Public Const EN_DURATION = 0 ' Time parameters Public Const EN_DURATION = 0 ' Time parameters
Public Const EN_HYDSTEP = 1 Public Const EN_HYDSTEP = 1
@@ -122,7 +122,7 @@ Public Const EN_GPV = 8
Public Const EN_PCV = 9 Public Const EN_PCV = 9
Public Const EN_CLOSED = 0 ' Link status types Public Const EN_CLOSED = 0 ' Link status types
Public Const EN_OPEN = 1 Public Const EN_OPEN = 1
Public Const EN_PUMP_XHEAD = 0 ' Pump state types Public Const EN_PUMP_XHEAD = 0 ' Pump state types
Public Const EN_PUMP_CLOSED = 2 Public Const EN_PUMP_CLOSED = 2
@@ -175,7 +175,7 @@ Public Const EN_GLOBALPRICE = 9
Public Const EN_GLOBALPATTERN = 10 Public Const EN_GLOBALPATTERN = 10
Public Const EN_DEMANDCHARGE = 11 Public Const EN_DEMANDCHARGE = 11
Public Const EN_SP_GRAVITY = 12 Public Const EN_SP_GRAVITY = 12
Public Const EN_SP_VISCOS = 13 Public Const EN_SP_VISCOS = 13
Public Const EN_UNBALANCED = 14 Public Const EN_UNBALANCED = 14
Public Const EN_CHECKFREQ = 15 Public Const EN_CHECKFREQ = 15
Public Const EN_MAXCHECK = 16 Public Const EN_MAXCHECK = 16
@@ -269,9 +269,12 @@ Public Const EN_STEP_WQ = 2
Public Const EN_STEP_TANKEVENT = 3 Public Const EN_STEP_TANKEVENT = 3
Public Const EN_STEP_CONTROLEVENT = 4 Public Const EN_STEP_CONTROLEVENT = 4
Public Const EN_MISSING As Double = -1.0E10 Public Const EN_MISSING As Double = -10000000000#
Public Const EN_SET_CLOSED As Double = -1.0E10 Public Const EN_SET_CLOSED As Double = -10000000000#
Public Const EN_SET_OPEN As Double = 1.0E10 Public Const EN_SET_OPEN As Double = 10000000000#
Public Const EN_FALSE = 0 ' boolean false
Public Const EN_TRUE = 1 ' boolean true
'These are the external functions that comprise the DLL 'These are the external functions that comprise the DLL
@@ -355,7 +358,7 @@ Public Const EN_SET_OPEN As Double = 1.0E10
Declare Function ENgetdemandindex Lib "epanet2.dll" (ByVal nodeIndex As Long, ByVal demandName As String, demandIndex As Long) As Long Declare Function ENgetdemandindex Lib "epanet2.dll" (ByVal nodeIndex As Long, ByVal demandName As String, demandIndex As Long) As Long
Declare Function ENgetnumdemands Lib "epanet2.dll" (ByVal nodeIndex As Long, numDemands As Long) As Long Declare Function ENgetnumdemands Lib "epanet2.dll" (ByVal nodeIndex As Long, numDemands As Long) As Long
Declare Function ENgetbasedemand Lib "epanet2.dll" (ByVal nodeIndex As Long, ByVal demandIndex As Long, value As Single) As Long Declare Function ENgetbasedemand Lib "epanet2.dll" (ByVal nodeIndex As Long, ByVal demandIndex As Long, value As Single) As Long
Declare Function ENsetbasedemand Lib "epanet2.dll" (ByVal nodeIndex As Long, ByVal demandIndex As Long, ByVal BaseDemand As Single) As Long Declare Function ENsetbasedemand Lib "epanet2.dll" (ByVal nodeIndex As Long, ByVal demandIndex As Long, ByVal baseDemand As Single) As Long
Declare Function ENgetdemandpattern Lib "epanet2.dll" (ByVal nodeIndex As Long, ByVal demandIndex As Long, patIndex As Long) As Long Declare Function ENgetdemandpattern Lib "epanet2.dll" (ByVal nodeIndex As Long, ByVal demandIndex As Long, patIndex As Long) As Long
Declare Function ENsetdemandpattern Lib "epanet2.dll" (ByVal nodeIndex As Long, ByVal demandIndex As Long, ByVal patIndex As Long) As Long Declare Function ENsetdemandpattern Lib "epanet2.dll" (ByVal nodeIndex As Long, ByVal demandIndex As Long, ByVal patIndex As Long) As Long
Declare Function ENgetdemandname Lib "epanet2.dll" (ByVal nodeIndex As Long, ByVal demandIndex As Long, ByVal demandName As String) As Long Declare Function ENgetdemandname Lib "epanet2.dll" (ByVal nodeIndex As Long, ByVal demandIndex As Long, ByVal demandName As String) As Long
@@ -415,6 +418,8 @@ Public Const EN_SET_OPEN As Double = 1.0E10
Declare Function ENdeletecontrol Lib "epanet2.dll" (ByVal index As Long) As Long Declare Function ENdeletecontrol Lib "epanet2.dll" (ByVal index As Long) As Long
Declare Function ENgetcontrol Lib "epanet2.dll" (ByVal index As Long, type_ As Long, linkIndex As Long, setting As Single, nodeIndex As Long, level As Single) As Long Declare Function ENgetcontrol Lib "epanet2.dll" (ByVal index As Long, type_ As Long, linkIndex As Long, setting As Single, nodeIndex As Long, level As Single) As Long
Declare Function ENsetcontrol Lib "epanet2.dll" (ByVal index As Long, ByVal type_ As Long, ByVal linkIndex As Long, ByVal setting As Single, ByVal nodeIndex As Long, ByVal level As Single) As Long Declare Function ENsetcontrol Lib "epanet2.dll" (ByVal index As Long, ByVal type_ As Long, ByVal linkIndex As Long, ByVal setting As Single, ByVal nodeIndex As Long, ByVal level As Single) As Long
Declare Function ENgetcontrolenabled Lib "epanet2.dll" (ByVal index As Long, out_enabled As Long) As Long
Declare Function ENsetcontrolenabled Lib "epanet2.dll" (ByVal index As Long, ByVal enabled As Long) As Long
'Rule-Based Control Functions 'Rule-Based Control Functions
Declare Function ENaddrule Lib "epanet2.dll" (ByVal rule As String) As Long Declare Function ENaddrule Lib "epanet2.dll" (ByVal rule As String) As Long
@@ -431,3 +436,6 @@ Public Const EN_SET_OPEN As Double = 1.0E10
Declare Function ENsetthenaction Lib "epanet2.dll" (ByVal ruleIndex As Long, ByVal actionIndex As Long, ByVal linkIndex As Long, ByVal status As Long, ByVal setting As Single) As Long Declare Function ENsetthenaction Lib "epanet2.dll" (ByVal ruleIndex As Long, ByVal actionIndex As Long, ByVal linkIndex As Long, ByVal status As Long, ByVal setting As Single) As Long
Declare Function ENgetelseaction Lib "epanet2.dll" (ByVal ruleIndex As Long, ByVal actionIndex As Long, linkIndex As Long, status As Long, setting As Single) As Long Declare Function ENgetelseaction Lib "epanet2.dll" (ByVal ruleIndex As Long, ByVal actionIndex As Long, linkIndex As Long, status As Long, setting As Single) As Long
Declare Function ENsetelseaction Lib "epanet2.dll" (ByVal ruleIndex As Long, ByVal actionIndex As Long, ByVal linkIndex As Long, ByVal status As Long, ByVal setting As Single) As Long Declare Function ENsetelseaction Lib "epanet2.dll" (ByVal ruleIndex As Long, ByVal actionIndex As Long, ByVal linkIndex As Long, ByVal status As Long, ByVal setting As Single) As Long
Declare Function ENgetruleenabled Lib "epanet2.dll" (ByVal index As Long, out_enabled As Long) As Long
Declare Function ENsetruleenabled Lib "epanet2.dll" (ByVal index As Long, ByVal enabled As Long) As Long

View File

@@ -3,7 +3,7 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
//epanet2.cs[By Oscar Vegas] //epanet2.cs[By Oscar Vegas]
//Last updated on 07/18/2023 //Last updated on 09/14/2023
//Declarations of functions in the EPANET PROGRAMMERs TOOLKIT //Declarations of functions in the EPANET PROGRAMMERs TOOLKIT
//(EPANET2.DLL) for use with C# //(EPANET2.DLL) for use with C#
@@ -270,6 +270,8 @@ namespace EpanetCSharpLibrary
public const double EN_SET_CLOSED = -1.0E10 public const double EN_SET_CLOSED = -1.0E10
public const double EN_SET_OPEN = 1.0E10 public const double EN_SET_OPEN = 1.0E10
public const int EN_FALSE = 0 // boolean false
public const int EN_TRUE = 1 // boolean true
#region Epanet Imports #region Epanet Imports
@@ -629,6 +631,12 @@ namespace EpanetCSharpLibrary
[DllImport(EPANETDLL, EntryPoint = "ENsetcontrol")] [DllImport(EPANETDLL, EntryPoint = "ENsetcontrol")]
public static extern int ENsetcontrol(int index, int type, int linkIndex, float setting, int nodeIndex, float level); public static extern int ENsetcontrol(int index, int type, int linkIndex, float setting, int nodeIndex, float level);
[DllImport(EPANETDLL, EntryPoint = "ENgetcontrolenabled")]
public static extern int ENgetcontrolenabled(int index, int out_enabled);
[DllImport(EPANETDLL, EntryPoint = "ENsetcontrolenabled")]
public static extern int ENsetcontrolenabled(int index, int enabled);
//Rule-Based Control Functions //Rule-Based Control Functions
[DllImport(EPANETDLL, EntryPoint = "ENaddrule")] [DllImport(EPANETDLL, EntryPoint = "ENaddrule")]
@@ -673,6 +681,11 @@ namespace EpanetCSharpLibrary
[DllImport(EPANETDLL, EntryPoint = "ENsetelseaction")] [DllImport(EPANETDLL, EntryPoint = "ENsetelseaction")]
public static extern int ENsetelseaction(int ruleIndex, int actionIndex, int linkIndex, int status, float setting); public static extern int ENsetelseaction(int ruleIndex, int actionIndex, int linkIndex, int status, float setting);
[DllImport(EPANETDLL, EntryPoint = "ENgetruleenabled")]
public static extern int ENgetruleenabled(int index, int out_enabled);
[DllImport(EPANETDLL, EntryPoint = "ENsetruleenabled")]
public static extern int ENsetruleenabled(int index, int enabled);
#endregion #endregion
} }

View File

@@ -132,3 +132,7 @@ EXPORTS
ENusehydfile = _ENusehydfile@4 ENusehydfile = _ENusehydfile@4
ENwriteline = _ENwriteline@4 ENwriteline = _ENwriteline@4
ENtimetonextevent = _ENtimetonextevent@12 ENtimetonextevent = _ENtimetonextevent@12
ENgetcontrolenabled = _ENgetcontrolenabled@8
ENsetcontrolenabled = _ENsetcontrolenabled@8
ENgetruleenabled = _ENgetruleenabled@8
ENsetruleenabled = _ENsetruleenabled@8

View File

@@ -3,7 +3,7 @@ unit epanet2;
{ Declarations of imported procedures from the EPANET PROGRAMMERs TOOLKIT } { Declarations of imported procedures from the EPANET PROGRAMMERs TOOLKIT }
{ (EPANET2.DLL) } { (EPANET2.DLL) }
{Last updated on 09/11/2023} {Last updated on 09/14/2023}
interface interface
@@ -271,6 +271,10 @@ const
EN_R_IS_CLOSED = 2; EN_R_IS_CLOSED = 2;
EN_R_IS_ACTIVE = 3; EN_R_IS_ACTIVE = 3;
EN_FALSE = 0; { boolean false }
EN_TRUE = 1; { boolean true }
{$ifdef MSWINDOWS} {$ifdef MSWINDOWS}
EpanetLib = 'epanet2.dll'; EpanetLib = 'epanet2.dll';
{$else} {$else}
@@ -416,6 +420,8 @@ const
function ENdeletecontrol(Index: Integer): Integer; stdcall; external EpanetLib; function ENdeletecontrol(Index: Integer): Integer; stdcall; external EpanetLib;
function ENgetcontrol(Index: Integer; var Ctype: Integer; var Link: Integer; var Setting: Single; var Node: Integer; var Level: Single): Integer; stdcall; external EpanetLib; function ENgetcontrol(Index: Integer; var Ctype: Integer; var Link: Integer; var Setting: Single; var Node: Integer; var Level: Single): Integer; stdcall; external EpanetLib;
function ENsetcontrol(Index: Integer; Ctype: Integer; Link: Integer; Setting: Single; Node: Integer; Level: Single): Integer; stdcall; external EpanetLib; function ENsetcontrol(Index: Integer; Ctype: Integer; Link: Integer; Setting: Single; Node: Integer; Level: Single): Integer; stdcall; external EpanetLib;
function ENgetcontrolenabled(Index: Integer; out_enabled: Integer): Integer; stdcall; external EpanetLib;
function ENsetcontrolenabled(Index: Integer; var enabled: Integer): Integer; stdcall; external EpanetLib;
{Rule-Based Control Functions} {Rule-Based Control Functions}
function ENaddrule(Rule: PAnsiChar): Integer; stdcall; external EpanetLib; function ENaddrule(Rule: PAnsiChar): Integer; stdcall; external EpanetLib;
@@ -440,6 +446,8 @@ const
var Status: Integer; var Setting: Single): Integer; stdcall; external EpanetLib; var Status: Integer; var Setting: Single): Integer; stdcall; external EpanetLib;
function ENsetelseaction(RuleIndex: Integer; ActionIndex: Integer; LinkIndex: Integer; function ENsetelseaction(RuleIndex: Integer; ActionIndex: Integer; LinkIndex: Integer;
Status: Integer; Setting: Single): Integer; stdcall; external EpanetLib; Status: Integer; Setting: Single): Integer; stdcall; external EpanetLib;
function ENgetruleenabled(Index: Integer; out_enabled: Integer): Integer; stdcall; external EpanetLib;
function ENsetruleenabled(Index: Integer; var enabled: Integer): Integer; stdcall; external EpanetLib;
implementation implementation

View File

@@ -4,7 +4,7 @@
'Declarations of functions in the EPANET PROGRAMMERs TOOLKIT 'Declarations of functions in the EPANET PROGRAMMERs TOOLKIT
'(EPANET2.DLL) for use with VB.Net. '(EPANET2.DLL) for use with VB.Net.
'Last updated on 07/18/2023 'Last updated on 09/14/2023
Imports System.Runtime.InteropServices Imports System.Runtime.InteropServices
Imports System.Text Imports System.Text
@@ -261,6 +261,9 @@ Public Const EN_MISSING As Double = -1.0E10
Public Const EN_SET_CLOSED As Double = -1.0E10 Public Const EN_SET_CLOSED As Double = -1.0E10
Public Const EN_SET_OPEN As Double = 1.0E10 Public Const EN_SET_OPEN As Double = 1.0E10
Public Const EN_FALSE = 0 ' boolean false
Public Const EN_TRUE = 1 ' boolean true
'These are the external functions that comprise the DLL 'These are the external functions that comprise the DLL
'Project Functions 'Project Functions
@@ -399,6 +402,8 @@ Public Const EN_SET_OPEN As Double = 1.0E10
Declare Function ENdeletecontrol Lib "epanet2.dll" (ByVal index As Int32) As Int32 Declare Function ENdeletecontrol Lib "epanet2.dll" (ByVal index As Int32) As Int32
Declare Function ENgetcontrol Lib "epanet2.dll" (ByVal index As Int32, type_ As Int32, linkIndex As Int32, setting As Single, nodeIndex As Int32, level As Single) As Int32 Declare Function ENgetcontrol Lib "epanet2.dll" (ByVal index As Int32, type_ As Int32, linkIndex As Int32, setting As Single, nodeIndex As Int32, level As Single) As Int32
Declare Function ENsetcontrol Lib "epanet2.dll" (ByVal index As Int32, ByVal type_ As Int32, ByVal linkIndex As Int32, ByVal setting As Single, ByVal nodeIndex As Int32, ByVal level As Single) As Int32 Declare Function ENsetcontrol Lib "epanet2.dll" (ByVal index As Int32, ByVal type_ As Int32, ByVal linkIndex As Int32, ByVal setting As Single, ByVal nodeIndex As Int32, ByVal level As Single) As Int32
Declare Function ENgetcontrolenabled Lib "epanet2.dll" (ByVal index As Int32, out_enabled As Int32) As Int32
Declare Function ENsetcontrolenabled Lib "epanet2.dll" (ByVal index As Int32, ByVal enabled As Int32) As Int32
'Rule-Based Control Functions 'Rule-Based Control Functions
Declare Function ENaddrule Lib "epanet2.dll" (ByVal rule As String) As Int32 Declare Function ENaddrule Lib "epanet2.dll" (ByVal rule As String) As Int32
@@ -415,5 +420,7 @@ Public Const EN_SET_OPEN As Double = 1.0E10
Declare Function ENsetthenaction Lib "epanet2.dll" (ByVal ruleIndex As Int32, ByVal actionIndex As Int32, ByVal linkIndex As Int32, ByVal status As Int32, ByVal setting As Single) As Int32 Declare Function ENsetthenaction Lib "epanet2.dll" (ByVal ruleIndex As Int32, ByVal actionIndex As Int32, ByVal linkIndex As Int32, ByVal status As Int32, ByVal setting As Single) As Int32
Declare Function ENgetelseaction Lib "epanet2.dll" (ByVal ruleIndex As Int32, ByVal actionIndex As Int32, linkIndex As Int32, status As Int32, setting As Single) As Int32 Declare Function ENgetelseaction Lib "epanet2.dll" (ByVal ruleIndex As Int32, ByVal actionIndex As Int32, linkIndex As Int32, status As Int32, setting As Single) As Int32
Declare Function ENsetelseaction Lib "epanet2.dll" (ByVal ruleIndex As Int32, ByVal actionIndex As Int32, ByVal linkIndex As Int32, ByVal status As Int32, ByVal setting As Single) As Int32 Declare Function ENsetelseaction Lib "epanet2.dll" (ByVal ruleIndex As Int32, ByVal actionIndex As Int32, ByVal linkIndex As Int32, ByVal status As Int32, ByVal setting As Single) As Int32
Declare Function ENgetruleenabled Lib "epanet2.dll" (ByVal index As Int32, out_enabled As Int32) As Int32
Declare Function ENsetruleenabled Lib "epanet2.dll" (ByVal index As Int32, ByVal enabled As Int32) As Int32
End Module End Module