EgtExecutor 2.2i2 :

- aggiunta gestione BeamMgr
- aggiunte funzioni ExeInitBeamMgr, ExeBeamCalcSolid, ExeBeamGetSolid, ExeBeamShowSolid.
This commit is contained in:
Dario Sassi
2020-09-02 17:47:38 +00:00
parent 6c1c3c3478
commit 5656595353
9 changed files with 120 additions and 5 deletions
+16
View File
@@ -37,6 +37,7 @@ using namespace std ;
static const char* EEX_SETEEXLOGGER = "SetEExLogger" ; static const char* EEX_SETEEXLOGGER = "SetEExLogger" ;
static const char* EEX_GETEEXVERSION = "GetEExVersion" ; static const char* EEX_GETEEXVERSION = "GetEExVersion" ;
static const char* EEX_SETEEXKEY = "SetEExKey" ; static const char* EEX_SETEEXKEY = "SetEExKey" ;
static const char* EEX_CREATEBEAMMGR = "CreateBeamMgr" ;
static const char* EEX_CREATEIMPORTBTL = "CreateImportBtl" ; static const char* EEX_CREATEIMPORTBTL = "CreateImportBtl" ;
static const char* EEX_CREATEIMPORTCNC = "CreateImportCnc" ; static const char* EEX_CREATEIMPORTCNC = "CreateImportCnc" ;
static const char* EEX_CREATEIMPORTCSF = "CreateImportCsf" ; static const char* EEX_CREATEIMPORTCSF = "CreateImportCsf" ;
@@ -140,6 +141,21 @@ MySetEExKey( const string& sKey)
pFun( sKey) ; pFun( sKey) ;
} }
//-----------------------------------------------------------------------------
IBeamMgr*
MyCreateBeamMgr( void)
{
// verifico caricamento libreria EgtExchange
if ( s_hEEx == nullptr)
return nullptr ;
// recupero funzione creazione oggetto
typedef IBeamMgr* (* PF_CreateBeamMgr) ( void) ;
PF_CreateBeamMgr pFun = (PF_CreateBeamMgr)GetProcAddress( s_hEEx, EEX_CREATEBEAMMGR) ;
if ( pFun == nullptr)
return nullptr ;
return pFun() ;
}
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
IImportBtl* IImportBtl*
MyCreateImportBtl( void) MyCreateImportBtl( void)
+4 -2
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2015-2019 // EgalTech 2015-2020
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : DllGraphics.h Data : 15.09.19 Versione : 2.1i2 // File : DllExchange.h Data : 30.08.20 Versione : 2.2i1
// Contenuto : Dichiarazioni funzioni per libreria opzionale EgtExchange. // Contenuto : Dichiarazioni funzioni per libreria opzionale EgtExchange.
// //
// //
@@ -16,6 +16,7 @@
#include <string> #include <string>
class ILogger ; class ILogger ;
class IBeamMgr ;
class IImportBtl ; class IImportBtl ;
class IImportCnc ; class IImportCnc ;
class IImportCsf ; class IImportCsf ;
@@ -34,6 +35,7 @@ bool IsLoadedExchangeDll( void) ;
void MySetEExLogger( ILogger* pLogger) ; void MySetEExLogger( ILogger* pLogger) ;
void MySetEExKey( const std::string& sKey) ; void MySetEExKey( const std::string& sKey) ;
const char* MyGetEExVersion( void) ; const char* MyGetEExVersion( void) ;
IBeamMgr* MyCreateBeamMgr( void) ;
IImportBtl* MyCreateImportBtl( void) ; IImportBtl* MyCreateImportBtl( void) ;
IImportCnc* MyCreateImportCnc( void) ; IImportCnc* MyCreateImportCnc( void) ;
IImportCsf* MyCreateImportCsf( void) ; IImportCsf* MyCreateImportCsf( void) ;
+71
View File
@@ -0,0 +1,71 @@
//----------------------------------------------------------------------------
// EgalTech 2020-2020
//----------------------------------------------------------------------------
// File : EXE_BeamMgr.cpp Data : 30.08.20 Versione : 2.2i1
// Contenuto : Funzioni Beam Manager per EXE.
//
//
//
// Modifiche : 30.08.20 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
//--------------------------- Include ----------------------------------------
#include "stdafx.h"
#include "EXE.h"
#include "EXE_Macro.h"
#include "DllExchange.h"
#include "/EgtDev/Include/EXeExecutor.h"
#include "/EgtDev/Include/EgtPointerOwner.h"
using namespace std ;
//-----------------------------------------------------------------------------
bool
ExeInitBeamMgr( int nFlag)
{
GseContext* pGseCtx = GetCurrGseContext() ;
VERIFY_CTX_GEOMDB( pGseCtx, false)
// inizializzazione gestore travi
PtrOwner<IBeamMgr> pBeamMgr( MyCreateBeamMgr()) ;
VERIFY_NULL( Get( pBeamMgr), "Error in CreateBeamMgr", false)
bool bOk = pBeamMgr->Init( pGseCtx->m_pGeomDB, nFlag) ;
// assegno il gestore al contesto
pGseCtx->m_pBeamMgr = ( bOk ? Release( pBeamMgr) : nullptr) ;
// log avvio Beam Manager
string sLog = "BeamMgr" ;
sLog += ( bOk ? " started" : " error") ;
LOG_INFO( GetLogger(), sLog.c_str())
return bOk ;
}
//-----------------------------------------------------------------------------
bool
ExeBeamCalcSolid( int nPartId, bool bRecalc)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
// calcolo il solido della trave
return pBeamMgr->CalcSolid( nPartId, bRecalc) ;
}
//-----------------------------------------------------------------------------
int
ExeBeamGetSolid( int nPartId)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
// recupero l'identificativo del solido della trave
return pBeamMgr->GetSolid( nPartId) ;
}
//-----------------------------------------------------------------------------
bool
ExeBeamShowSolid( int nPartId, bool bShow)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
// aggiorno lo stato di visualizzazione della trave (solido e complementari)
return pBeamMgr->ShowSolid( nPartId, bShow) ;
}
+8 -2
View File
@@ -1,7 +1,7 @@
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// EgalTech 2014-2015 // EgalTech 2014-2020
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// File : EXE_Macro Data : 05.05.15 Versione : 1.6e2 // File : EXE_Macro Data : 02.09.20 Versione : 2.2i1
// Contenuto : Macro locali per moduli EXE. // Contenuto : Macro locali per moduli EXE.
// //
// //
@@ -49,3 +49,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#define VERIFY_TSCEXEC( pT, Ret) VERIFY_NULL( pT, "TscExecutor invalid", Ret) #define VERIFY_TSCEXEC( pT, Ret) VERIFY_NULL( pT, "TscExecutor invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_BEAMMGR( pM, Ret) VERIFY_NULL( pM, "BeamMgr invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_CTX_BEAMMGR( pC, Ret) VERIFY_2NULL( pC, pC->m_pBeamMgr, "Context or BeamMgr invalid", Ret)
BIN
View File
Binary file not shown.
+1
View File
@@ -242,6 +242,7 @@ copy $(TargetPath) \EgtProg\Dll64</Command>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="DllNesting.cpp" /> <ClCompile Include="DllNesting.cpp" />
<ClCompile Include="EXE_BeamMgr.cpp" />
<ClCompile Include="EXE_CAvTool.cpp" /> <ClCompile Include="EXE_CAvTool.cpp" />
<ClCompile Include="EXE_CDeObjSolid.cpp" /> <ClCompile Include="EXE_CDeObjSolid.cpp" />
<ClCompile Include="EXE_GdbCreateVol.cpp" /> <ClCompile Include="EXE_GdbCreateVol.cpp" />
+3
View File
@@ -374,6 +374,9 @@
<ClCompile Include="LUA_GdbGet.cpp"> <ClCompile Include="LUA_GdbGet.cpp">
<Filter>File di origine\LUA</Filter> <Filter>File di origine\LUA</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="EXE_BeamMgr.cpp">
<Filter>File di origine\EXE</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="EgtExecutor.rc"> <ResourceCompile Include="EgtExecutor.rc">
+9
View File
@@ -159,6 +159,15 @@ GetCurrMachMgr( void)
return ( s_GseCtx[s_nCurrGseCtx-1].m_pMachMgr) ; return ( s_GseCtx[s_nCurrGseCtx-1].m_pMachMgr) ;
} }
//----------------------------------------------------------------------------
IBeamMgr*
GetCurrBeamMgr( void)
{
if ( s_nCurrGseCtx < 1 || s_nCurrGseCtx > MAX_CTX || ! s_GseOn[s_nCurrGseCtx-1])
return nullptr ;
return ( s_GseCtx[s_nCurrGseCtx-1].m_pBeamMgr) ;
}
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
IEGrScene* IEGrScene*
GetCurrScene( void) GetCurrScene( void)
+8 -1
View File
@@ -17,6 +17,7 @@
#include "/EgtDev/Include/EGrScene.h" #include "/EgtDev/Include/EGrScene.h"
#include "/EgtDev/Include/EGnCmdParser.h" #include "/EgtDev/Include/EGnCmdParser.h"
#include "/EgtDev/Include/EMkMachMgr.h" #include "/EgtDev/Include/EMkMachMgr.h"
#include "/EgtDev/Include/EExBeamMgr.h"
#define NOMINMAX #define NOMINMAX
#include <windows.h> #include <windows.h>
@@ -71,6 +72,7 @@ class GseContext
IGeomDB* m_pGeomDB ; IGeomDB* m_pGeomDB ;
Color m_colDef ; Color m_colDef ;
IMachMgr* m_pMachMgr ; IMachMgr* m_pMachMgr ;
IBeamMgr* m_pBeamMgr ;
HWND m_hWnd ; HWND m_hWnd ;
IEGrScene* m_pScene ; IEGrScene* m_pScene ;
ICmdParser* m_pTscExec ; ICmdParser* m_pTscExec ;
@@ -85,7 +87,7 @@ class GseContext
public : public :
GseContext( void) GseContext( void)
: m_pGeomDB( nullptr), m_colDef( GRAY), m_pMachMgr( nullptr), m_hWnd( nullptr), m_pScene( nullptr), : m_pGeomDB( nullptr), m_colDef( GRAY), m_pMachMgr( nullptr), m_pBeamMgr( nullptr), m_hWnd( nullptr), m_pScene( nullptr),
m_pTscExec( nullptr), m_sFilePath(), m_bEnableModified( true), m_bModified( false), m_pTscExec( nullptr), m_sFilePath(), m_bEnableModified( true), m_bModified( false),
m_nCurrPart( GDB_ID_NULL), m_nCurrLayer( GDB_ID_NULL), m_nObjFilterForSelect(GEO_ZERODIM | GEO_CURVE | GEO_SURF | GEO_VOLUME | GEO_EXTRA), m_nCurrPart( GDB_ID_NULL), m_nCurrLayer( GDB_ID_NULL), m_nObjFilterForSelect(GEO_ZERODIM | GEO_CURVE | GEO_SURF | GEO_VOLUME | GEO_EXTRA),
m_siSel(), m_dsCurr() m_siSel(), m_dsCurr()
@@ -108,6 +110,10 @@ class GseContext
delete m_pMachMgr ; delete m_pMachMgr ;
m_pMachMgr = nullptr ; m_pMachMgr = nullptr ;
} }
if ( m_pBeamMgr != nullptr) {
delete m_pBeamMgr ;
m_pBeamMgr = nullptr ;
}
if ( m_pGeomDB != nullptr) { if ( m_pGeomDB != nullptr) {
delete m_pGeomDB ; delete m_pGeomDB ;
m_pGeomDB = nullptr ; m_pGeomDB = nullptr ;
@@ -138,5 +144,6 @@ int GetIndCurrGseContext( void) ;
GseContext* GetCurrGseContext( void) ; GseContext* GetCurrGseContext( void) ;
IGeomDB* GetCurrGeomDB( void) ; IGeomDB* GetCurrGeomDB( void) ;
IMachMgr* GetCurrMachMgr( void) ; IMachMgr* GetCurrMachMgr( void) ;
IBeamMgr* GetCurrBeamMgr( void) ;
IEGrScene* GetCurrScene( void) ; IEGrScene* GetCurrScene( void) ;
ICmdParser* GetCurrTscExecutor( void) ; ICmdParser* GetCurrTscExecutor( void) ;