GDAL
gnm_api.h
00001 /******************************************************************************
00002  * $Id: gnm_api.h 35902 2016-10-24 12:00:50Z goatbar $
00003  *
00004  * Project:  GDAL/OGR Geography Network support (Geographic Network Model)
00005  * Purpose:  GNM C API.
00006  * Authors:  Mikhail Gusev (gusevmihs at gmail dot com)
00007  *           Dmitry Baryshnikov, polimax@mail.ru
00008  *
00009  ******************************************************************************
00010  * Copyright (c) 2014, Mikhail Gusev
00011  * Copyright (c) 2014-2015, NextGIS <info@nextgis.com>
00012  *
00013  * Permission is hereby granted, free of charge, to any person obtaining a
00014  * copy of this software and associated documentation files (the "Software"),
00015  * to deal in the Software without restriction, including without limitation
00016  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00017  * and/or sell copies of the Software, and to permit persons to whom the
00018  * Software is furnished to do so, subject to the following conditions:
00019  *
00020  * The above copyright notice and this permission notice shall be included
00021  * in all copies or substantial portions of the Software.
00022  *
00023  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00024  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00025  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00026  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00027  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00028  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00029  * DEALINGS IN THE SOFTWARE.
00030  ****************************************************************************/
00031 
00032 #ifndef GNM_API
00033 #define GNM_API
00034 
00035 #include "gnm.h"
00036 
00037 CPL_C_START
00038 
00039 typedef void *GNMNetworkH;
00040 typedef void *GNMGenericNetworkH;
00041 
00042 const char CPL_DLL * CPL_STDCALL GNMGetName (GNMNetworkH hNet);
00043 
00044 int CPL_DLL CPL_STDCALL GNMGetVersion(GNMNetworkH hNet);
00045 
00046 CPLErr CPL_DLL CPL_STDCALL GNMDisconnectAll (GNMNetworkH hNet);
00047 
00048 OGRFeatureH CPL_DLL CPL_STDCALL GNMGetFeatureByGlobalFID (GNMNetworkH hNet, GNMGFID nGFID);
00049 
00050 OGRLayerH CPL_DLL CPL_STDCALL GNMGetPath (GNMNetworkH hNet, GNMGFID nStartFID,
00051                               GNMGFID nEndFID, GNMGraphAlgorithmType eAlgorithm,
00052                               char** papszOptions);
00053 
00054 CPLErr CPL_DLL CPL_STDCALL GNMConnectFeatures (GNMGenericNetworkH hNet,
00055                                                GNMGFID nSrcFID, GNMGFID nTgtFID,
00056                                                GNMGFID nConFID, double dfCost,
00057                                                double dfInvCost,
00058                                                GNMDirection eDir);
00059 
00060 CPLErr CPL_DLL CPL_STDCALL GNMDisconnectFeatures (GNMGenericNetworkH hNet,
00061                                                   GNMGFID nSrcFID, GNMGFID nTgtFID,
00062                                                   GNMGFID nConFID);
00063 
00064 CPLErr CPL_DLL CPL_STDCALL GNMDisconnectFeaturesWithId(GNMGenericNetworkH hNet,
00065                                                        GNMGFID nFID);
00066 
00067 CPLErr CPL_DLL CPL_STDCALL GNMReconnectFeatures (GNMGenericNetworkH hNet,
00068                                                  GNMGFID nSrcFID, GNMGFID nTgtFID,
00069                                                  GNMGFID nConFID, double dfCost,
00070                                                  double dfInvCost, GNMDirection eDir);
00071 
00072 CPLErr CPL_DLL CPL_STDCALL GNMCreateRule (GNMGenericNetworkH hNet,
00073                                           const char *pszRuleStr);
00074 
00075 CPLErr CPL_DLL CPL_STDCALL GNMDeleteAllRules(GNMGenericNetworkH hNet);
00076 
00077 CPLErr CPL_DLL CPL_STDCALL GNMDeleteRule(GNMGenericNetworkH hNet,
00078                                          const char *pszRuleStr);
00079 
00080 char CPL_DLL ** CPL_STDCALL GNMGetRules(GNMGenericNetworkH hNet);
00081 
00082 CPLErr CPL_DLL CPL_STDCALL GNMConnectPointsByLines (GNMGenericNetworkH hNet,
00083                                                     char **papszLayerList,
00084                                                     double dfTolerance,
00085                                                     double dfCost,
00086                                                     double dfInvCost,
00087                                                     GNMDirection eDir);
00088 
00089 CPLErr CPL_DLL CPL_STDCALL GNMChangeBlockState (GNMGenericNetworkH hNet,
00090                                                 GNMGFID nFID, bool bIsBlock);
00091 
00092 CPLErr CPL_DLL CPL_STDCALL GNMChangeAllBlockState (GNMGenericNetworkH hNet,
00093                                                    int bIsBlock);
00094 
00095 CPL_C_END
00096 
00097 #endif // GNM_API

Generated for GDAL by doxygen 1.7.6.1.