gooderp18绿色标准版
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

102 行
4.6KB

  1. /******************************************************************************
  2. * $Id: gnm_api.h 80f31ac0b0753868ab421bf0ff62e6682ad9617e 2017-12-07 18:13:41Z Even Rouault $
  3. *
  4. * Project: GDAL/OGR Geography Network support (Geographic Network Model)
  5. * Purpose: GNM C API.
  6. * Authors: Mikhail Gusev (gusevmihs at gmail dot com)
  7. * Dmitry Baryshnikov, polimax@mail.ru
  8. *
  9. ******************************************************************************
  10. * Copyright (c) 2014, Mikhail Gusev
  11. * Copyright (c) 2014-2015, NextGIS <info@nextgis.com>
  12. *
  13. * Permission is hereby granted, free of charge, to any person obtaining a
  14. * copy of this software and associated documentation files (the "Software"),
  15. * to deal in the Software without restriction, including without limitation
  16. * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  17. * and/or sell copies of the Software, and to permit persons to whom the
  18. * Software is furnished to do so, subject to the following conditions:
  19. *
  20. * The above copyright notice and this permission notice shall be included
  21. * in all copies or substantial portions of the Software.
  22. *
  23. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  24. * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  25. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  26. * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  27. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  28. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  29. * DEALINGS IN THE SOFTWARE.
  30. ****************************************************************************/
  31. #ifndef GNM_API
  32. #define GNM_API
  33. #include "gnm.h"
  34. CPL_C_START
  35. typedef void *GNMNetworkH;
  36. typedef void *GNMGenericNetworkH;
  37. const char CPL_DLL * CPL_STDCALL GNMGetName (GNMNetworkH hNet);
  38. int CPL_DLL CPL_STDCALL GNMGetVersion(GNMNetworkH hNet);
  39. CPLErr CPL_DLL CPL_STDCALL GNMDisconnectAll (GNMNetworkH hNet);
  40. OGRFeatureH CPL_DLL CPL_STDCALL GNMGetFeatureByGlobalFID (GNMNetworkH hNet, GNMGFID nGFID);
  41. OGRLayerH CPL_DLL CPL_STDCALL GNMGetPath (GNMNetworkH hNet, GNMGFID nStartFID,
  42. GNMGFID nEndFID, GNMGraphAlgorithmType eAlgorithm,
  43. char** papszOptions);
  44. CPLErr CPL_DLL CPL_STDCALL GNMConnectFeatures (GNMGenericNetworkH hNet,
  45. GNMGFID nSrcFID, GNMGFID nTgtFID,
  46. GNMGFID nConFID, double dfCost,
  47. double dfInvCost,
  48. GNMDirection eDir);
  49. CPLErr CPL_DLL CPL_STDCALL GNMDisconnectFeatures (GNMGenericNetworkH hNet,
  50. GNMGFID nSrcFID, GNMGFID nTgtFID,
  51. GNMGFID nConFID);
  52. CPLErr CPL_DLL CPL_STDCALL GNMDisconnectFeaturesWithId(GNMGenericNetworkH hNet,
  53. GNMGFID nFID);
  54. CPLErr CPL_DLL CPL_STDCALL GNMReconnectFeatures (GNMGenericNetworkH hNet,
  55. GNMGFID nSrcFID, GNMGFID nTgtFID,
  56. GNMGFID nConFID, double dfCost,
  57. double dfInvCost, GNMDirection eDir);
  58. CPLErr CPL_DLL CPL_STDCALL GNMCreateRule (GNMGenericNetworkH hNet,
  59. const char *pszRuleStr);
  60. CPLErr CPL_DLL CPL_STDCALL GNMDeleteAllRules(GNMGenericNetworkH hNet);
  61. CPLErr CPL_DLL CPL_STDCALL GNMDeleteRule(GNMGenericNetworkH hNet,
  62. const char *pszRuleStr);
  63. char CPL_DLL ** CPL_STDCALL GNMGetRules(GNMGenericNetworkH hNet);
  64. CPLErr CPL_DLL CPL_STDCALL GNMConnectPointsByLines (GNMGenericNetworkH hNet,
  65. char **papszLayerList,
  66. double dfTolerance,
  67. double dfCost,
  68. double dfInvCost,
  69. GNMDirection eDir);
  70. CPLErr CPL_DLL CPL_STDCALL GNMChangeBlockState (GNMGenericNetworkH hNet,
  71. GNMGFID nFID, bool bIsBlock);
  72. CPLErr CPL_DLL CPL_STDCALL GNMChangeAllBlockState (GNMGenericNetworkH hNet,
  73. int bIsBlock);
  74. GNMNetworkH CPL_DLL CPL_STDCALL GNMCastToNetwork(GDALMajorObjectH hBase);
  75. GNMGenericNetworkH CPL_DLL CPL_STDCALL GNMCastToGenericNetwork(GDALMajorObjectH hBase);
  76. CPL_C_END
  77. #endif // GNM_API
上海开阖软件有限公司 沪ICP备12045867号-1