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 ;