diff --git a/MachMgr.h b/MachMgr.h index 804ed9d..4e5258b 100644 --- a/MachMgr.h +++ b/MachMgr.h @@ -316,6 +316,8 @@ class MachMgr : public IMachMgr bool IsMachiningEmpty( int nEmptyType = 0) const override ; bool GetMachiningStartPoint( Point3d& ptStart) const override ; bool GetMachiningEndPoint( Point3d& ptEnd) const override ; + bool GetMachiningStartAxes( bool bSkipClimb, DBLVECTOR& vAxVal) const override ; + bool GetMachiningEndAxes( bool bSkipRise, DBLVECTOR& vAxVal) const override ; // CL Entities Interrogations bool GetClEntMove( int nEntId, int& nMove) const override ; bool GetClEntFlag( int nEntId, int& nFlag, int& nFlag2) const override ; diff --git a/MachMgrOperations.cpp b/MachMgrOperations.cpp index ecfa662..8b5524f 100644 --- a/MachMgrOperations.cpp +++ b/MachMgrOperations.cpp @@ -1328,3 +1328,35 @@ MachMgr::GetMachiningEndPoint( Point3d& ptEnd) const // restituisco il punto finale dell'ultimo percorso di lavorazione return pMch->GetEndPoint( ptEnd) ; } + +//---------------------------------------------------------------------------- +bool +MachMgr::GetMachiningStartAxes( bool bSkipClimb, DBLVECTOR& vAxVal) const +{ + // recupero la lavorazione corrente + int nCurrMchId = GetCurrMachining() ; + if ( nCurrMchId == GDB_ID_NULL) + return false ; + // ne recupero il gestore + Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ; + if ( pMch == nullptr) + return false ; + // recupero i valori + return pMch->GetInitialAxesValues( bSkipClimb, vAxVal) ; +} + +//---------------------------------------------------------------------------- +bool +MachMgr::GetMachiningEndAxes( bool bSkipRise, DBLVECTOR& vAxVal) const +{ + // recupero la lavorazione corrente + int nCurrMchId = GetCurrMachining() ; + if ( nCurrMchId == GDB_ID_NULL) + return false ; + // ne recupero il gestore + Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ; + if ( pMch == nullptr) + return false ; + // recupero i valori + return pMch->GetFinalAxesValues( bSkipRise, vAxVal) ; +} diff --git a/Operation.h b/Operation.h index ece8d93..4b7a19b 100644 --- a/Operation.h +++ b/Operation.h @@ -53,6 +53,10 @@ class Operation : public IUserObj virtual bool IsEmpty( int nEmptyType = 0) const = 0 ; virtual bool UpdateStatus( int nModif) = 0 ; + public : + bool GetInitialAxesValues( bool bSkipClimb, DBLVECTOR& vAxVal) const ; + bool GetFinalAxesValues( bool bSkipRise, DBLVECTOR& vAxVal) const ; + protected : virtual const std::string& GetToolName( void) const = 0 ; virtual const std::string& GetHeadName( void) const = 0 ; @@ -198,9 +202,7 @@ class Operation : public IUserObj typedef std::vector POSVECTOR ; private : - bool GetInitialAxesValues( bool bSkipClimb, DBLVECTOR& vAxVal) const ; bool GetClPathInitialAxesValues( int nClPathId, bool bSkipClimb, DBLVECTOR& vAxVal) const ; - bool GetFinalAxesValues( bool bSkipRise, DBLVECTOR& vAxVal) const ; bool GetClPathFinalAxesValues( int nClPathId, bool bSkipRise, DBLVECTOR& vAxVal) const ; bool GetInitialToolDir( bool bSkipClimb, Vector3d& vtTool) const ; bool GetClPathInitialToolDir( int nClPathId, bool bSkipClimb, Vector3d& vtTool) const ;