432a805f4e
- aggiunte funzioni API e lua per creazione solidi standard - aggiunta funzione API e lua per grezzo - modificata creazione superficie rigata per gestire caso punto con curva.
179 lines
5.7 KiB
C++
179 lines
5.7 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2015
|
|
//----------------------------------------------------------------------------
|
|
// File : API_MachMgr.cpp Data : 23.03.15 Versione : 1.6c8
|
|
// Contenuto : Funzioni Machining Manager per API.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 23.03.15 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
//--------------------------- Include ----------------------------------------
|
|
#include "stdafx.h"
|
|
#include "API.h"
|
|
#include "API_Macro.h"
|
|
#include "DllMachKernel.h"
|
|
#include "/EgtDev/Include/EInAPI.h"
|
|
#include "/EgtDev/Include/EGnStringConverter.h"
|
|
#include "/EgtDev/Include/EgtPointerOwner.h"
|
|
|
|
using namespace std ;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
BOOL
|
|
__stdcall EgtInitMachMgr( void)
|
|
{
|
|
GseContext* pGseCtx = GetCurrGseContext() ;
|
|
VERIFY_CTX( pGseCtx, FALSE)
|
|
// inizializzazione gestore lavorazioni
|
|
PtrOwner<IMachMgr> pMachMgr( MyCreateMachMgr()) ;
|
|
VERIFY_NULL( Get( pMachMgr), "Error in CreateMachMgr", FALSE)
|
|
pMachMgr->Init( pGseCtx->m_pGeomDB) ;
|
|
// assegno il gestore al contesto
|
|
pGseCtx->m_pMachMgr = Release( pMachMgr) ;
|
|
// log avvio Machining Manager
|
|
string sLog = "MachMgr started " ;
|
|
LOG_INFO( GetLogger(), sLog.c_str())
|
|
return TRUE ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
EgtUpdateMachMgr( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, FALSE)
|
|
// aggiornamento gestore lavorazioni
|
|
return pMachMgr->Update() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
EgtInsertMachMgr( int nInsGrp)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 0)
|
|
// sposto le macchinate dal gruppo di inserimento alla base macchinate
|
|
return pMachMgr->Insert( nInsGrp) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
__stdcall EgtGetMachGroupNbr( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 0)
|
|
// recupero il numero di macchinate
|
|
return pMachMgr->GetMachGroupNbr() ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
__stdcall EgtAddMachGroup( const wchar_t* wsName, const wchar_t* wsMachineName)
|
|
{
|
|
return EgtAddMachGroup( wstrztoA( wsName), wstrztoA( wsMachineName)) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
EgtAddMachGroup( const string& sName, const string& sMachineName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, 0)
|
|
// aggiungo la macchinata (gruppo di lavorazione)
|
|
return pMachMgr->AddMachGroup( sName, sMachineName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
BOOL
|
|
__stdcall EgtRemoveMachGroup( int nMGroupInd)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, FALSE)
|
|
// rimuovo la macchinata (gruppo di lavorazione)
|
|
return ( pMachMgr->RemoveMachGroup( nMGroupInd) ? TRUE : FALSE) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
BOOL
|
|
__stdcall EgtGetMachGroupName( int nMGroupInd, wchar_t*& wsName)
|
|
{
|
|
if ( &wsName == nullptr)
|
|
return FALSE ;
|
|
string sName ;
|
|
if ( ! EgtGetMachGroupName( nMGroupInd, sName))
|
|
return FALSE ;
|
|
wsName = _wcsdup( stringtoW( sName)) ;
|
|
return (( wsName == nullptr) ? FALSE : TRUE) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
EgtGetMachGroupName( int nMGroupInd, string& sName)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero il nome della macchinata
|
|
return pMachMgr->GetMachGroupName( nMGroupInd, sName) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
BOOL
|
|
__stdcall EgtGetMachGroupInd( const wchar_t* wsName, int* pnInd)
|
|
{
|
|
return ( EgtGetMachGroupInd( wstrztoA( wsName), *pnInd) ? TRUE : FALSE) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
bool
|
|
EgtGetMachGroupInd( const string& sName, int& nInd)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// recupero l'indice della macchinata
|
|
return pMachMgr->GetMachGroupInd( sName, nInd) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
BOOL
|
|
__stdcall EgtSetCurrMachGroup( int nMGroupInd)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, FALSE)
|
|
// imposto la macchinata corrente
|
|
return ( pMachMgr->SetCurrMachGroup( nMGroupInd) ? TRUE : FALSE) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
BOOL
|
|
__stdcall EgtResetCurrMachGroup( void)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, FALSE)
|
|
// reset macchinata corrente
|
|
return ( pMachMgr->ResetCurrMachGroup() ? TRUE : FALSE) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
BOOL
|
|
__stdcall EgtGetCurrMachGroup( int* pnInd)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, FALSE)
|
|
// reset macchinata corrente
|
|
return ( pMachMgr->GetCurrMachGroup( *pnInd) ? TRUE : FALSE) ;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
int
|
|
EgtAddRawPart( Point3d ptOrig, double dWidth, double dLength, double dHeight, Color cCol)
|
|
{
|
|
IMachMgr* pMachMgr = GetCurrMachMgr() ;
|
|
VERIFY_MACHMGR( pMachMgr, false)
|
|
// inserisco grezzo nella macchinata corrente
|
|
return pMachMgr->AddRawPart( ptOrig, dWidth, dLength, dHeight, cCol) ;
|
|
}
|