Files
EgtMachKernel/Drilling.cpp
T
Dario Sassi 3076dccb4b EgtMachKernel 1.6e7 :
- introdotto uso ObjUser per gruppi di macchina
- prima versione prototipo delle forature
- migliorie al calolo angoli e posizioni macchina.
2015-05-26 06:49:55 +00:00

146 lines
4.7 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : Drilling.cpp Data : 21.05.15 Versione : 1.6e7
// Contenuto : Implementazione gestione forature.
//
//
//
// Modifiche : 21.05.15 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
//--------------------------- Include ----------------------------------------
#include "stdafx.h"
#include "MachMgr.h"
#include "DllMain.h"
#include "Drilling.h"
#include "/EgtDev/Include/EGkObjUserFactory.h"
#include "/EgtDev/Include/EGnStringKeyVal.h"
using namespace std ;
//----------------------------------------------------------------------------
OBJUSER_REGISTER( "EMkDrilling", Drilling) ;
//----------------------------------------------------------------------------
const string&
Drilling::GetClassName( void) const
{
return OBJUSER_GETNAME( Drilling) ;
}
//----------------------------------------------------------------------------
Drilling*
Drilling::Clone( void) const
{
// alloco oggetto
Drilling* pDri = new(nothrow) Drilling ;
// eseguo copia dei dati
if ( pDri != nullptr) {
try { pDri->m_nOwnerId = GDB_ID_NULL ;
pDri->m_Params = m_Params ;
pDri->m_TParams = m_TParams ;
}
catch( ...) {
delete pDri ;
return nullptr ;
}
}
// ritorno l'oggetto
return pDri ;
}
//----------------------------------------------------------------------------
bool
Drilling::Dump( string& sOut, const char* szNewLine) const
{
sOut += GetClassName() + szNewLine ;
sOut += DRI_IDS + EQUAL + ToString( m_Params.m_vId) + szNewLine ;
sOut += DRI_INV + EQUAL + ToString( m_Params.m_bInvert) + szNewLine ;
sOut += DRI_SPS + EQUAL + ToString( m_Params.m_dStartPos) + szNewLine ;
sOut += DRI_SSL + EQUAL + ToString( m_Params.m_dStartSlowLen) + szNewLine ;
sOut += DRI_ESL + EQUAL + ToString( m_Params.m_dEndSlowLen) + szNewLine ;
sOut += DRI_TAL + EQUAL + ToString( m_Params.m_dThroughAddLen) + szNewLine ;
sOut += DRI_STP + EQUAL + ToString( m_Params.m_dStep) + szNewLine ;
sOut += DRI_RPS + EQUAL + ToString( m_Params.m_dReturnPos) + szNewLine ;
return true ;
}
//----------------------------------------------------------------------------
bool
Drilling::Save( STRVECTOR& vString) const
{
try {
vString.insert( vString.begin(), 8, "") ;
if ( ! SetVal( DRI_IDS, m_Params.m_vId, vString[0]) ||
! SetVal( DRI_INV, m_Params.m_bInvert, vString[1]) ||
! SetVal( DRI_SPS, m_Params.m_dStartPos, vString[2]) ||
! SetVal( DRI_SSL, m_Params.m_dStartSlowLen, vString[3]) ||
! SetVal( DRI_ESL, m_Params.m_dEndSlowLen, vString[4]) ||
! SetVal( DRI_TAL, m_Params.m_dThroughAddLen, vString[5]) ||
! SetVal( DRI_STP, m_Params.m_dStep, vString[6]) ||
! SetVal( DRI_RPS, m_Params.m_dReturnPos, vString[7]))
return false ;
}
catch( ...) { return false ;}
return true ;
}
//----------------------------------------------------------------------------
bool
Drilling::Load( const STRVECTOR& vString)
{
if ( vString.size() < 8)
return false ;
if ( ! GetVal( vString[0], DRI_IDS, m_Params.m_vId) ||
! GetVal( vString[1], DRI_INV, m_Params.m_bInvert) ||
! GetVal( vString[2], DRI_SPS, m_Params.m_dStartPos) ||
! GetVal( vString[3], DRI_SSL, m_Params.m_dStartSlowLen) ||
! GetVal( vString[4], DRI_ESL, m_Params.m_dEndSlowLen) ||
! GetVal( vString[5], DRI_TAL, m_Params.m_dThroughAddLen) ||
! GetVal( vString[6], DRI_STP, m_Params.m_dStep) ||
! GetVal( vString[7], DRI_RPS, m_Params.m_dReturnPos))
return false ;
return true ;
}
//----------------------------------------------------------------------------
bool
Drilling::SetOwner( int nId)
{
m_nOwnerId = nId ;
return true ;
}
//----------------------------------------------------------------------------
int
Drilling::GetOwner( void) const
{
return m_nOwnerId ;
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
Drilling::Drilling( void)
{
m_nOwnerId = GDB_ID_NULL ;
m_Params.m_bInvert = false ;
m_Params.m_dStartPos = 5 ;
m_Params.m_dStartSlowLen = 0 ;
m_Params.m_dEndSlowLen = 0 ;
m_Params.m_dThroughAddLen = 2 ;
m_Params.m_dStep = 0 ;
m_Params.m_dReturnPos= 0 ;
}
//----------------------------------------------------------------------------
bool
Drilling::Add( const string& sName)
{
return true ;
}