Adding support for custom epanet_py build target
This commit is contained in:
10
.travis.yml
10
.travis.yml
@@ -1,7 +1,7 @@
|
|||||||
language: python
|
language: python
|
||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- EPANET_HOME=`pwd`
|
- EPANET_HOME=`pwd`
|
||||||
- BUILD_HOME=buildprod
|
- BUILD_HOME=buildprod
|
||||||
- TEST_HOME=nrtestsuite
|
- TEST_HOME=nrtestsuite
|
||||||
@@ -10,17 +10,17 @@ before_install:
|
|||||||
- sudo apt-get -qq update
|
- sudo apt-get -qq update
|
||||||
- sudo apt-get install -y libboost-test-dev
|
- sudo apt-get install -y libboost-test-dev
|
||||||
- sudo apt-get install -y libboost-thread-dev
|
- sudo apt-get install -y libboost-thread-dev
|
||||||
- sudo apt-get install -y swig
|
- sudo apt-get install -y swig
|
||||||
|
|
||||||
#install:
|
#install:
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- mkdir -p $BUILD_HOME
|
- mkdir -p $BUILD_HOME
|
||||||
- cd $BUILD_HOME
|
- cd $BUILD_HOME
|
||||||
- cmake -DBUILD_TESTS=1 ..
|
- cmake -DBUILD_TESTS=ON ..
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- cmake --build .
|
- cmake --build .
|
||||||
# run unit tests
|
# run unit tests
|
||||||
- cd tests
|
- cd tests
|
||||||
- ctest
|
- ctest
|
||||||
|
|||||||
@@ -9,26 +9,14 @@
|
|||||||
# Note: CMake requires that your platform build system and compiler are
|
# Note: CMake requires that your platform build system and compiler are
|
||||||
# properly installed. Build using Visual Studio requires msbuild shell.
|
# properly installed. Build using Visual Studio requires msbuild shell.
|
||||||
#
|
#
|
||||||
# Example Usage:
|
# Build Options:
|
||||||
# mkdir buildproducts
|
# BUILD_TESTS = ON/OFF
|
||||||
# cd buildproducts
|
# BUILD_PY_LIB = ON/OFF
|
||||||
# cmake ..
|
|
||||||
# make
|
|
||||||
#
|
|
||||||
# Building MSYS on Windows:
|
|
||||||
# ...
|
|
||||||
# cmake -G "MSYS Makefiles" ..
|
|
||||||
# make
|
|
||||||
#
|
|
||||||
# Building Visual Studio on Windows:
|
|
||||||
# ...
|
|
||||||
# cmake -G "Visual Studio 10 2010" ..
|
|
||||||
# msbuild /p:Configuration=Release ALL_BUILD.vcxproj
|
|
||||||
#
|
#
|
||||||
# Generic Invocation:
|
# Generic Invocation:
|
||||||
# cmake -E make_directory buildprod
|
# cmake -E make_directory buildprod
|
||||||
# cd build
|
# cd build
|
||||||
# cmake -G GENERATOR -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=1 ..
|
# cmake -G GENERATOR -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON ..
|
||||||
# cmake --build . --target SOME_TARGET --config Release
|
# cmake --build . --target SOME_TARGET --config Release
|
||||||
#
|
#
|
||||||
# More information:
|
# More information:
|
||||||
@@ -40,7 +28,13 @@
|
|||||||
cmake_minimum_required (VERSION 2.8.8)
|
cmake_minimum_required (VERSION 2.8.8)
|
||||||
|
|
||||||
project(EPANET)
|
project(EPANET)
|
||||||
add_subdirectory(run)
|
|
||||||
|
option(BUILD_TESTS "Build unit tests (requires Boost test)" OFF)
|
||||||
|
option(BUILD_PY_LIB "Build library for Python wrapper" OFF)
|
||||||
|
|
||||||
|
IF (NOT BUILD_PY_LIB)
|
||||||
|
add_subdirectory(run)
|
||||||
|
ENDIF (NOT BUILD_PY_LIB)
|
||||||
add_subdirectory(tools/epanet-output)
|
add_subdirectory(tools/epanet-output)
|
||||||
|
|
||||||
IF (BUILD_TESTS)
|
IF (BUILD_TESTS)
|
||||||
@@ -58,8 +52,8 @@ SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|||||||
|
|
||||||
|
|
||||||
IF (APPLE)
|
IF (APPLE)
|
||||||
SET(INSTALL_NAME_DIR @executable_path/../lib)
|
set(INSTALL_NAME_DIR @executable_path/../lib)
|
||||||
SET(CMAKE_MACOSX_RPATH 1)
|
set(CMAKE_MACOSX_RPATH 1)
|
||||||
ENDIF (APPLE)
|
ENDIF (APPLE)
|
||||||
|
|
||||||
IF (MSVC)
|
IF (MSVC)
|
||||||
@@ -69,24 +63,41 @@ ENDIF (MSVC)
|
|||||||
|
|
||||||
|
|
||||||
# configure file groups
|
# configure file groups
|
||||||
file(GLOB EPANET_SOURCES src/*.c src/util/*.c)
|
file(GLOB EPANET_SOURCES RELATIVE ${PROJECT_SOURCE_DIR} src/*.c)
|
||||||
file(GLOB EPANET_LIB_ALL src/* src/util/*)
|
file(GLOB EPANET_LIB_ALL RELATIVE ${PROJECT_SOURCE_DIR} src/*)
|
||||||
|
# exclude epanet python API from the default build
|
||||||
|
list(REMOVE_ITEM EPANET_LIB_ALL "src/epanet_py.c")
|
||||||
source_group("Library" FILES ${EPANET_LIB_ALL})
|
source_group("Library" FILES ${EPANET_LIB_ALL})
|
||||||
|
|
||||||
|
|
||||||
# the shared library
|
# create build target for epanet library with python API
|
||||||
add_library(epanet2 SHARED ${EPANET_LIB_ALL})
|
IF (BUILD_PY_LIB)
|
||||||
target_include_directories(epanet2 PUBLIC ${PROJECT_SOURCE_DIR}/include)
|
|
||||||
|
|
||||||
|
# exclude legacy epanet 2.0 API and include epanet py API
|
||||||
|
list(REMOVE_ITEM EPANET_LIB_ALL "src/epanet2.c")
|
||||||
|
add_library(epanet_py SHARED ${EPANET_LIB_ALL} src/epanet_py.c src/util/errormanager.c)
|
||||||
|
target_include_directories(epanet_py PUBLIC ${PROJECT_SOURCE_DIR}/include)
|
||||||
|
|
||||||
# create export lib so we can link against dll using Visual Studio
|
include(GenerateExportHeader)
|
||||||
add_definitions(-DWITH_GENX)
|
GENERATE_EXPORT_HEADER(epanet_py
|
||||||
include(GenerateExportHeader)
|
BASE_NAME epanet_py
|
||||||
GENERATE_EXPORT_HEADER(epanet2
|
EXPORT_MACRO_NAME EXPORT_PY_API
|
||||||
BASE_NAME epanet2
|
EXPORT_FILE_NAME epanet_py_export.h
|
||||||
EXPORT_MACRO_NAME DLLEXPORT
|
|
||||||
EXPORT_FILE_NAME epanet2_export.h
|
|
||||||
STATIC_DEFINE SHARED_EXPORTS_BUILT_AS_STATIC)
|
STATIC_DEFINE SHARED_EXPORTS_BUILT_AS_STATIC)
|
||||||
|
|
||||||
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/epanet2_export.h
|
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/epanet_py_export.h
|
||||||
DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||||
|
|
||||||
|
|
||||||
|
# create build target for default epanet library with 2.0 and 2.2 API
|
||||||
|
ELSE (BUILD_PY_LIB)
|
||||||
|
|
||||||
|
# the shared library
|
||||||
|
if(NOT WIN32)
|
||||||
|
add_library(epanet2 SHARED ${EPANET_LIB_ALL})
|
||||||
|
else(NOT WIN32)
|
||||||
|
add_library(epanet2 SHARED ${EPANET_LIB_ALL} ${PROJECT_SOURCE_DIR}/include/epanet2.def)
|
||||||
|
endif(NOT WIN32)
|
||||||
|
target_include_directories(epanet2 PUBLIC ${PROJECT_SOURCE_DIR}/include)
|
||||||
|
|
||||||
|
ENDIF (BUILD_PY_LIB)
|
||||||
|
|||||||
22
appveyor.yml
22
appveyor.yml
@@ -5,17 +5,17 @@
|
|||||||
#
|
#
|
||||||
# Author: Michael E. Tryby
|
# Author: Michael E. Tryby
|
||||||
# US EPA - ORD/NRMRL
|
# US EPA - ORD/NRMRL
|
||||||
#
|
#
|
||||||
|
|
||||||
version: 2.0.{build}
|
version: 2.0.{build}
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
allow_failures:
|
allow_failures:
|
||||||
#GROUP: (SUPPORTED/EXPERIMENTAL)
|
#GROUP: (SUPPORTED/EXPERIMENTAL)
|
||||||
#EXPERIMENTAL is allowed to fail under build matrix
|
#EXPERIMENTAL is allowed to fail under build matrix
|
||||||
- GROUP: "EXPERIMENTAL"
|
- GROUP: "EXPERIMENTAL"
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
matrix:
|
matrix:
|
||||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||||
GENERATOR: "Visual Studio 15 2017"
|
GENERATOR: "Visual Studio 15 2017"
|
||||||
@@ -28,7 +28,7 @@ environment:
|
|||||||
BOOST_ROOT: "C:/Libraries/boost_1_67_0"
|
BOOST_ROOT: "C:/Libraries/boost_1_67_0"
|
||||||
|
|
||||||
# called before repo cloning
|
# called before repo cloning
|
||||||
init:
|
init:
|
||||||
- set EPANET_HOME=%APPVEYOR_BUILD_FOLDER%
|
- set EPANET_HOME=%APPVEYOR_BUILD_FOLDER%
|
||||||
- set BUILD_HOME=buildprod
|
- set BUILD_HOME=buildprod
|
||||||
- set TEST_HOME=nrtestsuite
|
- set TEST_HOME=nrtestsuite
|
||||||
@@ -40,21 +40,21 @@ init:
|
|||||||
- echo %BOOST_ROOT%
|
- echo %BOOST_ROOT%
|
||||||
|
|
||||||
# called after repo clone
|
# called after repo clone
|
||||||
install:
|
install:
|
||||||
- python -m pip install -r tools\requirements-appveyor.txt
|
- python -m pip install -r tools\requirements-appveyor.txt
|
||||||
|
|
||||||
# called before build
|
# called before build
|
||||||
before_build:
|
before_build:
|
||||||
- mkdir %BUILD_HOME%
|
- mkdir %BUILD_HOME%
|
||||||
- cd %BUILD_HOME%
|
- cd %BUILD_HOME%
|
||||||
- cmake -G "%GENERATOR%"
|
- cmake -G "%GENERATOR%"
|
||||||
-DBUILD_TESTS=1
|
-DBUILD_TESTS=ON
|
||||||
-DBOOST_ROOT="%BOOST_ROOT%"
|
-DBOOST_ROOT="%BOOST_ROOT%"
|
||||||
-DBoost_USE_STATIC_LIBS="ON" ..
|
-DBoost_USE_STATIC_LIBS="ON" ..
|
||||||
|
|
||||||
# run custom build script
|
# run custom build script
|
||||||
build_script:
|
build_script:
|
||||||
- cmake --build . --config Release
|
- cmake --build . --config Release
|
||||||
|
|
||||||
before_test:
|
before_test:
|
||||||
- cd %EPANET_HOME%
|
- cd %EPANET_HOME%
|
||||||
@@ -69,8 +69,8 @@ test_script:
|
|||||||
- cd %EPANET_HOME%
|
- cd %EPANET_HOME%
|
||||||
- tools\run-nrtest.cmd %NRTEST_SCRIPT% %TEST_HOME% %APPVEYOR_REPO_COMMIT%
|
- tools\run-nrtest.cmd %NRTEST_SCRIPT% %TEST_HOME% %APPVEYOR_REPO_COMMIT%
|
||||||
|
|
||||||
after_test:
|
after_test:
|
||||||
# zip up the SUT benchmarks
|
# zip up the SUT benchmarks
|
||||||
- 7z a benchmarks.zip %TEST_HOME%\benchmark\epanet-%APPVEYOR_REPO_COMMIT%\
|
- 7z a benchmarks.zip %TEST_HOME%\benchmark\epanet-%APPVEYOR_REPO_COMMIT%\
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
|
|||||||
114
include/epanet2.def
Normal file
114
include/epanet2.def
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
LIBRARY EPANET2.DLL
|
||||||
|
|
||||||
|
EXPORTS
|
||||||
|
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
|
||||||
|
ENdeletecontrol = _ENdeletecontrol@4
|
||||||
|
ENdeletelink = _ENdeletelink@8
|
||||||
|
ENdeletenode = _ENdeletenode@8
|
||||||
|
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 = _ENgetelseaction@20
|
||||||
|
ENgeterror = _ENgeterror@12
|
||||||
|
ENgetflowunits = _ENgetflowunits@4
|
||||||
|
ENgetheadcurveindex = _ENgetheadcurveindex@8
|
||||||
|
ENgetlinkid = _ENgetlinkid@8
|
||||||
|
ENgetlinkindex = _ENgetlinkindex@8
|
||||||
|
ENgetlinknodes = _ENgetlinknodes@12
|
||||||
|
ENsetlinknodes = _ENsetlinknodes@12
|
||||||
|
ENgetlinktype = _ENgetlinktype@8
|
||||||
|
ENgetlinkvalue = _ENgetlinkvalue@12
|
||||||
|
ENgetnodeid = _ENgetnodeid@8
|
||||||
|
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 = _ENgetthenaction@20
|
||||||
|
ENgettimeparam = _ENgettimeparam@8
|
||||||
|
ENgetversion = _ENgetversion@4
|
||||||
|
ENinit = _ENinit@16
|
||||||
|
ENinitH = _ENinitH@4
|
||||||
|
ENinitQ = _ENinitQ@4
|
||||||
|
ENnextH = _ENnextH@4
|
||||||
|
ENnextQ = _ENnextQ@4
|
||||||
|
ENopen = _ENopen@12
|
||||||
|
ENopenH = _ENopenH@0
|
||||||
|
ENopenQ = _ENopenQ@0
|
||||||
|
ENreport = _ENreport@0
|
||||||
|
ENresetreport = _ENresetreport@0
|
||||||
|
ENrunH = _ENrunH@4
|
||||||
|
ENrunQ = _ENrunQ@4
|
||||||
|
ENsaveH = _ENsaveH@0
|
||||||
|
ENsavehydfile = _ENsavehydfile@4
|
||||||
|
ENsaveinpfile = _ENsaveinpfile@4
|
||||||
|
ENsetbasedemand = _ENsetbasedemand@12
|
||||||
|
ENsetcontrol = _ENsetcontrol@24
|
||||||
|
ENsetcoord = _ENsetcoord@12
|
||||||
|
ENsetcurve = _ENsetcurve@16
|
||||||
|
ENsetcurvevalue = _ENsetcurvevalue@16
|
||||||
|
ENsetdemandmodel = _ENsetdemandmodel@16
|
||||||
|
ENsetdemandname = _ENsetdemandname@12
|
||||||
|
ENsetdemandpattern = _ENsetdemandpattern@12
|
||||||
|
ENsetelseaction = _ENsetelseaction@20
|
||||||
|
ENsetflowunits = _ENsetflowunits@4
|
||||||
|
ENsetheadcurveindex = _ENsetheadcurveindex@8
|
||||||
|
ENsetjuncdata = _ENsetjuncdata@16
|
||||||
|
ENsetlinkid = _ENsetlinkid@8
|
||||||
|
ENsetlinknodes = _ENsetlinknodes@12
|
||||||
|
ENsetlinktype = _ENsetlinktype@12
|
||||||
|
ENsetlinkvalue = _ENsetlinkvalue@12
|
||||||
|
ENsetnodeid = _ENsetnodeid@8
|
||||||
|
ENsetnodevalue = _ENsetnodevalue@12
|
||||||
|
ENsetoption = _ENsetoption@8
|
||||||
|
ENsetpattern = _ENsetpattern@12
|
||||||
|
ENsetpatternvalue = _ENsetpatternvalue@12
|
||||||
|
ENsetpipedata = _ENsetpipedata@20
|
||||||
|
ENsetpremise = _ENsetpremise@36
|
||||||
|
ENsetpremiseindex = _ENsetpremiseindex@12
|
||||||
|
ENsetpremisestatus = _ENsetpremisestatus@12
|
||||||
|
ENsetpremisevalue = _ENsetpremisevalue@12
|
||||||
|
ENsetqualtype = _ENsetqualtype@16
|
||||||
|
ENsetreport = _ENsetreport@4
|
||||||
|
ENsetrulepriority = _ENsetrulepriority@8
|
||||||
|
ENsetstatusreport = _ENsetstatusreport@4
|
||||||
|
ENsettankdata = _ENsettankdata@32
|
||||||
|
ENsetthenaction = _ENsetthenaction@20
|
||||||
|
ENsettimeparam = _ENsettimeparam@8
|
||||||
|
ENsolveH = _ENsolveH@0
|
||||||
|
ENsolveQ = _ENsolveQ@0
|
||||||
|
ENstepQ = _ENstepQ@4
|
||||||
|
ENusehydfile = _ENusehydfile@4
|
||||||
|
ENwriteline = _ENwriteline@4
|
||||||
@@ -30,37 +30,23 @@ function in epanet2_2.h.
|
|||||||
// The legacy style EPANET API can be compiled with support for either single
|
// The legacy style EPANET API can be compiled with support for either single
|
||||||
// precision or double precision floating point arguments, with the default
|
// precision or double precision floating point arguments, with the default
|
||||||
// being single precision. To compile for double precision one must #define
|
// being single precision. To compile for double precision one must #define
|
||||||
// EN_API_FLOAT_TYPE as double both here and in any client code that uses the
|
// EN_API_FLOAT_TYPE as double both here and in any client code that uses the
|
||||||
// API.
|
// API.
|
||||||
#ifndef EN_API_FLOAT_TYPE
|
#ifndef EN_API_FLOAT_TYPE
|
||||||
#define EN_API_FLOAT_TYPE float
|
#define EN_API_FLOAT_TYPE float
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WITH_GENX
|
#ifndef DLLEXPORT
|
||||||
#include "epanet2_export.h"
|
|
||||||
#else
|
|
||||||
// --- define WINDOWS
|
|
||||||
#undef WINDOWS
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#define WINDOWS
|
#ifdef epanet2_EXPORTS
|
||||||
#endif
|
#define DLLEXPORT __declspec(dllexport) __stdcall
|
||||||
#ifdef __WIN32__
|
|
||||||
#define WINDOWS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// --- define DLLEXPORT
|
|
||||||
#ifndef DLLEXPORT
|
|
||||||
#ifdef WINDOWS
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#define DLLEXPORT __declspec(dllexport)
|
|
||||||
#else
|
|
||||||
#define DLLEXPORT __declspec(dllexport) __stdcall
|
|
||||||
#endif // __cplusplus
|
|
||||||
#elif defined(CYGWIN)
|
|
||||||
#define DLLEXPORT __stdcall
|
|
||||||
#else
|
#else
|
||||||
#define DLLEXPORT
|
#define DLLEXPORT __declspec(dllimport) __stdcall
|
||||||
#endif
|
#endif
|
||||||
|
#elif defined(CYGWIN)
|
||||||
|
#define DLLEXPORT __stdcall
|
||||||
|
#else
|
||||||
|
#define DLLEXPORT
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -18,26 +18,16 @@
|
|||||||
#ifndef EPANET2_2_H
|
#ifndef EPANET2_2_H
|
||||||
#define EPANET2_2_H
|
#define EPANET2_2_H
|
||||||
|
|
||||||
#ifdef WITH_GENX
|
#ifdef epanet_py_EXPORTS
|
||||||
#include "epanet2_export.h"
|
#define DLLEXPORT
|
||||||
#else
|
#else
|
||||||
// --- define WINDOWS
|
|
||||||
#undef WINDOWS
|
|
||||||
#ifdef _WIN32
|
|
||||||
#define WINDOWS
|
|
||||||
#endif
|
|
||||||
#ifdef __WIN32__
|
|
||||||
#define WINDOWS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// --- define DLLEXPORT
|
|
||||||
#ifndef DLLEXPORT
|
#ifndef DLLEXPORT
|
||||||
#ifdef WINDOWS
|
#ifdef _WIN32
|
||||||
#ifdef __cplusplus
|
#ifdef epanet2_EXPORTS
|
||||||
#define DLLEXPORT __declspec(dllexport)
|
|
||||||
#else
|
|
||||||
#define DLLEXPORT __declspec(dllexport) __stdcall
|
#define DLLEXPORT __declspec(dllexport) __stdcall
|
||||||
#endif // __cplusplus
|
#else
|
||||||
|
#define DLLEXPORT __declspec(dllimport) __stdcall
|
||||||
|
#endif
|
||||||
#elif defined(CYGWIN)
|
#elif defined(CYGWIN)
|
||||||
#define DLLEXPORT __stdcall
|
#define DLLEXPORT __stdcall
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ typedef void *Handle;
|
|||||||
|
|
||||||
|
|
||||||
#include "epanet2_enums.h"
|
#include "epanet2_enums.h"
|
||||||
#include "epanet2_export.h"
|
#include "epanet_py_export.h"
|
||||||
|
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
@@ -29,142 +29,142 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT proj_create(Handle *ph_out);
|
int EXPORT_PY_API proj_create(Handle *ph_out);
|
||||||
int DLLEXPORT proj_delete(Handle *ph_inout);
|
int EXPORT_PY_API proj_delete(Handle *ph_inout);
|
||||||
int DLLEXPORT proj_run(Handle ph, const char *input_path, const char *report_path, const char *output_path);
|
int EXPORT_PY_API proj_run(Handle ph, const char *input_path, const char *report_path, const char *output_path);
|
||||||
int DLLEXPORT proj_init(Handle ph, const char *rptFile, const char *outFile, EN_FlowUnits unitsType, EN_HeadLossType headLossType);
|
int EXPORT_PY_API proj_init(Handle ph, const char *rptFile, const char *outFile, EN_FlowUnits unitsType, EN_HeadLossType headLossType);
|
||||||
int DLLEXPORT proj_open(Handle ph, const char *inpFile, const char *rptFile, const char *binOutFile);
|
int EXPORT_PY_API proj_open(Handle ph, const char *inpFile, const char *rptFile, const char *binOutFile);
|
||||||
int DLLEXPORT proj_savefile(Handle ph, const char *inpfilename);
|
int EXPORT_PY_API proj_savefile(Handle ph, const char *inpfilename);
|
||||||
int DLLEXPORT proj_close(Handle ph);
|
int EXPORT_PY_API proj_close(Handle ph);
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT hydr_solve(Handle ph);
|
int EXPORT_PY_API hydr_solve(Handle ph);
|
||||||
int DLLEXPORT hydr_save(Handle ph);
|
int EXPORT_PY_API hydr_save(Handle ph);
|
||||||
int DLLEXPORT hydr_open(Handle ph);
|
int EXPORT_PY_API hydr_open(Handle ph);
|
||||||
int DLLEXPORT hydr_init(Handle ph, EN_InitHydOption saveFlag);
|
int EXPORT_PY_API hydr_init(Handle ph, EN_InitHydOption saveFlag);
|
||||||
int DLLEXPORT hydr_run(Handle ph, long *currentTime);
|
int EXPORT_PY_API hydr_run(Handle ph, long *currentTime);
|
||||||
int DLLEXPORT hydr_next(Handle ph, long *tStep);
|
int EXPORT_PY_API hydr_next(Handle ph, long *tStep);
|
||||||
int DLLEXPORT hydr_close(Handle ph);
|
int EXPORT_PY_API hydr_close(Handle ph);
|
||||||
int DLLEXPORT hydr_savefile(Handle ph, char *filename);
|
int EXPORT_PY_API hydr_savefile(Handle ph, char *filename);
|
||||||
int DLLEXPORT hydr_usefile(Handle ph, char *filename);
|
int EXPORT_PY_API hydr_usefile(Handle ph, char *filename);
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT qual_solve(Handle ph);
|
int EXPORT_PY_API qual_solve(Handle ph);
|
||||||
int DLLEXPORT qual_open(Handle ph);
|
int EXPORT_PY_API qual_open(Handle ph);
|
||||||
int DLLEXPORT qual_init(Handle ph, EN_InitHydOption saveFlag);
|
int EXPORT_PY_API qual_init(Handle ph, EN_InitHydOption saveFlag);
|
||||||
int DLLEXPORT qual_run(Handle ph, long *currentTime);
|
int EXPORT_PY_API qual_run(Handle ph, long *currentTime);
|
||||||
int DLLEXPORT qual_next(Handle ph, long *tStep);
|
int EXPORT_PY_API qual_next(Handle ph, long *tStep);
|
||||||
int DLLEXPORT qual_step(Handle ph, long *timeLeft);
|
int EXPORT_PY_API qual_step(Handle ph, long *timeLeft);
|
||||||
int DLLEXPORT qual_close(Handle ph);
|
int EXPORT_PY_API qual_close(Handle ph);
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT rprt_writeline(Handle ph, char *line);
|
int EXPORT_PY_API rprt_writeline(Handle ph, char *line);
|
||||||
int DLLEXPORT rprt_writeresults(Handle ph);
|
int EXPORT_PY_API rprt_writeresults(Handle ph);
|
||||||
int DLLEXPORT rprt_reset(Handle ph);
|
int EXPORT_PY_API rprt_reset(Handle ph);
|
||||||
int DLLEXPORT rprt_set(Handle ph, char *reportCommand);
|
int EXPORT_PY_API rprt_set(Handle ph, char *reportCommand);
|
||||||
int DLLEXPORT rprt_setlevel(Handle ph, EN_StatusReport code);
|
int EXPORT_PY_API rprt_setlevel(Handle ph, EN_StatusReport code);
|
||||||
int DLLEXPORT rprt_getcount(Handle ph, EN_CountType code, int *count);
|
int EXPORT_PY_API rprt_getcount(Handle ph, EN_CountType code, int *count);
|
||||||
int DLLEXPORT rprt_anlysstats(Handle ph, EN_AnalysisStatistic code, double* value);
|
int EXPORT_PY_API rprt_anlysstats(Handle ph, EN_AnalysisStatistic code, double* value);
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT anlys_getoption(Handle ph, EN_Option code, double *value);
|
int EXPORT_PY_API anlys_getoption(Handle ph, EN_Option code, double *value);
|
||||||
int DLLEXPORT anlys_setoption(Handle ph, EN_Option code, double value);
|
int EXPORT_PY_API anlys_setoption(Handle ph, EN_Option code, double value);
|
||||||
int DLLEXPORT anlys_getflowunits(Handle ph, int *code);
|
int EXPORT_PY_API anlys_getflowunits(Handle ph, int *code);
|
||||||
int DLLEXPORT anlys_setflowunits(Handle ph, EN_FlowUnits code);
|
int EXPORT_PY_API anlys_setflowunits(Handle ph, EN_FlowUnits code);
|
||||||
int DLLEXPORT anlys_gettimeparam(Handle ph, EN_TimeParameter code, long *value);
|
int EXPORT_PY_API anlys_gettimeparam(Handle ph, EN_TimeParameter code, long *value);
|
||||||
int DLLEXPORT anlys_settimeparam(Handle ph, EN_TimeParameter code, long value);
|
int EXPORT_PY_API anlys_settimeparam(Handle ph, EN_TimeParameter code, long value);
|
||||||
int DLLEXPORT anlys_getqualinfo(Handle ph, int *qualcode, char *chemname, char *chemunits, int *tracenode);
|
int EXPORT_PY_API anlys_getqualinfo(Handle ph, int *qualcode, char *chemname, char *chemunits, int *tracenode);
|
||||||
int DLLEXPORT anlys_getqualtype(Handle ph, int *qualcode, int *tracenode);
|
int EXPORT_PY_API anlys_getqualtype(Handle ph, int *qualcode, int *tracenode);
|
||||||
int DLLEXPORT anlys_setqualtype(Handle ph, EN_QualityType qualcode, char *chemname, char *chemunits, char *tracenode);
|
int EXPORT_PY_API anlys_setqualtype(Handle ph, EN_QualityType qualcode, char *chemname, char *chemunits, char *tracenode);
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT node_add(Handle ph, char *id, EN_NodeType nodeType);
|
int EXPORT_PY_API node_add(Handle ph, char *id, EN_NodeType nodeType);
|
||||||
int DLLEXPORT node_delete(Handle ph, int index, int actionCode);
|
int EXPORT_PY_API node_delete(Handle ph, int index, int actionCode);
|
||||||
int DLLEXPORT node_getindex(Handle ph, char *id, int *index);
|
int EXPORT_PY_API node_getindex(Handle ph, char *id, int *index);
|
||||||
int DLLEXPORT node_getid(Handle ph, int index, char *id);
|
int EXPORT_PY_API node_getid(Handle ph, int index, char *id);
|
||||||
int DLLEXPORT node_setid(Handle ph, int index, char *newid);
|
int EXPORT_PY_API node_setid(Handle ph, int index, char *newid);
|
||||||
int DLLEXPORT node_gettype(Handle ph, int index, int *code);
|
int EXPORT_PY_API node_gettype(Handle ph, int index, int *code);
|
||||||
int DLLEXPORT node_getvalue(Handle ph, int index, EN_NodeProperty code, double *value);
|
int EXPORT_PY_API node_getvalue(Handle ph, int index, EN_NodeProperty code, double *value);
|
||||||
int DLLEXPORT node_setvalue(Handle ph, int index, EN_NodeProperty code, double value);
|
int EXPORT_PY_API node_setvalue(Handle ph, int index, EN_NodeProperty code, double value);
|
||||||
int DLLEXPORT node_getcoord(Handle ph, int index, double *x, double *y);
|
int EXPORT_PY_API node_getcoord(Handle ph, int index, double *x, double *y);
|
||||||
int DLLEXPORT node_setcoord(Handle ph, int index, double x, double y);
|
int EXPORT_PY_API node_setcoord(Handle ph, int index, double x, double y);
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT dmnd_getmodel(Handle ph, int *type, double *pmin, double *preq, double *pexp);
|
int EXPORT_PY_API dmnd_getmodel(Handle ph, int *type, double *pmin, double *preq, double *pexp);
|
||||||
int DLLEXPORT dmnd_setmodel(Handle ph, int type, double pmin, double preq, double pexp);
|
int EXPORT_PY_API dmnd_setmodel(Handle ph, int type, double pmin, double preq, double pexp);
|
||||||
int DLLEXPORT dmnd_getcount(Handle ph, int nodeIndex, int *numDemands);
|
int EXPORT_PY_API dmnd_getcount(Handle ph, int nodeIndex, int *numDemands);
|
||||||
int DLLEXPORT dmnd_getbase(Handle ph, int nodeIndex, int demandIndex, double *baseDemand);
|
int EXPORT_PY_API dmnd_getbase(Handle ph, int nodeIndex, int demandIndex, double *baseDemand);
|
||||||
int DLLEXPORT dmnd_setbase(Handle ph, int nodeIndex, int demandIndex, double baseDemand);
|
int EXPORT_PY_API dmnd_setbase(Handle ph, int nodeIndex, int demandIndex, double baseDemand);
|
||||||
int DLLEXPORT dmnd_getpattern(Handle ph, int nodeIndex, int demandIndex, int *pattIndex);
|
int EXPORT_PY_API dmnd_getpattern(Handle ph, int nodeIndex, int demandIndex, int *pattIndex);
|
||||||
int DLLEXPORT dmnd_setpattern(Handle ph, int nodeIndex, int demandIndex, int patIndex);
|
int EXPORT_PY_API dmnd_setpattern(Handle ph, int nodeIndex, int demandIndex, int patIndex);
|
||||||
int DLLEXPORT dmnd_getname(Handle ph, int nodeIndex, int demandIdx, char *demandName);
|
int EXPORT_PY_API dmnd_getname(Handle ph, int nodeIndex, int demandIdx, char *demandName);
|
||||||
int DLLEXPORT dmnd_setname(Handle ph, int nodeIndex, int demandIdx, char *demandName);
|
int EXPORT_PY_API dmnd_setname(Handle ph, int nodeIndex, int demandIdx, char *demandName);
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT link_add(Handle ph, char *id, EN_LinkType linkType, char *fromNode, char *toNode);
|
int EXPORT_PY_API link_add(Handle ph, char *id, EN_LinkType linkType, char *fromNode, char *toNode);
|
||||||
int DLLEXPORT link_delete(Handle ph, int index, int actionCode);
|
int EXPORT_PY_API link_delete(Handle ph, int index, int actionCode);
|
||||||
int DLLEXPORT link_getindex(Handle ph, char *id, int *index);
|
int EXPORT_PY_API link_getindex(Handle ph, char *id, int *index);
|
||||||
int DLLEXPORT link_getid(Handle ph, int index, char *id);
|
int EXPORT_PY_API link_getid(Handle ph, int index, char *id);
|
||||||
int DLLEXPORT link_setid(Handle ph, int index, char *newid);
|
int EXPORT_PY_API link_setid(Handle ph, int index, char *newid);
|
||||||
int DLLEXPORT link_gettype(Handle ph, int index, int *code);
|
int EXPORT_PY_API link_gettype(Handle ph, int index, int *code);
|
||||||
int DLLEXPORT link_settype(Handle ph, int *index, EN_LinkType type, int actionCode);
|
int EXPORT_PY_API link_settype(Handle ph, int *index, EN_LinkType type, int actionCode);
|
||||||
int DLLEXPORT link_getnodes(Handle ph, int index, int *node1, int *node2);
|
int EXPORT_PY_API link_getnodes(Handle ph, int index, int *node1, int *node2);
|
||||||
int DLLEXPORT link_setnodes(Handle ph, int index, int node1, int node2);
|
int EXPORT_PY_API link_setnodes(Handle ph, int index, int node1, int node2);
|
||||||
int DLLEXPORT link_getvalue(Handle ph, int index, EN_LinkProperty code, double *value);
|
int EXPORT_PY_API link_getvalue(Handle ph, int index, EN_LinkProperty code, double *value);
|
||||||
int DLLEXPORT link_setvalue(Handle ph, int index, int code, double v);
|
int EXPORT_PY_API link_setvalue(Handle ph, int index, int code, double v);
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT pump_gettype(Handle ph, int linkIndex, int *outType);
|
int EXPORT_PY_API pump_gettype(Handle ph, int linkIndex, int *outType);
|
||||||
int DLLEXPORT pump_getheadcurveindex(Handle ph, int pumpIndex, int *curveIndex);
|
int EXPORT_PY_API pump_getheadcurveindex(Handle ph, int pumpIndex, int *curveIndex);
|
||||||
int DLLEXPORT pump_setheadcurveindex(Handle ph, int pumpIndex, int curveIndex);
|
int EXPORT_PY_API pump_setheadcurveindex(Handle ph, int pumpIndex, int curveIndex);
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT ptrn_add(Handle ph, char *id);
|
int EXPORT_PY_API ptrn_add(Handle ph, char *id);
|
||||||
int DLLEXPORT ptrn_getindex(Handle ph, char *id, int *index);
|
int EXPORT_PY_API ptrn_getindex(Handle ph, char *id, int *index);
|
||||||
int DLLEXPORT ptrn_getid(Handle ph, int index, char *id);
|
int EXPORT_PY_API ptrn_getid(Handle ph, int index, char *id);
|
||||||
int DLLEXPORT ptrn_getlength(Handle ph, int index, int *len);
|
int EXPORT_PY_API ptrn_getlength(Handle ph, int index, int *len);
|
||||||
int DLLEXPORT ptrn_getvalue(Handle ph, int index, int period, double *value);
|
int EXPORT_PY_API ptrn_getvalue(Handle ph, int index, int period, double *value);
|
||||||
int DLLEXPORT ptrn_setvalue(Handle ph, int index, int period, double value);
|
int EXPORT_PY_API ptrn_setvalue(Handle ph, int index, int period, double value);
|
||||||
int DLLEXPORT ptrn_getavgvalue(Handle ph, int index, double *value);
|
int EXPORT_PY_API ptrn_getavgvalue(Handle ph, int index, double *value);
|
||||||
int DLLEXPORT ptrn_set(Handle ph, int index, double *f, int len);
|
int EXPORT_PY_API ptrn_set(Handle ph, int index, double *f, int len);
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT curv_add(Handle ph, char *id);
|
int EXPORT_PY_API curv_add(Handle ph, char *id);
|
||||||
int DLLEXPORT curv_getindex(Handle ph, char *id, int *index);
|
int EXPORT_PY_API curv_getindex(Handle ph, char *id, int *index);
|
||||||
int DLLEXPORT curv_getid(Handle ph, int index, char *id);
|
int EXPORT_PY_API curv_getid(Handle ph, int index, char *id);
|
||||||
int DLLEXPORT curv_getlength(Handle ph, int index, int *len);
|
int EXPORT_PY_API curv_getlength(Handle ph, int index, int *len);
|
||||||
int DLLEXPORT curv_gettype(Handle ph, int curveIndex, int *outType);
|
int EXPORT_PY_API curv_gettype(Handle ph, int curveIndex, int *outType);
|
||||||
int DLLEXPORT curv_getvalue(Handle ph, int curveIndex, int pointIndex, double *x, double *y);
|
int EXPORT_PY_API curv_getvalue(Handle ph, int curveIndex, int pointIndex, double *x, double *y);
|
||||||
int DLLEXPORT curv_setvalue(Handle ph, int curveIndex, int pointIndex, double x, double y);
|
int EXPORT_PY_API curv_setvalue(Handle ph, int curveIndex, int pointIndex, double x, double y);
|
||||||
int DLLEXPORT curv_get(Handle ph, int curveIndex, char* id, int *nValues, double **xValues, double **yValues);
|
int EXPORT_PY_API curv_get(Handle ph, int curveIndex, char* id, int *nValues, double **xValues, double **yValues);
|
||||||
int DLLEXPORT curv_set(Handle ph, int index, double *x, double *y, int len);
|
int EXPORT_PY_API curv_set(Handle ph, int index, double *x, double *y, int len);
|
||||||
|
|
||||||
int DLLEXPORT scntl_add(Handle ph, int type, int linkIndex, double setting, int nodeIndex, double level, int *index);
|
int EXPORT_PY_API scntl_add(Handle ph, int type, int linkIndex, double setting, int nodeIndex, double level, int *index);
|
||||||
int DLLEXPORT scntl_delete(Handle ph, int index);
|
int EXPORT_PY_API scntl_delete(Handle ph, int index);
|
||||||
int DLLEXPORT scntl_get(Handle ph, int controlIndex, int *controlType, int *linkIndex, double *setting, int *nodeIndex, double *level);
|
int EXPORT_PY_API scntl_get(Handle ph, int controlIndex, int *controlType, int *linkIndex, double *setting, int *nodeIndex, double *level);
|
||||||
int DLLEXPORT scntl_set(Handle ph, int cindex, int ctype, int lindex, double setting, int nindex, double level);
|
int EXPORT_PY_API scntl_set(Handle ph, int cindex, int ctype, int lindex, double setting, int nindex, double level);
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT rcntl_add(Handle ph, char *rule);
|
int EXPORT_PY_API rcntl_add(Handle ph, char *rule);
|
||||||
int DLLEXPORT rcntl_delete(Handle ph, int index);
|
int EXPORT_PY_API rcntl_delete(Handle ph, int index);
|
||||||
int DLLEXPORT rcntl_get(Handle ph, int index, int *nPremises, int *nThenActions, int *nElseActions, double *priority);
|
int EXPORT_PY_API rcntl_get(Handle ph, int index, int *nPremises, int *nThenActions, int *nElseActions, double *priority);
|
||||||
int DLLEXPORT rcntl_getid(Handle ph, int index, char* id);
|
int EXPORT_PY_API rcntl_getid(Handle ph, int index, char* id);
|
||||||
int DLLEXPORT rcntl_getpremise(Handle ph, int ruleIndex, int premiseIndex, int *logop, int *object, int *objIndex, int *variable, int *relop, int *status, double *value);
|
int EXPORT_PY_API rcntl_getpremise(Handle ph, int ruleIndex, int premiseIndex, int *logop, int *object, int *objIndex, int *variable, int *relop, int *status, double *value);
|
||||||
int DLLEXPORT rcntl_setpremise(Handle ph, int ruleIndex, int premiseIndex, int logop, int object, int objIndex, int variable, int relop, int status, double value);
|
int EXPORT_PY_API rcntl_setpremise(Handle ph, int ruleIndex, int premiseIndex, int logop, int object, int objIndex, int variable, int relop, int status, double value);
|
||||||
int DLLEXPORT rcntl_setpremiseindex(Handle ph, int ruleIndex, int premiseIndex, int objIndex);
|
int EXPORT_PY_API rcntl_setpremiseindex(Handle ph, int ruleIndex, int premiseIndex, int objIndex);
|
||||||
int DLLEXPORT rcntl_setpremisestatus(Handle ph, int ruleIndex, int premiseIndex, int status);
|
int EXPORT_PY_API rcntl_setpremisestatus(Handle ph, int ruleIndex, int premiseIndex, int status);
|
||||||
int DLLEXPORT rcntl_setpremisevalue(Handle ph, int ruleIndex, int premiseIndex, double value);
|
int EXPORT_PY_API rcntl_setpremisevalue(Handle ph, int ruleIndex, int premiseIndex, double value);
|
||||||
int DLLEXPORT rcntl_getthenaction(Handle ph, int ruleIndex, int actionIndex, int *linkIndex, int *status, double *setting);
|
int EXPORT_PY_API rcntl_getthenaction(Handle ph, int ruleIndex, int actionIndex, int *linkIndex, int *status, double *setting);
|
||||||
int DLLEXPORT rcntl_setthenaction(Handle ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting);
|
int EXPORT_PY_API rcntl_setthenaction(Handle ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting);
|
||||||
int DLLEXPORT rcntl_getelseaction(Handle ph, int ruleIndex, int actionIndex, int *linkIndex, int *status, double *setting);
|
int EXPORT_PY_API rcntl_getelseaction(Handle ph, int ruleIndex, int actionIndex, int *linkIndex, int *status, double *setting);
|
||||||
int DLLEXPORT rcntl_setelseaction(Handle ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting);
|
int EXPORT_PY_API rcntl_setelseaction(Handle ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting);
|
||||||
int DLLEXPORT rcntl_setrulepriority(Handle ph, int index, double priority);
|
int EXPORT_PY_API rcntl_setrulepriority(Handle ph, int index, double priority);
|
||||||
|
|
||||||
|
|
||||||
void DLLEXPORT err_clear(Handle ph);
|
void EXPORT_PY_API err_clear(Handle ph);
|
||||||
int DLLEXPORT err_check(Handle ph, char** msg_buffer);
|
int EXPORT_PY_API err_check(Handle ph, char** msg_buffer);
|
||||||
void DLLEXPORT toolkit_free(void **memory);
|
void EXPORT_PY_API toolkit_free(void **memory);
|
||||||
int DLLEXPORT toolkit_getversion(int *version);
|
int EXPORT_PY_API toolkit_getversion(int *version);
|
||||||
|
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ include_directories(include)
|
|||||||
|
|
||||||
source_group("CLI" FILES ${EPANET_CLI_SOURCES})
|
source_group("CLI" FILES ${EPANET_CLI_SOURCES})
|
||||||
|
|
||||||
add_definitions(-DWITH_GENX)
|
|
||||||
|
|
||||||
# Creates the EPANET command line executable
|
# Creates the EPANET command line executable
|
||||||
add_executable(runepanet ${EPANET_CLI_SOURCES})
|
add_executable(runepanet ${EPANET_CLI_SOURCES})
|
||||||
|
|||||||
222
src/epanet_py.c
222
src/epanet_py.c
@@ -32,7 +32,7 @@ extern char *geterrmsg(int, char *);
|
|||||||
void error_lookup(int errcode, char *errmsg, int len);
|
void error_lookup(int errcode, char *errmsg, int len);
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT proj_create(Handle *ph)
|
int EXPORT_PY_API proj_create(Handle *ph)
|
||||||
{
|
{
|
||||||
handle_t *handle = (handle_t *)calloc(1, sizeof(handle_t));
|
handle_t *handle = (handle_t *)calloc(1, sizeof(handle_t));
|
||||||
|
|
||||||
@@ -46,7 +46,7 @@ int DLLEXPORT proj_create(Handle *ph)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT proj_delete(Handle *ph)
|
int EXPORT_PY_API proj_delete(Handle *ph)
|
||||||
{
|
{
|
||||||
handle_t *handle = (handle_t *)*ph;
|
handle_t *handle = (handle_t *)*ph;
|
||||||
|
|
||||||
@@ -63,34 +63,34 @@ int DLLEXPORT proj_delete(Handle *ph)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT proj_run(Handle ph, const char *input_path,
|
int EXPORT_PY_API proj_run(Handle ph, const char *input_path,
|
||||||
const char *report_path, const char *output_path)
|
const char *report_path, const char *output_path)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_runproject(pr->project, input_path, report_path, output_path, NULL));
|
return error_set(pr->error, EN_runproject(pr->project, input_path, report_path, output_path, NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT proj_init(Handle ph, const char *rptFile, const char *outFile,
|
int EXPORT_PY_API proj_init(Handle ph, const char *rptFile, const char *outFile,
|
||||||
EN_FlowUnits unitsType, EN_HeadLossType headLossType)
|
EN_FlowUnits unitsType, EN_HeadLossType headLossType)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_init(pr->project, rptFile, outFile, unitsType, headLossType));
|
return error_set(pr->error, EN_init(pr->project, rptFile, outFile, unitsType, headLossType));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT proj_open(Handle ph, const char *inpFile, const char *rptFile,
|
int EXPORT_PY_API proj_open(Handle ph, const char *inpFile, const char *rptFile,
|
||||||
const char *binOutFile)
|
const char *binOutFile)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_open(pr->project, inpFile, rptFile, binOutFile));
|
return error_set(pr->error, EN_open(pr->project, inpFile, rptFile, binOutFile));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT proj_savefile(Handle ph, const char *filename)
|
int EXPORT_PY_API proj_savefile(Handle ph, const char *filename)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_saveinpfile(pr->project, filename));
|
return error_set(pr->error, EN_saveinpfile(pr->project, filename));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT proj_close(Handle ph)
|
int EXPORT_PY_API proj_close(Handle ph)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_close(pr->project));
|
return error_set(pr->error, EN_close(pr->project));
|
||||||
@@ -99,55 +99,55 @@ int DLLEXPORT proj_close(Handle ph)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT hydr_solve(Handle ph)
|
int EXPORT_PY_API hydr_solve(Handle ph)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_solveH(pr->project));
|
return error_set(pr->error, EN_solveH(pr->project));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT hydr_save(Handle ph)
|
int EXPORT_PY_API hydr_save(Handle ph)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_saveH(pr->project));
|
return error_set(pr->error, EN_saveH(pr->project));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT hydr_open(Handle ph)
|
int EXPORT_PY_API hydr_open(Handle ph)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_openH(pr->project));
|
return error_set(pr->error, EN_openH(pr->project));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT hydr_init(Handle ph, EN_InitHydOption saveFlag)
|
int EXPORT_PY_API hydr_init(Handle ph, EN_InitHydOption saveFlag)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_initH(pr->project, saveFlag));
|
return error_set(pr->error, EN_initH(pr->project, saveFlag));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT hydr_run(Handle ph, long *currentTime)
|
int EXPORT_PY_API hydr_run(Handle ph, long *currentTime)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_runH(pr->project, currentTime));
|
return error_set(pr->error, EN_runH(pr->project, currentTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT hydr_next(Handle ph, long *tStep)
|
int EXPORT_PY_API hydr_next(Handle ph, long *tStep)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_nextH(pr->project, tStep));
|
return error_set(pr->error, EN_nextH(pr->project, tStep));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT hydr_close(Handle ph)
|
int EXPORT_PY_API hydr_close(Handle ph)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_closeH(pr->project));
|
return error_set(pr->error, EN_closeH(pr->project));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT hydr_savefile(Handle ph, char *filename)
|
int EXPORT_PY_API hydr_savefile(Handle ph, char *filename)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_savehydfile(pr->project, filename));
|
return error_set(pr->error, EN_savehydfile(pr->project, filename));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT hydr_usefile(Handle ph, char *filename)
|
int EXPORT_PY_API hydr_usefile(Handle ph, char *filename)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_usehydfile(pr->project, filename));
|
return error_set(pr->error, EN_usehydfile(pr->project, filename));
|
||||||
@@ -156,43 +156,43 @@ int DLLEXPORT hydr_usefile(Handle ph, char *filename)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT qual_solve(Handle ph)
|
int EXPORT_PY_API qual_solve(Handle ph)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_solveQ(pr->project));
|
return error_set(pr->error, EN_solveQ(pr->project));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT qual_open(Handle ph)
|
int EXPORT_PY_API qual_open(Handle ph)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_openQ(pr->project));
|
return error_set(pr->error, EN_openQ(pr->project));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT qual_init(Handle ph, EN_InitHydOption saveFlag)
|
int EXPORT_PY_API qual_init(Handle ph, EN_InitHydOption saveFlag)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_initQ(pr->project, saveFlag));
|
return error_set(pr->error, EN_initQ(pr->project, saveFlag));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT qual_run(Handle ph, long *currentTime)
|
int EXPORT_PY_API qual_run(Handle ph, long *currentTime)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_runQ(pr->project, currentTime));
|
return error_set(pr->error, EN_runQ(pr->project, currentTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT qual_next(Handle ph, long *tStep)
|
int EXPORT_PY_API qual_next(Handle ph, long *tStep)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_nextQ(pr->project, tStep));
|
return error_set(pr->error, EN_nextQ(pr->project, tStep));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT qual_step(Handle ph, long *timeLeft)
|
int EXPORT_PY_API qual_step(Handle ph, long *timeLeft)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_stepQ(pr->project, timeLeft));
|
return error_set(pr->error, EN_stepQ(pr->project, timeLeft));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT qual_close(Handle ph)
|
int EXPORT_PY_API qual_close(Handle ph)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_closeQ(pr->project));
|
return error_set(pr->error, EN_closeQ(pr->project));
|
||||||
@@ -201,43 +201,43 @@ int DLLEXPORT qual_close(Handle ph)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT rprt_writeline(Handle ph, char *line)
|
int EXPORT_PY_API rprt_writeline(Handle ph, char *line)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_writeline(pr->project, line));
|
return error_set(pr->error, EN_writeline(pr->project, line));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rprt_writeresults(Handle ph)
|
int EXPORT_PY_API rprt_writeresults(Handle ph)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_report(pr->project));
|
return error_set(pr->error, EN_report(pr->project));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rprt_reset(Handle ph)
|
int EXPORT_PY_API rprt_reset(Handle ph)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_resetreport(pr->project));
|
return error_set(pr->error, EN_resetreport(pr->project));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rprt_set(Handle ph, char *reportCommand)
|
int EXPORT_PY_API rprt_set(Handle ph, char *reportCommand)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setreport(pr->project, reportCommand));
|
return error_set(pr->error, EN_setreport(pr->project, reportCommand));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rprt_setlevel(Handle ph, EN_StatusReport code)
|
int EXPORT_PY_API rprt_setlevel(Handle ph, EN_StatusReport code)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setstatusreport(pr->project, code));
|
return error_set(pr->error, EN_setstatusreport(pr->project, code));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rprt_getcount(Handle ph, EN_CountType code, int *count)
|
int EXPORT_PY_API rprt_getcount(Handle ph, EN_CountType code, int *count)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getcount(pr->project, code, count));
|
return error_set(pr->error, EN_getcount(pr->project, code, count));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rprt_anlysstats(Handle ph, EN_AnalysisStatistic code, double* value)
|
int EXPORT_PY_API rprt_anlysstats(Handle ph, EN_AnalysisStatistic code, double* value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getstatistic(pr->project, code, value));
|
return error_set(pr->error, EN_getstatistic(pr->project, code, value));
|
||||||
@@ -246,55 +246,55 @@ int DLLEXPORT rprt_anlysstats(Handle ph, EN_AnalysisStatistic code, double* valu
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT anlys_getoption(Handle ph, EN_Option code, double *value)
|
int EXPORT_PY_API anlys_getoption(Handle ph, EN_Option code, double *value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getoption(pr->project, (int)code, value));
|
return error_set(pr->error, EN_getoption(pr->project, (int)code, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT anlys_setoption(Handle ph, EN_Option code, double value)
|
int EXPORT_PY_API anlys_setoption(Handle ph, EN_Option code, double value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setoption(pr->project, (int)code, value));
|
return error_set(pr->error, EN_setoption(pr->project, (int)code, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT anlys_getflowunits(Handle ph, int *code)
|
int EXPORT_PY_API anlys_getflowunits(Handle ph, int *code)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getflowunits(pr->project, code));
|
return error_set(pr->error, EN_getflowunits(pr->project, code));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT anlys_setflowunits(Handle ph, EN_FlowUnits code)
|
int EXPORT_PY_API anlys_setflowunits(Handle ph, EN_FlowUnits code)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setflowunits(pr->project, code));
|
return error_set(pr->error, EN_setflowunits(pr->project, code));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT anlys_gettimeparam(Handle ph, EN_TimeParameter code, long *value)
|
int EXPORT_PY_API anlys_gettimeparam(Handle ph, EN_TimeParameter code, long *value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_gettimeparam(pr->project, code, value));
|
return error_set(pr->error, EN_gettimeparam(pr->project, code, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT anlys_settimeparam(Handle ph, EN_TimeParameter code, long value)
|
int EXPORT_PY_API anlys_settimeparam(Handle ph, EN_TimeParameter code, long value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_settimeparam(pr->project, code, value));
|
return error_set(pr->error, EN_settimeparam(pr->project, code, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT anlys_getqualinfo(Handle ph, int *qualcode, char *chemname, char *chemunits, int *tracenode)
|
int EXPORT_PY_API anlys_getqualinfo(Handle ph, int *qualcode, char *chemname, char *chemunits, int *tracenode)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getqualinfo(pr->project, qualcode, chemname, chemunits, tracenode));
|
return error_set(pr->error, EN_getqualinfo(pr->project, qualcode, chemname, chemunits, tracenode));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT anlys_getqualtype(Handle ph, int *qualcode, int *tracenode)
|
int EXPORT_PY_API anlys_getqualtype(Handle ph, int *qualcode, int *tracenode)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getqualtype(pr->project, qualcode, tracenode));
|
return error_set(pr->error, EN_getqualtype(pr->project, qualcode, tracenode));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT anlys_setqualtype(Handle ph, EN_QualityType qualcode, char *chemname, char *chemunits, char *tracenode)
|
int EXPORT_PY_API anlys_setqualtype(Handle ph, EN_QualityType qualcode, char *chemname, char *chemunits, char *tracenode)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setqualtype(pr->project, qualcode, chemname, chemunits, tracenode));
|
return error_set(pr->error, EN_setqualtype(pr->project, qualcode, chemname, chemunits, tracenode));
|
||||||
@@ -303,61 +303,61 @@ int DLLEXPORT anlys_setqualtype(Handle ph, EN_QualityType qualcode, char *chemna
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT node_add(Handle ph, char *id, EN_NodeType nodeType)
|
int EXPORT_PY_API node_add(Handle ph, char *id, EN_NodeType nodeType)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_addnode(pr->project, id, nodeType));
|
return error_set(pr->error, EN_addnode(pr->project, id, nodeType));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT node_delete(Handle ph, int index, int actionCode)
|
int EXPORT_PY_API node_delete(Handle ph, int index, int actionCode)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_deletenode(pr->project, index, actionCode));
|
return error_set(pr->error, EN_deletenode(pr->project, index, actionCode));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT node_getindex(Handle ph, char *id, int *index)
|
int EXPORT_PY_API node_getindex(Handle ph, char *id, int *index)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getnodeindex(pr->project, id, index));
|
return error_set(pr->error, EN_getnodeindex(pr->project, id, index));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT node_getid(Handle ph, int index, char *id)
|
int EXPORT_PY_API node_getid(Handle ph, int index, char *id)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getnodeid(pr->project, index, id));
|
return error_set(pr->error, EN_getnodeid(pr->project, index, id));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT node_setid(Handle ph, int index, char *newid)
|
int EXPORT_PY_API node_setid(Handle ph, int index, char *newid)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getnodeid(pr->project, index, newid));
|
return error_set(pr->error, EN_getnodeid(pr->project, index, newid));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT node_gettype(Handle ph, int index, int *code)
|
int EXPORT_PY_API node_gettype(Handle ph, int index, int *code)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getnodetype(pr->project, index, code));
|
return error_set(pr->error, EN_getnodetype(pr->project, index, code));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT node_getvalue(Handle ph, int index, EN_NodeProperty code, double *value)
|
int EXPORT_PY_API node_getvalue(Handle ph, int index, EN_NodeProperty code, double *value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getnodevalue(pr->project, index, (int)code, value));
|
return error_set(pr->error, EN_getnodevalue(pr->project, index, (int)code, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT node_setvalue(Handle ph, int index, EN_NodeProperty code, double value)
|
int EXPORT_PY_API node_setvalue(Handle ph, int index, EN_NodeProperty code, double value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setnodevalue(pr->project, index, (int)code, value));
|
return error_set(pr->error, EN_setnodevalue(pr->project, index, (int)code, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT node_getcoord(Handle ph, int index, double *x, double *y)
|
int EXPORT_PY_API node_getcoord(Handle ph, int index, double *x, double *y)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getcoord(pr->project, index, x, y));
|
return error_set(pr->error, EN_getcoord(pr->project, index, x, y));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT node_setcoord(Handle ph, int index, double x, double y)
|
int EXPORT_PY_API node_setcoord(Handle ph, int index, double x, double y)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setcoord(pr->project, index, x, y));
|
return error_set(pr->error, EN_setcoord(pr->project, index, x, y));
|
||||||
@@ -366,55 +366,55 @@ int DLLEXPORT node_setcoord(Handle ph, int index, double x, double y)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT dmnd_getmodel(Handle ph, int *type, double *pmin, double *preq, double *pexp)
|
int EXPORT_PY_API dmnd_getmodel(Handle ph, int *type, double *pmin, double *preq, double *pexp)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getdemandmodel(pr->project, type, pmin, preq, pexp));
|
return error_set(pr->error, EN_getdemandmodel(pr->project, type, pmin, preq, pexp));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT dmnd_setmodel(Handle ph, int type, double pmin, double preq, double pexp)
|
int EXPORT_PY_API dmnd_setmodel(Handle ph, int type, double pmin, double preq, double pexp)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setdemandmodel(pr->project, type, pmin, preq, pexp));
|
return error_set(pr->error, EN_setdemandmodel(pr->project, type, pmin, preq, pexp));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT dmnd_getcount(Handle ph, int nodeIndex, int *numDemands)
|
int EXPORT_PY_API dmnd_getcount(Handle ph, int nodeIndex, int *numDemands)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getnumdemands(pr->project, nodeIndex, numDemands));
|
return error_set(pr->error, EN_getnumdemands(pr->project, nodeIndex, numDemands));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT dmnd_getbase(Handle ph, int nodeIndex, int demandIndex, double *baseDemand)
|
int EXPORT_PY_API dmnd_getbase(Handle ph, int nodeIndex, int demandIndex, double *baseDemand)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getbasedemand(pr->project, nodeIndex, demandIndex, baseDemand));
|
return error_set(pr->error, EN_getbasedemand(pr->project, nodeIndex, demandIndex, baseDemand));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT dmnd_setbase(Handle ph, int nodeIndex, int demandIndex, double baseDemand)
|
int EXPORT_PY_API dmnd_setbase(Handle ph, int nodeIndex, int demandIndex, double baseDemand)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setbasedemand(pr->project, nodeIndex, demandIndex, baseDemand));
|
return error_set(pr->error, EN_setbasedemand(pr->project, nodeIndex, demandIndex, baseDemand));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT dmnd_getpattern(Handle ph, int nodeIndex, int demandIndex, int *patIndex)
|
int EXPORT_PY_API dmnd_getpattern(Handle ph, int nodeIndex, int demandIndex, int *patIndex)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getdemandpattern(pr->project, nodeIndex, demandIndex, patIndex));
|
return error_set(pr->error, EN_getdemandpattern(pr->project, nodeIndex, demandIndex, patIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT dmnd_setpattern(Handle ph, int nodeIndex, int demandIndex, int patIndex)
|
int EXPORT_PY_API dmnd_setpattern(Handle ph, int nodeIndex, int demandIndex, int patIndex)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setdemandpattern(pr->project, nodeIndex, demandIndex, patIndex));
|
return error_set(pr->error, EN_setdemandpattern(pr->project, nodeIndex, demandIndex, patIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT dmnd_getname(Handle ph, int nodeIndex, int demandIdx, char *demandName)
|
int EXPORT_PY_API dmnd_getname(Handle ph, int nodeIndex, int demandIdx, char *demandName)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getdemandname(pr->project, nodeIndex, demandIdx, demandName));
|
return error_set(pr->error, EN_getdemandname(pr->project, nodeIndex, demandIdx, demandName));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT dmnd_setname(Handle ph, int nodeIndex, int demandIdx, char *demandName)
|
int EXPORT_PY_API dmnd_setname(Handle ph, int nodeIndex, int demandIdx, char *demandName)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setdemandname(pr->project, nodeIndex, demandIdx, demandName));
|
return error_set(pr->error, EN_setdemandname(pr->project, nodeIndex, demandIdx, demandName));
|
||||||
@@ -423,67 +423,67 @@ int DLLEXPORT dmnd_setname(Handle ph, int nodeIndex, int demandIdx, char *demand
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT link_add(Handle ph, char *id, EN_LinkType linkType, char *fromNode, char *toNode)
|
int EXPORT_PY_API link_add(Handle ph, char *id, EN_LinkType linkType, char *fromNode, char *toNode)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_addlink(pr->project, id, linkType, fromNode, toNode));
|
return error_set(pr->error, EN_addlink(pr->project, id, linkType, fromNode, toNode));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT link_delete(Handle ph, int index, int actionCode)
|
int EXPORT_PY_API link_delete(Handle ph, int index, int actionCode)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_deletelink(pr->project, index, actionCode));
|
return error_set(pr->error, EN_deletelink(pr->project, index, actionCode));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT link_getindex(Handle ph, char *id, int *index)
|
int EXPORT_PY_API link_getindex(Handle ph, char *id, int *index)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getlinkindex(pr->project, id, index));
|
return error_set(pr->error, EN_getlinkindex(pr->project, id, index));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT link_getid(Handle ph, int index, char *id)
|
int EXPORT_PY_API link_getid(Handle ph, int index, char *id)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getlinkid(pr->project, index, id));
|
return error_set(pr->error, EN_getlinkid(pr->project, index, id));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT link_setid(Handle ph, int index, char *newid)
|
int EXPORT_PY_API link_setid(Handle ph, int index, char *newid)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setlinkid(pr->project, index, newid));
|
return error_set(pr->error, EN_setlinkid(pr->project, index, newid));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT link_gettype(Handle ph, int index, int *code)
|
int EXPORT_PY_API link_gettype(Handle ph, int index, int *code)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getlinktype(pr->project, index, code));
|
return error_set(pr->error, EN_getlinktype(pr->project, index, code));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT link_settype(Handle ph, int *index, EN_LinkType type, int actionCode)
|
int EXPORT_PY_API link_settype(Handle ph, int *index, EN_LinkType type, int actionCode)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setlinktype(pr->project, index, type, actionCode));
|
return error_set(pr->error, EN_setlinktype(pr->project, index, type, actionCode));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT link_getnodes(Handle ph, int index, int *node1, int *node2)
|
int EXPORT_PY_API link_getnodes(Handle ph, int index, int *node1, int *node2)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getlinknodes(pr->project, index, node1, node2));
|
return error_set(pr->error, EN_getlinknodes(pr->project, index, node1, node2));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT link_setnodes(Handle ph, int index, int node1, int node2)
|
int EXPORT_PY_API link_setnodes(Handle ph, int index, int node1, int node2)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setlinknodes(pr->project, index, node1, node2));
|
return error_set(pr->error, EN_setlinknodes(pr->project, index, node1, node2));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT link_getvalue(Handle ph, int index, EN_LinkProperty code, double *value)
|
int EXPORT_PY_API link_getvalue(Handle ph, int index, EN_LinkProperty code, double *value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getlinkvalue(pr->project, index, code, value));
|
return error_set(pr->error, EN_getlinkvalue(pr->project, index, code, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT link_setvalue(Handle ph, int index, int code, double value)
|
int EXPORT_PY_API link_setvalue(Handle ph, int index, int code, double value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setlinkvalue(pr->project, index, code, value));
|
return error_set(pr->error, EN_setlinkvalue(pr->project, index, code, value));
|
||||||
@@ -492,19 +492,19 @@ int DLLEXPORT link_setvalue(Handle ph, int index, int code, double value)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT pump_gettype(Handle ph, int linkIndex, int *outType)
|
int EXPORT_PY_API pump_gettype(Handle ph, int linkIndex, int *outType)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getpumptype(pr->project, linkIndex, outType));
|
return error_set(pr->error, EN_getpumptype(pr->project, linkIndex, outType));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT pump_getheadcurveindex(Handle ph, int pumpIndex, int *curveIndex)
|
int EXPORT_PY_API pump_getheadcurveindex(Handle ph, int pumpIndex, int *curveIndex)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getheadcurveindex(pr->project, pumpIndex, curveIndex));
|
return error_set(pr->error, EN_getheadcurveindex(pr->project, pumpIndex, curveIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT pump_setheadcurveindex(Handle ph, int pumpIndex, int curveIndex)
|
int EXPORT_PY_API pump_setheadcurveindex(Handle ph, int pumpIndex, int curveIndex)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setheadcurveindex(pr->project, pumpIndex, curveIndex));
|
return error_set(pr->error, EN_setheadcurveindex(pr->project, pumpIndex, curveIndex));
|
||||||
@@ -513,49 +513,49 @@ int DLLEXPORT pump_setheadcurveindex(Handle ph, int pumpIndex, int curveIndex)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT ptrn_add(Handle ph, char *id)
|
int EXPORT_PY_API ptrn_add(Handle ph, char *id)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_addpattern(pr->project, id));
|
return error_set(pr->error, EN_addpattern(pr->project, id));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT ptrn_getindex(Handle ph, char *id, int *index)
|
int EXPORT_PY_API ptrn_getindex(Handle ph, char *id, int *index)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getpatternindex(pr->project, id, index));
|
return error_set(pr->error, EN_getpatternindex(pr->project, id, index));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT ptrn_getid(Handle ph, int index, char *id)
|
int EXPORT_PY_API ptrn_getid(Handle ph, int index, char *id)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getpatternid(pr->project, index, id));
|
return error_set(pr->error, EN_getpatternid(pr->project, index, id));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT ptrn_getlength(Handle ph, int index, int *len)
|
int EXPORT_PY_API ptrn_getlength(Handle ph, int index, int *len)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getpatternlen(pr->project, index, len));
|
return error_set(pr->error, EN_getpatternlen(pr->project, index, len));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT ptrn_getvalue(Handle ph, int index, int period, double *value)
|
int EXPORT_PY_API ptrn_getvalue(Handle ph, int index, int period, double *value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getpatternvalue(pr->project, index, period, value));
|
return error_set(pr->error, EN_getpatternvalue(pr->project, index, period, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT ptrn_setvalue(Handle ph, int index, int period, double value)
|
int EXPORT_PY_API ptrn_setvalue(Handle ph, int index, int period, double value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setpatternvalue(pr->project, index, period, value));
|
return error_set(pr->error, EN_setpatternvalue(pr->project, index, period, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT ptrn_getavgvalue(Handle ph, int index, double *value)
|
int EXPORT_PY_API ptrn_getavgvalue(Handle ph, int index, double *value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getaveragepatternvalue(pr->project, index, value));
|
return error_set(pr->error, EN_getaveragepatternvalue(pr->project, index, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT ptrn_set(Handle ph, int index, double *values, int len)
|
int EXPORT_PY_API ptrn_set(Handle ph, int index, double *values, int len)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setpattern(pr->project, index, values, len));
|
return error_set(pr->error, EN_setpattern(pr->project, index, values, len));
|
||||||
@@ -564,55 +564,55 @@ int DLLEXPORT ptrn_set(Handle ph, int index, double *values, int len)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT curv_add(Handle ph, char *id)
|
int EXPORT_PY_API curv_add(Handle ph, char *id)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_addcurve(pr->project, id));
|
return error_set(pr->error, EN_addcurve(pr->project, id));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT curv_getindex(Handle ph, char *id, int *index)
|
int EXPORT_PY_API curv_getindex(Handle ph, char *id, int *index)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getcurveindex(pr->project, id, index));
|
return error_set(pr->error, EN_getcurveindex(pr->project, id, index));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT curv_getid(Handle ph, int index, char *id)
|
int EXPORT_PY_API curv_getid(Handle ph, int index, char *id)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getcurveid(pr->project, index, id));
|
return error_set(pr->error, EN_getcurveid(pr->project, index, id));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT curv_getlength(Handle ph, int index, int *len)
|
int EXPORT_PY_API curv_getlength(Handle ph, int index, int *len)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getcurvelen(pr->project, index, len));
|
return error_set(pr->error, EN_getcurvelen(pr->project, index, len));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT curv_gettype(Handle ph, int index, int *type)
|
int EXPORT_PY_API curv_gettype(Handle ph, int index, int *type)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getcurvetype(pr->project, index, type));
|
return error_set(pr->error, EN_getcurvetype(pr->project, index, type));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT curv_getvalue(Handle ph, int curveIndex, int pointIndex, double *x, double *y)
|
int EXPORT_PY_API curv_getvalue(Handle ph, int curveIndex, int pointIndex, double *x, double *y)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getcurvevalue(pr->project, curveIndex, pointIndex, x, y));
|
return error_set(pr->error, EN_getcurvevalue(pr->project, curveIndex, pointIndex, x, y));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT curv_setvalue(Handle ph, int curveIndex, int pointIndex, double x, double y)
|
int EXPORT_PY_API curv_setvalue(Handle ph, int curveIndex, int pointIndex, double x, double y)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setcurvevalue(pr->project, curveIndex, pointIndex, x, y));
|
return error_set(pr->error, EN_setcurvevalue(pr->project, curveIndex, pointIndex, x, y));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT curv_get(Handle ph, int curveIndex, char* id, int *nValues, double **xValues, double **yValues)
|
int EXPORT_PY_API curv_get(Handle ph, int curveIndex, char* id, int *nValues, double **xValues, double **yValues)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getcurve(pr->project, curveIndex, id, nValues, xValues, yValues));
|
return error_set(pr->error, EN_getcurve(pr->project, curveIndex, id, nValues, xValues, yValues));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT curv_set(Handle ph, int index, double *x, double *y, int len)
|
int EXPORT_PY_API curv_set(Handle ph, int index, double *x, double *y, int len)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setcurve(pr->project, index, x, y, len));
|
return error_set(pr->error, EN_setcurve(pr->project, index, x, y, len));
|
||||||
@@ -621,25 +621,25 @@ int DLLEXPORT curv_set(Handle ph, int index, double *x, double *y, int len)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT scntl_add(Handle ph, int type, int linkIndex, double setting, int nodeIndex, double level, int *index)
|
int EXPORT_PY_API scntl_add(Handle ph, int type, int linkIndex, double setting, int nodeIndex, double level, int *index)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_addcontrol(pr->project, type, linkIndex, setting, nodeIndex, level, index));
|
return error_set(pr->error, EN_addcontrol(pr->project, type, linkIndex, setting, nodeIndex, level, index));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT scntl_delete(Handle ph, int index)
|
int EXPORT_PY_API scntl_delete(Handle ph, int index)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_deletecontrol(pr->project, index));
|
return error_set(pr->error, EN_deletecontrol(pr->project, index));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT scntl_get(Handle ph, int controlIndex, int *controlType, int *linkIndex, double *setting, int *nodeIndex, double *level)
|
int EXPORT_PY_API scntl_get(Handle ph, int controlIndex, int *controlType, int *linkIndex, double *setting, int *nodeIndex, double *level)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getcontrol(pr->project, controlIndex, controlType, linkIndex, setting, nodeIndex, level));
|
return error_set(pr->error, EN_getcontrol(pr->project, controlIndex, controlType, linkIndex, setting, nodeIndex, level));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT scntl_set(Handle ph, int cindex, int ctype, int lindex, double setting, int nindex, double level)
|
int EXPORT_PY_API scntl_set(Handle ph, int cindex, int ctype, int lindex, double setting, int nindex, double level)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setcontrol(pr->project, cindex, ctype, lindex, setting, nindex, level));
|
return error_set(pr->error, EN_setcontrol(pr->project, cindex, ctype, lindex, setting, nindex, level));
|
||||||
@@ -648,85 +648,85 @@ int DLLEXPORT scntl_set(Handle ph, int cindex, int ctype, int lindex, double set
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int DLLEXPORT rcntl_add(Handle ph, char *rule)
|
int EXPORT_PY_API rcntl_add(Handle ph, char *rule)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_addrule(pr->project, rule));
|
return error_set(pr->error, EN_addrule(pr->project, rule));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_delete(Handle ph, int index)
|
int EXPORT_PY_API rcntl_delete(Handle ph, int index)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_deleterule(pr->project, index));
|
return error_set(pr->error, EN_deleterule(pr->project, index));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_get(Handle ph, int index, int *nPremises, int *nThenActions, int *nElseActions, double *priority)
|
int EXPORT_PY_API rcntl_get(Handle ph, int index, int *nPremises, int *nThenActions, int *nElseActions, double *priority)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getrule(pr->project, index, nPremises, nThenActions, nElseActions, priority));
|
return error_set(pr->error, EN_getrule(pr->project, index, nPremises, nThenActions, nElseActions, priority));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_getid(Handle ph, int index, char *id)
|
int EXPORT_PY_API rcntl_getid(Handle ph, int index, char *id)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getruleID(pr->project, index, id));
|
return error_set(pr->error, EN_getruleID(pr->project, index, id));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_getpremise(Handle ph, int ruleIndex, int premiseIndex, int *logop, int *object, int *objIndex, int *variable, int *relop, int *status, double *value)
|
int EXPORT_PY_API rcntl_getpremise(Handle ph, int ruleIndex, int premiseIndex, int *logop, int *object, int *objIndex, int *variable, int *relop, int *status, double *value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getpremise(pr->project, ruleIndex, premiseIndex, logop, object, objIndex, variable, relop, status, value));
|
return error_set(pr->error, EN_getpremise(pr->project, ruleIndex, premiseIndex, logop, object, objIndex, variable, relop, status, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_setpremise(Handle ph, int ruleIndex, int premiseIndex, int logop, int object, int objIndex, int variable, int relop, int status, double value)
|
int EXPORT_PY_API rcntl_setpremise(Handle ph, int ruleIndex, int premiseIndex, int logop, int object, int objIndex, int variable, int relop, int status, double value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setpremise(pr->project, ruleIndex, premiseIndex, logop, object, objIndex, variable, relop, status, value));
|
return error_set(pr->error, EN_setpremise(pr->project, ruleIndex, premiseIndex, logop, object, objIndex, variable, relop, status, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_setpremiseindex(Handle ph, int ruleIndex, int premiseIndex, int objIndex)
|
int EXPORT_PY_API rcntl_setpremiseindex(Handle ph, int ruleIndex, int premiseIndex, int objIndex)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setpremiseindex(pr->project, ruleIndex, premiseIndex, objIndex));
|
return error_set(pr->error, EN_setpremiseindex(pr->project, ruleIndex, premiseIndex, objIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_setpremisestatus(Handle ph, int ruleIndex, int premiseIndex, int status)
|
int EXPORT_PY_API rcntl_setpremisestatus(Handle ph, int ruleIndex, int premiseIndex, int status)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setpremisestatus(pr->project, ruleIndex, premiseIndex, status));
|
return error_set(pr->error, EN_setpremisestatus(pr->project, ruleIndex, premiseIndex, status));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_setpremisevalue(Handle ph, int ruleIndex, int premiseIndex, double value)
|
int EXPORT_PY_API rcntl_setpremisevalue(Handle ph, int ruleIndex, int premiseIndex, double value)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setpremisevalue(pr->project, ruleIndex, premiseIndex, value));
|
return error_set(pr->error, EN_setpremisevalue(pr->project, ruleIndex, premiseIndex, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_getthenaction(Handle ph, int ruleIndex, int actionIndex, int *linkIndex, int *status, double *setting)
|
int EXPORT_PY_API rcntl_getthenaction(Handle ph, int ruleIndex, int actionIndex, int *linkIndex, int *status, double *setting)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getthenaction(pr->project, ruleIndex, actionIndex, linkIndex, status, setting));
|
return error_set(pr->error, EN_getthenaction(pr->project, ruleIndex, actionIndex, linkIndex, status, setting));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_setthenaction(Handle ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting)
|
int EXPORT_PY_API rcntl_setthenaction(Handle ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setthenaction(pr->project, ruleIndex, actionIndex, linkIndex, status, setting));
|
return error_set(pr->error, EN_setthenaction(pr->project, ruleIndex, actionIndex, linkIndex, status, setting));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_getelseaction(Handle ph, int ruleIndex, int actionIndex, int *linkIndex, int *status, double *setting)
|
int EXPORT_PY_API rcntl_getelseaction(Handle ph, int ruleIndex, int actionIndex, int *linkIndex, int *status, double *setting)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_getelseaction(pr->project, ruleIndex, actionIndex, linkIndex, status, setting));
|
return error_set(pr->error, EN_getelseaction(pr->project, ruleIndex, actionIndex, linkIndex, status, setting));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_setelseaction(Handle ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting)
|
int EXPORT_PY_API rcntl_setelseaction(Handle ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setelseaction(pr->project, ruleIndex, actionIndex, linkIndex, status, setting));
|
return error_set(pr->error, EN_setelseaction(pr->project, ruleIndex, actionIndex, linkIndex, status, setting));
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT rcntl_setrulepriority(Handle ph, int index, double priority)
|
int EXPORT_PY_API rcntl_setrulepriority(Handle ph, int index, double priority)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
return error_set(pr->error, EN_setrulepriority(pr->project, index, priority));
|
return error_set(pr->error, EN_setrulepriority(pr->project, index, priority));
|
||||||
@@ -735,13 +735,13 @@ int DLLEXPORT rcntl_setrulepriority(Handle ph, int index, double priority)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void DLLEXPORT err_clear(Handle ph)
|
void EXPORT_PY_API err_clear(Handle ph)
|
||||||
{
|
{
|
||||||
handle_t *pr = (handle_t *)ph;
|
handle_t *pr = (handle_t *)ph;
|
||||||
error_clear(pr->error);
|
error_clear(pr->error);
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT err_check(Handle ph, char** msg_buffer)
|
int EXPORT_PY_API err_check(Handle ph, char** msg_buffer)
|
||||||
//
|
//
|
||||||
// Purpose: Returns the error message or NULL.
|
// Purpose: Returns the error message or NULL.
|
||||||
//
|
//
|
||||||
@@ -767,12 +767,12 @@ int DLLEXPORT err_check(Handle ph, char** msg_buffer)
|
|||||||
return errorcode;
|
return errorcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLLEXPORT toolkit_getversion(int *version)
|
int EXPORT_PY_API toolkit_getversion(int *version)
|
||||||
{
|
{
|
||||||
return EN_getversion(version);
|
return EN_getversion(version);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DLLEXPORT toolkit_free(void **memory)
|
void EXPORT_PY_API toolkit_free(void **memory)
|
||||||
{
|
{
|
||||||
free(*memory);
|
free(*memory);
|
||||||
*memory = NULL;
|
*memory = NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user