From a4525dd05929251b9d5af2f29983926f8f88f98d Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Wed, 28 Oct 2015 12:07:22 +0000 Subject: [PATCH] EgtMachKernel : - aggiunte RemoveOperation e RemoveAllOperations. --- MachMgr.h | 26 +++++++++++++++----------- MachMgrOperations.cpp | 30 +++++++++++++++++++++++++++++- ToolData.cpp | 1 - ToolData.h | 2 +- 4 files changed, 45 insertions(+), 14 deletions(-) diff --git a/MachMgr.h b/MachMgr.h index 67b49f9..a95aa7b 100644 --- a/MachMgr.h +++ b/MachMgr.h @@ -127,28 +127,30 @@ class MachMgr : public IMachMgr virtual bool TdbGetToolParam( const std::string& sName, int nType, double& dVal) const ; virtual bool TdbGetToolParam( const std::string& sName, int nType, std::string& sVal) const ; virtual bool TdbSave( void) const ; - // Operations - virtual int AddMachining( const std::string& sName, const std::string& sMachining) ; - virtual bool SetMachiningParam( int nType, bool bVal) ; - virtual bool SetMachiningParam( int nType, int nVal) ; - virtual bool SetMachiningParam( int nType, double dVal) ; - virtual bool SetMachiningParam( int nType, const std::string& sVal) ; - virtual bool SetMachiningGeometry( const SELVECTOR& vIds) ; - virtual bool Apply( void) ; - // Da verificare bene + // Operations : general virtual int GetOperationCount( void) const ; virtual int GetFirstOperation( void) const ; virtual int GetNextOperation( int nId) const ; virtual int GetLastOperation( void) const ; virtual int GetPrevOperation( int nId) const ; virtual int GetOperationType( int nId) const ; - virtual bool GetOperationNewName( std::string& sName) const ; virtual std::string GetOperationName( int nId) const ; virtual int GetOperationId( const std::string& sName) const ; + virtual bool RemoveOperation( int nId) ; + virtual bool RemoveAllOperations( bool bExceptFirstDisp) ; + // Operations : dispositions + virtual int AddDisposition( const std::string& sName) ; + // Operations : machinings + virtual int AddMachining( const std::string& sName, const std::string& sMachining) ; virtual bool SetCurrMachining( int nId) ; virtual bool ResetCurrMachining( void) ; virtual int GetCurrMachining( void) const ; - virtual int AddDisposition( const std::string& sName) ; + virtual bool SetMachiningParam( int nType, bool bVal) ; + virtual bool SetMachiningParam( int nType, int nVal) ; + virtual bool SetMachiningParam( int nType, double dVal) ; + virtual bool SetMachiningParam( int nType, const std::string& sVal) ; + virtual bool SetMachiningGeometry( const SELVECTOR& vIds) ; + virtual bool MachiningApply( void) ; // Simulation virtual bool SimStart( void) ; virtual bool SimMove( void) ; @@ -198,6 +200,8 @@ class MachMgr : public IMachMgr // Tool DataBase ToolData* TdbGetToolData( const std::string& sName) ; const ToolData* TdbGetToolData( const std::string& sName) const ; + // operations + bool GetOperationNewName( std::string& sName) const ; private : // Basic diff --git a/MachMgrOperations.cpp b/MachMgrOperations.cpp index 19cf066..7f65774 100644 --- a/MachMgrOperations.cpp +++ b/MachMgrOperations.cpp @@ -195,6 +195,34 @@ MachMgr::GetOperationId( const string& sName) const return GDB_ID_NULL ; } +//---------------------------------------------------------------------------- +bool +MachMgr::RemoveOperation( int nId) +{ + // verifico sia una Operazione + if ( GetOperationType( nId) == OPER_NULL) + return false ; + // eseguo la rimozione + m_pGeomDB->Erase( nId) ; + return true ; +} + +//---------------------------------------------------------------------------- +bool +MachMgr::RemoveAllOperations( bool bExceptFirstDisp) +{ + // indice terminazione ciclo + int nStopId = ( bExceptFirstDisp ? GetFirstOperation() : GDB_ID_NULL) ; + // rimuovo tutte le operazioni a partire dalla fine + int nOperId = GetLastOperation() ; + while ( nOperId != nStopId) { + RemoveOperation( nOperId) ; + nOperId = GetLastOperation() ; + } + + return true ; +} + //---------------------------------------------------------------------------- // Dispositions //---------------------------------------------------------------------------- @@ -401,7 +429,7 @@ MachMgr::SetMachiningGeometry( const SELVECTOR& vIds) //---------------------------------------------------------------------------- bool -MachMgr::Apply( void) +MachMgr::MachiningApply( void) { // recupero la lavorazione corrente int nCurrMchId = GetCurrMachining() ; diff --git a/ToolData.cpp b/ToolData.cpp index 80c76cb..28d1653 100644 --- a/ToolData.cpp +++ b/ToolData.cpp @@ -143,7 +143,6 @@ ToolData::FromString( const string& sString, int& nKey) break ; case TK_HEA : m_sHead = sVal ; - bOk = ! m_sHead.empty() ; break ; case TK_L : bOk = ::FromString( sVal, m_dLen) ; diff --git a/ToolData.h b/ToolData.h index 17580d8..07c39c7 100644 --- a/ToolData.h +++ b/ToolData.h @@ -47,7 +47,7 @@ struct ToolData std::string m_sUserNotes ; // note dell'utente ToolData( void) - : m_Uuid(), m_sHead( "H1"), m_nExit( 1), m_nCorr(0), m_nType(0), m_dMaxSpeed(0), m_dMaxMat(0), + : m_Uuid(), m_nExit( 0), m_nCorr(0), m_nType(0), m_dMaxSpeed(0), m_dMaxMat(0), m_dDiam( 0), m_dTDiam( 0), m_dLen( 0), m_dTLen( 0), m_dThick( 0), m_dCornRad( 0), m_dSideAng( 0), m_dSpeed( 0), m_dFeed(0), m_dStartFeed( 0), m_dEndFeed( 0), m_dTipFeed( 0), m_dOffsR( 0), m_dOffsL( 0) {}