//---------------------------------------------------------------------------- // EgalTech 2020-2020 //---------------------------------------------------------------------------- // File : MaximumFiller.h Data : 05.11.20 Versione : 2.2k1 // Contenuto : Classe per il calcolo del massimo riempimento (nesting 1D). // // // // Modifiche : 05.11.20 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once //----------------------- 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) IMaximumFiller { public : virtual ~IMaximumFiller( void) {} virtual bool Clear( void) = 0 ; virtual bool AddPart( int nPartId, double dLen) = 0 ; virtual bool AddPart( int nPartId, double dLen, double dDispLen, int nCount) = 0 ; virtual bool Compute( double dLenToFill, double dStartGap, double dMidGap, double dEndGap, int nSortType = 0) = 0 ; virtual bool GetResults( int& nFilledParts, int& nDiffParts, double& dTotFillRatio) const = 0 ; virtual bool GetOneResult( int nInd, int& nPartId, int& nCount) const = 0 ; } ; //----------------------------------------------------------------------------- ENK_EXPORT IMaximumFiller* CreateMaximumFiller( void) ;