685966ac11
- aggiunta prima gestione semplice della macchina.
84 lines
2.6 KiB
C++
84 lines
2.6 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2015
|
|
//----------------------------------------------------------------------------
|
|
// File : Machine.cpp Data : 06.05.15 Versione : 1.6e3
|
|
// Contenuto : Implementazione gestione macchina.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 06.05.15 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
//--------------------------- Include ----------------------------------------
|
|
#include "stdafx.h"
|
|
#include "Machine.h"
|
|
#include "/EgtDev/Include/EGkGeomDB.h"
|
|
#include "/EgtDev/Include/EGnStringUtils.h"
|
|
#include "/EgtDev/Include/EGnFileUtils.h"
|
|
|
|
using namespace std ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
Machine::Machine( void)
|
|
{
|
|
m_nContextId = 0 ;
|
|
m_pGeomDB = nullptr ;
|
|
m_nGroupId = GDB_ID_NULL ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
Machine::~Machine( void)
|
|
{
|
|
Clear() ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
void
|
|
Machine::Clear( void)
|
|
{
|
|
// cancellazione eventuale gruppo geometrico associato
|
|
if ( m_pGeomDB != nullptr && m_nGroupId != GDB_ID_NULL)
|
|
m_pGeomDB->Erase( m_nGroupId) ;
|
|
// reset membri
|
|
m_nContextId = 0 ;
|
|
m_pGeomDB = nullptr ;
|
|
m_nGroupId = GDB_ID_NULL ;
|
|
m_sName.clear() ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
Machine::Init( int nContextId, IGeomDB* pGeomDB, int nMachAuxId,
|
|
const string& sMachineDir, const string& sMachineName)
|
|
{
|
|
// pulisco
|
|
Clear() ;
|
|
// verifico ambiente geometrico
|
|
if ( nContextId == 0 || pGeomDB == nullptr)
|
|
return false ;
|
|
// verifico esistenza macchina
|
|
string sMachineMde = sMachineDir + "\\" + sMachineName + ".Mde" ;
|
|
if ( ! ExistsFile( sMachineMde))
|
|
return false ;
|
|
// creo il gruppo per la macchina
|
|
int nId = pGeomDB->InsertGroup( GDB_ID_NULL, nMachAuxId, GDB_LAST_SON, GLOB_FRM) ;
|
|
if ( nId == GDB_ID_NULL)
|
|
return false ;
|
|
// imposto nome del gruppo
|
|
pGeomDB->SetName( nId, sMachineName) ;
|
|
// inserisco la geometria della macchina !!! PROVVISORIO !!!
|
|
string sMachineNge = sMachineDir + "\\" + sMachineName + ".Nge" ;
|
|
if ( ! pGeomDB->Load( sMachineNge, nId)) {
|
|
pGeomDB->Erase( nId) ;
|
|
return false ;
|
|
}
|
|
// salvo i dati
|
|
m_nContextId = nContextId ;
|
|
m_pGeomDB = pGeomDB ;
|
|
m_nGroupId = nId ;
|
|
m_sMachineDir = sMachineDir ;
|
|
m_sName = sMachineName ;
|
|
return true ;
|
|
} |