Files
Include/ENsAutoNester.h
T
Dario Sassi 72a523e731 Include :
- aggiornamento prototipi.
2019-12-02 10:12:27 +00:00

60 lines
2.3 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2019-2019
//----------------------------------------------------------------------------
// File : ENsAutoNester.h Data : 28.11.19 Versione : 2.1k6
// Contenuto : Dichiarazione della interfaccia IAutoNester.
//
//
//
// Modifiche : 28.11.19 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include <string>
#include <vector>
//----------------------- Macro per import/export ----------------------------
#undef ENS_EXPORT
#if defined( I_AM_ENS) // da definirsi solo nella DLL
#define ENS_EXPORT __declspec( dllexport)
#else
#define ENS_EXPORT __declspec( dllimport)
#endif
class PolyArc ;
//-----------------------------------------------------------------------------
struct ANestInfo {
int nType ; // se > 0 allora pannello e quindi molteplicità, se == 0 è pezzo
int nId ; // identificativo
int nFlag ; // per pannello numero di pezzi contenuti, per pezzo flip (0=no/1=si)
double dX ; // per pannello fill ratio, per pezzo traslazione in X dell'origine pezzo
double dY ; // solo per pezzo, traslazione in Y dell'origine pezzo
double dAngRot ; // solo per pezzo, rotazione del pezzo attorno all'origine
} ;
typedef std::vector<ANestInfo> ANIVECT ;
//-----------------------------------------------------------------------------
class __declspec( novtable) IAutoNester
{
public :
virtual ~IAutoNester( void) {}
virtual bool Start( void) = 0 ;
virtual bool AddSheet( int nSheetId, const PolyArc& Outline, int nPriority, int nCount) = 0 ;
virtual bool AddPart( int nPartId, const PolyArc& Outline, int nCount) = 0 ;
virtual bool SetInterpartGap( double dGap) = 0 ;
virtual bool Compute( int nMaxTime) = 0 ;
virtual bool CancelComputation( void) = 0 ;
virtual bool GetComputationStatus( int& nStatus) = 0 ;
virtual bool GetResults( double& dTotFillRatio, ANIVECT& vANI) = 0 ;
virtual bool PrintResults( const std::string& sHtmlFile) = 0 ;
} ;
//-----------------------------------------------------------------------------
extern "C" {
ENS_EXPORT IAutoNester* CreateAutoNester(void) ;
}