From fd9ad519782f6defc65e6658163ce4a38bb73817 Mon Sep 17 00:00:00 2001 From: Riccardo Elitropi Date: Thu, 8 Feb 2024 13:04:40 +0100 Subject: [PATCH] Include : - aggiunto algoritmo Dijkstra. --- ENkDijkstra.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 ENkDijkstra.h diff --git a/ENkDijkstra.h b/ENkDijkstra.h new file mode 100644 index 0000000..5eea97e --- /dev/null +++ b/ENkDijkstra.h @@ -0,0 +1,42 @@ +//---------------------------------------------------------------------------- +// EgalTech 2024-2024 +//---------------------------------------------------------------------------- +// File : ENkDijkstra.h Data : 08.02.24 Versione : 2.6b1 +// Contenuto : Classe per calcolo del percorso a peso minimo su un grafo orientato. +// +// +// Modifiche : 02.02.2024 RE Creazione modulo. +// +// +//---------------------------------------------------------------------------- + +#pragma once + +#include "/EgtDev/Include/EgtNumCollection.h" + +//----------------------- Macro per import/export ---------------------------- +#undef ENK_EXPORT +#if defined( I_AM_ENK) // da definirsi solo nella DLL + #define ENK_EXPORT __declspec( dllexport) +#else + #define ENK_EXPORT __declspec( dllimport) +#endif + +//---------------------------------------------------------------------------- +class __declspec( novtable) IDijkstra +{ + public : + virtual ~IDijkstra( void) {} + virtual bool SetGraph( DBLMATRIX AdjMatrix, int nDestInd = -1) = 0 ; + virtual bool GetPath( INTVECTOR& vNodePath) = 0 ; + + public : + double DIST_NO_ADJ = 1073741823U ; +} ; + +//----------------------------------------------------------------------------- +ENK_EXPORT IDijkstra* CreateDijkstra( void) ; + +//----------------------------------------------------------------------------- +// costante per arco non presente +const double DIST_NO_ADJ = 1073741823U ;