EgtExecutor 2.2i2 :
- aggiunta gestione BeamMgr - aggiunte funzioni ExeInitBeamMgr, ExeBeamCalcSolid, ExeBeamGetSolid, ExeBeamShowSolid.
This commit is contained in:
@@ -37,6 +37,7 @@ using namespace std ;
|
||||
static const char* EEX_SETEEXLOGGER = "SetEExLogger" ;
|
||||
static const char* EEX_GETEEXVERSION = "GetEExVersion" ;
|
||||
static const char* EEX_SETEEXKEY = "SetEExKey" ;
|
||||
static const char* EEX_CREATEBEAMMGR = "CreateBeamMgr" ;
|
||||
static const char* EEX_CREATEIMPORTBTL = "CreateImportBtl" ;
|
||||
static const char* EEX_CREATEIMPORTCNC = "CreateImportCnc" ;
|
||||
static const char* EEX_CREATEIMPORTCSF = "CreateImportCsf" ;
|
||||
@@ -140,6 +141,21 @@ MySetEExKey( const string& 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*
|
||||
MyCreateImportBtl( void)
|
||||
|
||||
+4
-2
@@ -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.
|
||||
//
|
||||
//
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <string>
|
||||
|
||||
class ILogger ;
|
||||
class IBeamMgr ;
|
||||
class IImportBtl ;
|
||||
class IImportCnc ;
|
||||
class IImportCsf ;
|
||||
@@ -34,6 +35,7 @@ bool IsLoadedExchangeDll( void) ;
|
||||
void MySetEExLogger( ILogger* pLogger) ;
|
||||
void MySetEExKey( const std::string& sKey) ;
|
||||
const char* MyGetEExVersion( void) ;
|
||||
IBeamMgr* MyCreateBeamMgr( void) ;
|
||||
IImportBtl* MyCreateImportBtl( void) ;
|
||||
IImportCnc* MyCreateImportCnc( void) ;
|
||||
IImportCsf* MyCreateImportCsf( void) ;
|
||||
|
||||
@@ -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
@@ -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.
|
||||
//
|
||||
//
|
||||
@@ -49,3 +49,9 @@
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
#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)
|
||||
|
||||
Binary file not shown.
@@ -242,6 +242,7 @@ copy $(TargetPath) \EgtProg\Dll64</Command>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="DllNesting.cpp" />
|
||||
<ClCompile Include="EXE_BeamMgr.cpp" />
|
||||
<ClCompile Include="EXE_CAvTool.cpp" />
|
||||
<ClCompile Include="EXE_CDeObjSolid.cpp" />
|
||||
<ClCompile Include="EXE_GdbCreateVol.cpp" />
|
||||
|
||||
@@ -374,6 +374,9 @@
|
||||
<ClCompile Include="LUA_GdbGet.cpp">
|
||||
<Filter>File di origine\LUA</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="EXE_BeamMgr.cpp">
|
||||
<Filter>File di origine\EXE</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="EgtExecutor.rc">
|
||||
|
||||
@@ -159,6 +159,15 @@ GetCurrMachMgr( void)
|
||||
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*
|
||||
GetCurrScene( void)
|
||||
|
||||
+8
-1
@@ -17,6 +17,7 @@
|
||||
#include "/EgtDev/Include/EGrScene.h"
|
||||
#include "/EgtDev/Include/EGnCmdParser.h"
|
||||
#include "/EgtDev/Include/EMkMachMgr.h"
|
||||
#include "/EgtDev/Include/EExBeamMgr.h"
|
||||
#define NOMINMAX
|
||||
#include <windows.h>
|
||||
|
||||
@@ -71,6 +72,7 @@ class GseContext
|
||||
IGeomDB* m_pGeomDB ;
|
||||
Color m_colDef ;
|
||||
IMachMgr* m_pMachMgr ;
|
||||
IBeamMgr* m_pBeamMgr ;
|
||||
HWND m_hWnd ;
|
||||
IEGrScene* m_pScene ;
|
||||
ICmdParser* m_pTscExec ;
|
||||
@@ -85,7 +87,7 @@ class GseContext
|
||||
|
||||
public :
|
||||
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_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()
|
||||
@@ -108,6 +110,10 @@ class GseContext
|
||||
delete m_pMachMgr ;
|
||||
m_pMachMgr = nullptr ;
|
||||
}
|
||||
if ( m_pBeamMgr != nullptr) {
|
||||
delete m_pBeamMgr ;
|
||||
m_pBeamMgr = nullptr ;
|
||||
}
|
||||
if ( m_pGeomDB != nullptr) {
|
||||
delete m_pGeomDB ;
|
||||
m_pGeomDB = nullptr ;
|
||||
@@ -138,5 +144,6 @@ int GetIndCurrGseContext( void) ;
|
||||
GseContext* GetCurrGseContext( void) ;
|
||||
IGeomDB* GetCurrGeomDB( void) ;
|
||||
IMachMgr* GetCurrMachMgr( void) ;
|
||||
IBeamMgr* GetCurrBeamMgr( void) ;
|
||||
IEGrScene* GetCurrScene( void) ;
|
||||
ICmdParser* GetCurrTscExecutor( void) ;
|
||||
|
||||
Reference in New Issue
Block a user