//---------------------------------------------------------------------------- // EgalTech 2015-2015 //---------------------------------------------------------------------------- // File : MachiningData.h Data : 04.06.15 Versione : 1.6f1 // Contenuto : Dichiarazione della struct MachiningData e // delle costanti associate. // // // // Modifiche : 04.06.15 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "ToolsMgr.h" #include "MachiningConst.h" #include "/EgtDEv/Include/EmkMachiningConst.h" #include "/EgtDev/Include/EGnEgtUUID.h" #include "/EgtDev/Include/EgtStringBase.h" #include //---------------------------------------------------------------------------- struct MachiningData { EgtUUID m_Uuid ; // identificativo universale della lavorazione std::string m_sName ; // nome della lavorazione MachiningData( void) : m_Uuid() {} virtual ~MachiningData( void) {} virtual MachiningData* Clone( void) const = 0 ; virtual bool CopyFrom( const MachiningData* pMdata) = 0 ; virtual bool SameAs( const MachiningData* pMdata) const = 0 ; virtual int GetType( void) const = 0 ; virtual int GetSize( void) const = 0 ; virtual std::string GetTitle( void) const = 0 ; virtual bool FromString( const std::string& sString, int& nKey) = 0 ; virtual std::string ToString( int nInd) const = 0 ; virtual bool IsOptional( int nKey) const = 0 ; virtual bool SetParam( int nType, bool bVal) = 0 ; virtual bool SetParam( int nType, int nVal) = 0 ; virtual bool SetParam( int nType, double dVal) = 0 ; virtual bool SetParam( int nType, const std::string& sVal) = 0 ; virtual bool ResetTool( void) = 0 ; virtual bool GetParam( int nType, bool& bVal) const = 0 ; virtual bool GetParam( int nType, int& nVal) const = 0 ; virtual bool GetParam( int nType, double& dVal) const = 0 ; virtual bool GetParam( int nType, std::string& sVal) const = 0 ; virtual bool GetTool( const ToolsMgr* pToolsMgr, const ToolData*& pTdata) const = 0 ; virtual bool VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const = 0 ; } ; //---------------------------------------------------------------------------- inline bool SameMachining( const MachiningData* pM1, const MachiningData* pM2) { // devono esistere ed essere dello stesso tipo if ( pM1 == nullptr || pM2 == nullptr || pM1->GetType() != pM2->GetType()) return false ; // eseguo confronto return pM1->SameAs( pM2) ; }