diff --git a/EExBeamConst.h b/EExBeamConst.h new file mode 100644 index 0000000..d800e4b --- /dev/null +++ b/EExBeamConst.h @@ -0,0 +1,23 @@ +//---------------------------------------------------------------------------- +// EgalTech 2020-2020 +//---------------------------------------------------------------------------- +// File : EExBeamConst.h Data : 30.08.20 Versione : 2.2i1 +// Contenuto : Dichiarazione delle costanti per travi e pareti con BTL. +// +// +// +// Modifiche : 30.08.20 DS Creazione modulo. +// +// +//---------------------------------------------------------------------------- + +#pragma once + +//----------------------------------------------------------------------------- +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 diff --git a/EExBeamMgr.h b/EExBeamMgr.h new file mode 100644 index 0000000..e0a3247 --- /dev/null +++ b/EExBeamMgr.h @@ -0,0 +1,44 @@ +//---------------------------------------------------------------------------- +// EgalTech 2020-2020 +//---------------------------------------------------------------------------- +// File : EExBeamMgr.h Data : 30.08.20 Versione : 2.2i1 +// Contenuto : Dichiarazione della interfaccia IBeamMgr. +// +// +// +// Modifiche : 30.08.20 DS Creazione modulo. +// +// +//---------------------------------------------------------------------------- + +#pragma once + +#include "/EgtDev/Include/EgkGeomDB.h" +#include "/EgtDev/Include/EExBeamConst.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) IBeamMgr +{ + public : + virtual ~IBeamMgr( void) {} + + virtual bool Init( IGeomDB* pGDB, int nFlag = 0) = 0 ; + virtual bool CalcSolid( int nPartId, bool bRecalc = false) = 0 ; + virtual int GetSolid( int nPartId) = 0 ; + virtual bool ShowSolid( int nPartId, bool bShow) = 0 ; + +} ; + +//----------------------------------------------------------------------------- +extern "C" { + EEX_EXPORT IBeamMgr* CreateBeamMgr( void) ; +} diff --git a/EExImportBtl.h b/EExImportBtl.h index 97552f0..e1ce2c2 100644 --- a/EExImportBtl.h +++ b/EExImportBtl.h @@ -14,7 +14,8 @@ #pragma once -#include "/EgtDev/Include/EgkGeomDB.h" +#include "/EgtDev/Include/EGkGeomDB.h" +#include "/EgtDev/Include/EExBeamConst.h" #include //----------------------- Macro per import/export ---------------------------- @@ -37,12 +38,3 @@ class __declspec( novtable) IImportBtl 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 diff --git a/EInAPI.h b/EInAPI.h index 147b1bf..74a0163 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -109,6 +109,12 @@ EIN_EXPORT BOOL __stdcall EgtExportDxf( int nId, const wchar_t* wsFilePath) ; EIN_EXPORT BOOL __stdcall EgtExportStl( int nId, const wchar_t* wsFilePath) ; EIN_EXPORT BOOL __stdcall EgtExportSvg( int nId, const wchar_t* wsFilePath) ; +// BeamManager +EIN_EXPORT BOOL __stdcall EgtInitBeamMgr( int nFlag) ; +EIN_EXPORT BOOL __stdcall EgtBeamCalcSolid( int nPartId, BOOL bRecalc) ; +EIN_EXPORT int __stdcall EgtBeamGetSolid( int nPartId) ; +EIN_EXPORT BOOL __stdcall EgtBeamShowSolid( int nPartId, BOOL bShow) ; + // Tsc Executor EIN_EXPORT BOOL __stdcall EgtInitTscExec( void) ; EIN_EXPORT BOOL __stdcall EgtTscExecFile( const wchar_t* wsFilePath) ; @@ -310,6 +316,7 @@ EIN_EXPORT int __stdcall EgtCopy( int nSouId, int nRefId, int nSonBeforeAfter) EIN_EXPORT int __stdcall EgtCopyGlob( int nSouId, int nRefId, int nSonBeforeAfter) ; EIN_EXPORT BOOL __stdcall EgtRelocate( int nSouId, int nRefId, int nSonBeforeAfter) ; EIN_EXPORT BOOL __stdcall EgtRelocateGlob( int nSouId, int nRefId, int nSonBeforeAfter) ; +EIN_EXPORT BOOL __stdcall EgtGroupSwap( int nId1, int nId2, BOOL bSwapRef, BOOL bMark) ; EIN_EXPORT BOOL __stdcall EgtChangeId( int nId, int nNewId) ; EIN_EXPORT BOOL __stdcall EgtErase( int nId) ; EIN_EXPORT BOOL __stdcall EgtEmptyGroup( int nId) ; @@ -454,9 +461,11 @@ EIN_EXPORT BOOL __stdcall EgtSurfFrSubtract( int nId1, int nId2) ; EIN_EXPORT BOOL __stdcall EgtSurfFrIntersect( int nId1, int nId2) ; EIN_EXPORT BOOL __stdcall EgtSurfFrOffset( int nId, double dDist, int nType) ; EIN_EXPORT BOOL __stdcall EgtSurfTmRemoveFacet( int nId, int nFacet) ; -EIN_EXPORT BOOL __stdcall EgtSurfTmAdd( int nId1, int nId2, bool bTwoColors) ; -EIN_EXPORT BOOL __stdcall EgtSurfTmSubtract( int nId1, int nId2, bool bTwoColors) ; -EIN_EXPORT BOOL __stdcall EgtSurfTmIntersect( int nId1, int nId2, bool bTwoColors) ; +EIN_EXPORT BOOL __stdcall EgtCutSurfTmPlane( int nId, const double ptOn[3], const double vtN[3], BOOL bSaveOnEq, int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtCutSurfTmClosedCurve( int nSurfId, int nCurveId, BOOL bSaveOnEq) ; +EIN_EXPORT BOOL __stdcall EgtSurfTmAdd( int nId1, int nId2, BOOL bTwoColors) ; +EIN_EXPORT BOOL __stdcall EgtSurfTmSubtract( int nId1, int nId2, BOOL bTwoColors) ; +EIN_EXPORT BOOL __stdcall EgtSurfTmIntersect( int nId1, int nId2, BOOL bTwoColors) ; EIN_EXPORT BOOL __stdcall EgtSurfTmResetTwoColors( int nId) ; // GeomDb Get diff --git a/EXeExecutor.h b/EXeExecutor.h index 423016b..1af6926 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -115,6 +115,12 @@ EXE_EXPORT bool ExeExportDxf( int nId, const std::string& sFilePath) ; EXE_EXPORT bool ExeExportStl( int nId, const std::string& sFilePath) ; EXE_EXPORT bool ExeExportSvg( int nId, const std::string& sFilePath, int nFilter = 393) ; +// BeamManager +EXE_EXPORT bool ExeInitBeamMgr( int nFlag) ; +EXE_EXPORT bool ExeBeamCalcSolid( int nPartId, bool bRecalc = false) ; +EXE_EXPORT int ExeBeamGetSolid( int nPartId) ; +EXE_EXPORT bool ExeBeamShowSolid( int nPartId, bool bShow) ; + // Tsc Executor EXE_EXPORT bool ExeInitTscExec( void) ; EXE_EXPORT bool ExeTscExecFile( const std::string& sFilePath) ;