Files
Include/EMkMachMgr.h
T
Dario Sassi c1822138ce Include :
- aggiornamento interfacce
- librerie passate a versione 18 per chiave di protezione.
2017-08-18 17:28:02 +00:00

279 lines
17 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : EMkMachMgr.h Data : 23.03.15 Versione : 1.6c6
// Contenuto : Dichiarazione della interfaccia IMachMgr.
//
//
//
// Modifiche : 23.03.15 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkGeomDB.h"
#include "/EgtDev/Include/EGkSelection.h"
//----------------------- Macro per import/export ----------------------------
#undef EMK_EXPORT
#if defined( I_AM_EMK) // da definirsi solo nella DLL
#define EMK_EXPORT __declspec( dllexport)
#else
#define EMK_EXPORT __declspec( dllimport)
#endif
//-----------------------------------------------------------------------------
class __declspec( novtable) IMachMgr
{
public :
// Basic
virtual ~IMachMgr( void) {}
virtual bool Init( const std::string& sMachinesDir, IGeomDB* pGeomDB,
int nContextId, const std::string& sLuaLibsDir, const std::string& sLuaLastRequire) = 0 ;
virtual bool Update( void) = 0 ;
virtual bool Insert( int nInsGrp) = 0 ;
virtual int GetLastErrorId( void) = 0 ;
virtual std::string GetLastErrorString( void) = 0 ;
// Machines
virtual bool SetCurrMachine( const std::string& sMachineName) = 0 ;
virtual bool GetCurrMachineName( std::string& sMachineName) const = 0 ;
virtual bool GetCurrMachineDir( std::string& sMachineDir) const = 0 ;
// MachGroups
virtual int GetMachGroupCount( void) const = 0 ;
virtual int GetFirstMachGroup( void) const = 0 ;
virtual int GetNextMachGroup( int nId) const = 0 ;
virtual int GetLastMachGroup( void) const = 0 ;
virtual int GetPrevMachGroup( int nId) const = 0 ;
virtual bool GetMachGroupNewName( std::string& sName) const = 0 ;
virtual int AddMachGroup( const std::string& sName, const std::string& sMachineName) = 0 ;
virtual bool RemoveMachGroup( int nId) = 0 ;
virtual std::string GetMachGroupName( int nId) const = 0 ;
virtual std::string GetMachGroupMachineName( int nId) const = 0 ;
virtual int GetMachGroupId( const std::string& sName) const = 0 ;
virtual bool SetCurrMachGroup( int nId) = 0 ;
virtual bool ResetCurrMachGroup( void) = 0 ;
virtual int GetCurrMachGroup( void) const = 0 ;
// Phases
virtual int AddPhase( void) = 0 ;
virtual bool SetCurrPhase( int nPhase, bool bForced = false) = 0 ;
virtual int GetCurrPhase( void) const = 0 ;
virtual bool RemoveLastPhase( void) = 0 ;
virtual int GetPhaseCount( void) const = 0 ;
// RawParts
virtual int GetRawPartCount( void) const = 0 ;
virtual int GetFirstRawPart( void) const = 0 ;
virtual int GetNextRawPart( int nId) const = 0 ;
virtual bool IsRawPart( int nId) const = 0 ;
virtual int AddRawPart( const Point3d& ptOrig, double dLen, double dWidth, double dHeight, Color cCol) = 0 ;
virtual int AddRawPartWithPart( int nPartId, int nCrvSrfId, double dOverMat, Color cCol) = 0 ;
virtual bool ModifyRawPart( int nRawId, const Point3d& ptOrig, double dLen, double dWidth, double dHeight, Color cCol) = 0 ;
virtual bool ModifyRawPart( int nRawId, int nCrvId, double dOverMat, double dZmin, double dHeight, Color cCol) = 0 ;
virtual bool ModifyRawPartSize( int nRawId, double dLength, double dWidth, double dHeight) = 0 ;
virtual bool ModifyRawPartHeight( int nRawId, double dHeight) = 0 ;
virtual bool KeepRawPart( int nRawId, int nSouPhase) = 0 ;
virtual bool VerifyRawPartPhase( int nRawId, int nPhase) const = 0 ;
virtual bool RemoveRawPartFromCurrPhase( int nRawId) = 0 ;
virtual bool RemoveRawPart( int nRawId) = 0 ;
virtual bool RotateRawPart( int nRawId, const Vector3d& vtAx, double dAngRotDeg) = 0 ;
virtual bool MoveToCornerRawPart( int nRawId, const Point3d& ptCorner, int nFlag) = 0 ;
virtual bool MoveToCenterRawPart( int nRawId, const Point3d& ptCenter, int nFlag) = 0 ;
virtual bool MoveRawPart( int nRawId, const Vector3d& vtMove) = 0 ;
virtual bool GetRawPartCenter( int nRawId, Point3d& ptCen) = 0 ;
virtual bool GetRawPartBBox( int nRawId, BBox3d& b3Raw) = 0 ;
virtual int SplitFlatRawPartWithMachinings( int nRawId, const INTVECTOR& vMchId) = 0 ;
// Parts
virtual int GetPartInRawPartCount( int nRawId) const = 0 ;
virtual int GetFirstPartInRawPart( int nRawId) const = 0 ;
virtual int GetNextPartInRawPart( int nId) const = 0 ;
virtual bool AddPartToRawPart( int nPartId, const Point3d& ptPos, int nRawId) = 0 ;
virtual int GetRawPartFromPart( int nPartId) = 0 ;
virtual bool RemovePartFromRawPart( int nPartId) = 0 ;
virtual bool TranslatePartInRawPart( int nPartId, const Vector3d& vtMove) = 0 ;
virtual bool RotatePartInRawPart( int nPartId, const Vector3d& vtAx, double dAngRotDeg) = 0 ;
// Tables and Fixtures
virtual bool SetTable( const std::string& sTable) = 0 ;
virtual bool GetTable( std::string& sTable) = 0 ;
virtual bool GetTableRef( int nInd, Point3d& ptPos) = 0 ;
virtual bool GetTableArea( int nInd, BBox3d& b3Area) = 0 ;
virtual bool ShowOnlyTable( bool bVal) = 0 ;
virtual int AddFixture( const std::string& sName, const Point3d& ptPos, double dAngRotDeg, double dMov) = 0 ;
virtual bool KeepFixture( int nFxtId, int nSouPhase) = 0 ;
virtual bool RemoveFixture( int nFxtId) = 0 ;
virtual bool VerifyFixture( int nFxtId) const = 0 ;
virtual int GetFirstFixture( void) = 0 ;
virtual int GetNextFixture( int nFxtId) = 0 ;
virtual bool MoveFixture( int nId, const Vector3d& vtMove) = 0 ;
virtual bool RotateFixture( int nId, double dDeltaAngDeg) = 0 ;
virtual bool MoveFixtureMobile( int nId, double dDeltaMov) = 0 ;
// Tools DataBase
virtual bool TdbGetToolNewName( std::string& sName) const = 0 ;
virtual bool TdbAddTool( const std::string& sName, int nType) = 0 ;
virtual bool TdbCopyTool( const std::string& sSource, const std::string& sName) = 0 ;
virtual bool TdbRemoveTool( const std::string& sName) = 0 ;
virtual bool TdbGetFirstTool( int nFamily, std::string& sName, int& nType) const = 0 ;
virtual bool TdbGetNextTool( int nFamily, std::string& sName, int& nType) const = 0 ;
virtual bool TdbGetToolFromUUID( const std::string& sTuuid, std::string& sName) const = 0 ;
virtual bool TdbSetCurrTool( const std::string& sName) = 0 ;
virtual bool TdbSaveCurrTool( void) = 0 ;
virtual bool TdbIsCurrToolModified( void) const = 0 ;
virtual bool TdbSetCurrToolParam( int nType, bool bVal) = 0 ;
virtual bool TdbSetCurrToolParam( int nType, int nVal) = 0 ;
virtual bool TdbSetCurrToolParam( int nType, double dVal) = 0 ;
virtual bool TdbSetCurrToolParam( int nType, const std::string& sVal) = 0 ;
virtual bool TdbGetCurrToolParam( int nType, bool& bVal) const = 0 ;
virtual bool TdbGetCurrToolParam( int nType, int& nVal) const = 0 ;
virtual bool TdbGetCurrToolParam( int nType, double& dVal) const = 0 ;
virtual bool TdbGetCurrToolParam( int nType, std::string& sVal) const = 0 ;
virtual bool TdbReload( void) = 0 ;
virtual bool TdbSave( void) const = 0 ;
virtual bool TdbGetToolDir( std::string& sToolDir) const = 0 ;
virtual bool TdbGetToolHolderDir( std::string& sTHolderDir) const = 0 ;
// Setup
virtual int GetCurrSetup( void) const = 0 ;
virtual bool GetDefaultSetupName( std::string& sName) const = 0 ;
virtual bool ImportSetup( const std::string& sName) = 0 ;
virtual bool VerifyCurrSetup( STRVECTOR& vsErrors) = 0 ;
virtual bool UpdateSetup( void) = 0 ;
// Machinings DataBase
virtual bool MdbGetMachiningNewName( std::string& sName) const = 0 ;
virtual bool MdbAddMachining( const std::string& sName, int nType) = 0 ;
virtual bool MdbCopyMachining( const std::string& sSource, const std::string& sName) = 0 ;
virtual bool MdbRemoveMachining( const std::string& sName) = 0 ;
virtual bool MdbGetFirstMachining( int nType, std::string& sName) const = 0 ;
virtual bool MdbGetNextMachining( int nType, std::string& sName) const = 0 ;
virtual bool MdbGetMachiningFromUUID( const std::string& sMuuid, std::string& sName) const = 0 ;
virtual bool MdbSetCurrMachining( const std::string& sName) = 0 ;
virtual bool MdbSaveCurrMachining( void) = 0 ;
virtual bool MdbIsCurrMachiningModified( void) const = 0 ;
virtual bool MdbSetCurrMachiningParam( int nType, bool bVal) = 0 ;
virtual bool MdbSetCurrMachiningParam( int nType, int nVal) = 0 ;
virtual bool MdbSetCurrMachiningParam( int nType, double dVal) = 0 ;
virtual bool MdbSetCurrMachiningParam( int nType, const std::string& sVal) = 0 ;
virtual bool MdbGetCurrMachiningParam( int nType, bool& bVal) const = 0 ;
virtual bool MdbGetCurrMachiningParam( int nType, int& nVal) const = 0 ;
virtual bool MdbGetCurrMachiningParam( int nType, double& dVal) const = 0 ;
virtual bool MdbGetCurrMachiningParam( int nType, std::string& sVal) const = 0 ;
virtual bool MdbSetGeneralParam( int nType, bool bVal) = 0 ;
virtual bool MdbSetGeneralParam( int nType, int nVal) = 0 ;
virtual bool MdbSetGeneralParam( int nType, double dVal) = 0 ;
virtual bool MdbGetGeneralParam( int nType, bool& bVal) const = 0 ;
virtual bool MdbGetGeneralParam( int nType, int& nVal) const = 0 ;
virtual bool MdbGetGeneralParam( int nType, double& dVal) const = 0 ;
virtual bool MdbReload( void) = 0 ;
virtual bool MdbSave( void) const = 0 ;
virtual bool MdbGetMachiningDir( std::string& sMchDir) const = 0 ;
// Operations : general
virtual int GetOperationCount( void) const = 0 ;
virtual int GetFirstOperation( void) const = 0 ;
virtual int GetNextOperation( int nId) const = 0 ;
virtual int GetLastOperation( void) const = 0 ;
virtual int GetPrevOperation( int nId) const = 0 ;
virtual int GetFirstActiveOperation( void) const = 0 ;
virtual int GetNextActiveOperation( int nId) const = 0 ;
virtual int GetLastActiveOperation( void) const = 0 ;
virtual int GetPrevActiveOperation( int nId) const = 0 ;
virtual int GetOperationType( int nId) const = 0 ;
virtual int GetOperationPhase( int nId) const = 0 ;
virtual std::string GetOperationName( int nId) const = 0 ;
virtual int GetOperationId( const std::string& sName) const = 0 ;
virtual bool IsOperationEmpty( int nId) const = 0 ;
virtual bool RemoveOperation( int nId) = 0 ;
virtual bool RemoveAllPhaseOperations( int nPhase) = 0 ;
virtual bool RemoveAllOperations( void) = 0 ;
virtual bool SetOperationMode( int nId, bool bActive) = 0 ;
virtual bool GetOperationMode( int nId, bool& bActive) const = 0 ;
virtual bool SetAllOperationsMode( bool bExceptFirstDisp, bool bActive) = 0 ;
virtual bool SetOperationStatus( int nId, bool bShow) = 0 ;
virtual bool GetOperationStatus( int nId, bool& bShow) const = 0 ;
virtual bool SetAllOperationsStatus( bool bExceptFirstDisp, bool bShow) = 0 ;
virtual bool ChangeOperationPhase( int nMchId, int nNewPhase) = 0 ;
virtual int GetPhaseLastOperation( int nPhase) const = 0 ;
virtual bool RemoveOperationHome( int nId) = 0 ;
// Operations : dispositions
virtual int GetPhaseDisposition( int nPhase) const = 0 ;
virtual bool DispositionSpecialApply( int nId, bool bRecalc) = 0 ;
virtual bool DispositionSpecialUpdate( int nId) = 0 ;
// Operations : machinings
virtual int AddMachining( const std::string& sName, const std::string& sMachining) = 0 ;
virtual int AddMachining( const std::string& sName, int nMchType, const std::string& sTool) = 0 ;
virtual bool SetCurrMachining( int nId) = 0 ;
virtual bool ResetCurrMachining( void) = 0 ;
virtual int GetCurrMachining( void) const = 0 ;
virtual bool SetMachiningParam( int nType, bool bVal, bool* pbChanged = nullptr) = 0 ;
virtual bool SetMachiningParam( int nType, int nVal, bool* pbChanged = nullptr) = 0 ;
virtual bool SetMachiningParam( int nType, double dVa, bool* pbChanged = nullptr) = 0 ;
virtual bool SetMachiningParam( int nType, const std::string& sVal, bool* pbChanged = nullptr) = 0 ;
virtual bool SetMachiningGeometry( const SELVECTOR& vIds) = 0 ;
virtual bool MachiningPreview( bool bRecalc) = 0 ;
virtual bool ExistsMachiningPreview( void) = 0 ;
virtual bool RemoveMachiningPreview( void) = 0 ;
virtual bool MachiningApply( bool bRecalc) = 0 ;
virtual bool MachiningUpdate( void) = 0 ;
virtual bool GetMachiningParam( int nType, bool& bVal) const = 0 ;
virtual bool GetMachiningParam( int nType, int& dVal) const = 0 ;
virtual bool GetMachiningParam( int nType, double& dVal) const = 0 ;
virtual bool GetMachiningParam( int nType, std::string& sVal) const = 0 ;
virtual bool GetMachiningGeometry( SELVECTOR& vIds) const = 0 ;
virtual bool IsMachiningEmpty( void) const = 0 ;
virtual bool GetMachiningStartPoint( Point3d& ptStart) const = 0 ;
virtual bool GetMachiningEndPoint( Point3d& ptEnd) const = 0 ;
// Simulation
virtual bool SimStart( bool bFirst) = 0 ;
virtual bool SimMove( int& nStatus) = 0 ;
virtual bool SimGetAxisInfoPos( int nI, std::string& sName, std::string& sToken, bool& bLinear, double& dVal) const = 0 ;
virtual bool SimGetToolInfo( std::string& sName, double& dSpeed) const = 0 ;
virtual bool SimGetOperationInfo( std::string& sName, int& nType) const = 0 ;
virtual bool SimGetMoveInfo( int& nGmove, double& dFeed) const = 0 ;
virtual bool SimSetStep( double dStep) = 0 ;
virtual bool SimGoHome( void) = 0 ;
virtual bool SimStop( void) = 0 ;
// Generation
virtual bool Generate( const std::string& sCncFile, const std::string& sInfo) = 0 ;
// Machine Calc
virtual bool SetCalcTable( const std::string& sTable) = 0 ;
virtual bool SetCalcTool( const std::string& sTool, const std::string& sHead, int nExit) = 0 ;
virtual bool SetRotAxisBlock( const std::string& sAxis, double dVal) = 0 ;
virtual bool GetRotAxisBlocked( int nInd, std::string& sAxis, double& dVal) const = 0 ;
virtual bool GetCalcTool( std::string& sTool) const = 0 ;
virtual bool GetCalcAngles( const Vector3d& vtDirT, const Vector3d& vtDirA,
int& nStat, double& dAngA1, double& dAngB1, double& dAngA2, double& dAngB2) const = 0 ;
virtual bool GetCalcPositions( const Point3d& ptP, double dAngA, double dAngB,
int& nStat, double& dX, double& dY, double& dZ) const = 0 ;
virtual bool GetCalcTipFromPositions( double dX, double dY, double dZ, double dAngA, double dAngB,
bool bOverall, bool bBottom, Point3d& ptTip) const = 0 ;
virtual bool GetCalcToolDirFromAngles( double dAngA, double dAngB, Vector3d& vtDir) const = 0 ;
virtual bool GetCalcAuxDirFromAngles( double dAngA, double dAngB, Vector3d& vtDir) const = 0 ;
virtual bool GetNearestAngleInStroke( int nInd, double dAngRef, double& dAng) const = 0 ;
virtual bool LimitAngleToStroke( int nInd, double& dAng) const = 0 ;
virtual bool VerifyOutstroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat) const = 0 ;
virtual std::string GetOutstrokeInfo( bool bMM = true) const = 0 ;
// Machine
virtual int GetBaseId( const std::string& sBase) const = 0 ;
virtual int GetTableId( const std::string& sTable) const = 0 ;
virtual int GetAxisId( const std::string& sAxis) const = 0 ;
virtual int GetHeadId( const std::string& sHead) const = 0 ;
virtual int GetHeadExitCount( const std::string& sHead) const = 0 ;
virtual bool GetAxisToken( const std::string& sAxis, std::string& sToken) const = 0 ;
virtual bool GetAxisType( const std::string& sAxis, bool& bLinear) const = 0 ;
virtual bool SetAxisPos( const std::string& sAxis, double dVal) = 0 ;
virtual bool GetAxisPos( const std::string& sAxis, double& dVal) const = 0 ;
virtual bool GetAxisHomePos( const std::string& sAxis, double& dHomeVal) const = 0 ;
virtual bool ResetAxisPos( const std::string& sAxis) = 0 ;
virtual bool ResetAllAxesPos( void) = 0 ;
virtual bool GetAllHeadsNames( STRVECTOR& vNames) const = 0 ;
virtual bool GetAllTablesNames( STRVECTOR& vNames) const = 0 ;
virtual bool LoadTool( const std::string& sHead, int nExit, const std::string& sTool) = 0 ;
virtual bool GetLoadedTool( const std::string& sHead, int nExit, std::string& sTool) const = 0 ;
virtual bool UnloadTool( const std::string& sHead, int nExit) = 0 ;
virtual bool ResetHeadSet( const std::string& sHead) = 0 ;
virtual bool SetMachineLook( int nFlag) = 0 ;
virtual int GetMachineLook( void) const = 0 ;
} ;
//-----------------------------------------------------------------------------
extern "C" {
EMK_EXPORT IMachMgr* CreateMachMgr(void) ;
}