//---------------------------------------------------------------------------- // EgalTech 2015-2019 //---------------------------------------------------------------------------- // File : EExImportBtl.h Data : 07.07.19 Versione : 2.1g3 // Contenuto : Dichiarazione della interfaccia IImportBtl. // // // // Modifiche : 22.08.15 DS Creazione modulo. // 21.01.19 DS Aggiunto EIBFLAG_TS3_POS. // 07.07.19 DS Aggiunto EIBFLAG_SORT. // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EgkGeomDB.h" #include //----------------------- Macro per import/export ---------------------------- #undef EEK_EXPORT #if defined( I_AM_EEX) // da definirsi solo nella DLL #define EEX_EXPORT __declspec( dllexport) #else #define EEX_EXPORT __declspec( dllimport) #endif //----------------------------------------------------------------------------- class __declspec( novtable) IImportBtl { public : virtual ~IImportBtl( void) {} virtual bool Import( const std::string& sFile, IGeomDB* pGDB, int nFlag = 0) = 0 ; } ; //----------------------------------------------------------------------------- extern "C" { EEX_EXPORT IImportBtl* CreateImportBtl( void) ; } //----------------------------------------------------------------------------- enum EImBtlFlag { EIBFLAG_NONE = 0x0000, EIBFLAG_FLAT_POS = 0x0001, // pezzi di piatto (prevale sul successivo) EIBFLAG_VERT_POS = 0x0002, // pezzi in verticale EIBFLAG_SPECIAL_TRIM = 0x0004, // trim speciale per pareti EIBFLAG_TS3_POS = 0x0008, // pezzi come in TechnoEssetre (prevale sui precedenti POS) EIBFLAG_SORT = 0x0010, // ordina i pezzi nel DB in base al nome EIBFLAG_USEUATTR = 0x0020} ; // utilizza i parametri utente U per modificare la geometria delle features