b9c86ea4ef
- sviluppata gestione grezzi e pezzi.
106 lines
4.7 KiB
C++
106 lines
4.7 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2015
|
|
//----------------------------------------------------------------------------
|
|
// File : MachMgr.h Data : 23.03.15 Versione : 1.6c6
|
|
// Contenuto : Dichiarazione della classe MachMgr.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 23.03.15 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "MachConst.h"
|
|
#include "/EgtDev/Include/EMkMachMgr.h"
|
|
#include "/EgtDev/Include/EgtNumCollection.h"
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
struct MachGrp {
|
|
int MGeoGroupId ;
|
|
int SetupGroupId ;
|
|
int RawGroupId ;
|
|
int OperGroupId ;
|
|
MachGrp( void)
|
|
: MGeoGroupId( GDB_ID_NULL), SetupGroupId( GDB_ID_NULL),
|
|
RawGroupId( GDB_ID_NULL), OperGroupId( GDB_ID_NULL) {}
|
|
MachGrp( int MgId, int GgId, int SgId, int RgId, int OgId)
|
|
: MGeoGroupId( GgId), SetupGroupId( SgId),
|
|
RawGroupId( RgId), OperGroupId( OgId) {}
|
|
} ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
class MachMgr : public IMachMgr
|
|
{
|
|
public :
|
|
// General
|
|
virtual bool Init( IGeomDB* pGeomDB) ;
|
|
virtual bool Update( void) ;
|
|
virtual bool Insert( int nInsGrp) ;
|
|
// MachGroups
|
|
virtual int GetMachGroupNbr( void) const ;
|
|
virtual int GetFirstMachGroup( void) const ;
|
|
virtual int GetNextMachGroup( int nId) const ;
|
|
virtual bool GetMachGroupNewName( std::string& sName) const ;
|
|
virtual int AddMachGroup( const std::string& sName, const std::string& sMachineName) ;
|
|
virtual bool RemoveMachGroup( int nId) ;
|
|
virtual std::string GetMachGroupName( int nId) const ;
|
|
virtual int GetMachGroupId( const std::string& sName) const ;
|
|
virtual bool SetCurrMachGroup( int nId) ;
|
|
virtual bool ResetCurrMachGroup( void) ;
|
|
virtual int GetCurrMachGroup( void) const ;
|
|
// RawParts & Parts
|
|
virtual int AddRawPart( const Point3d& ptOrig, double dWidth, double dLen, double dHeight, Color cCol) ;
|
|
virtual int AddRawPartWithPart( int nPartId, int nCrvSrfId, double dOverMat, Color cCol) ;
|
|
virtual bool AddPartToRawPart( int nPartId, const Point3d& ptPos, int nRawId) ;
|
|
virtual bool ModifyRawPartHeight( int nRawId, double dHeight) ;
|
|
virtual bool RemoveRawPart( int nRawId) ;
|
|
virtual bool TranslateRawPart( int nRawId, const Vector3d& vtMove) ;
|
|
virtual bool RotateRawPart( int nRawId, const Vector3d& vtAx, double dAngRotDeg) ;
|
|
virtual bool MoveToCornerRawPart( int nRawId, const Point3d& ptCorner, int nFlag) ;
|
|
virtual bool MoveToCenterRawPart( int nRawId, const Point3d& ptCenter, int nFlag) ;
|
|
virtual bool RemovePartFromRawPart( int nPartId) ;
|
|
virtual bool TranslatePartInRawPart( int nPartId, const Vector3d& vtMove) ;
|
|
virtual bool RotatePartInRawPart( int nPartId, const Vector3d& vtAx, double dAngRotDeg) ;
|
|
|
|
public :
|
|
MachMgr( void) ;
|
|
|
|
private :
|
|
inline bool IsMachBase( int nId) const ;
|
|
int FindMachBase( int nGroupId) const ;
|
|
bool VerifyMachBase( void) const ;
|
|
bool CreateMachBase( void) ;
|
|
bool VerifyMachGroup( int nId, MachGrp& mgData) const ;
|
|
int GetCurrMGeoId( void) const
|
|
{ return ( m_pGeomDB == nullptr) ? GDB_ID_NULL :
|
|
(( m_nCurrMGrpId == GDB_ID_NULL) ? GDB_ID_NULL : m_cCurrMGrp.MGeoGroupId) ; }
|
|
int GetCurrSetupId( void) const
|
|
{ return ( m_pGeomDB == nullptr) ? GDB_ID_NULL :
|
|
(( m_nCurrMGrpId == GDB_ID_NULL) ? GDB_ID_NULL : m_cCurrMGrp.SetupGroupId) ; }
|
|
int GetCurrRawGroupId( void) const
|
|
{ return ( m_pGeomDB == nullptr) ? GDB_ID_NULL :
|
|
(( m_nCurrMGrpId == GDB_ID_NULL) ? GDB_ID_NULL : m_cCurrMGrp.RawGroupId) ; }
|
|
int GetCurrOperId( void) const
|
|
{ return ( m_pGeomDB == nullptr) ? GDB_ID_NULL :
|
|
(( m_nCurrMGrpId == GDB_ID_NULL) ? GDB_ID_NULL : m_cCurrMGrp.OperGroupId) ; }
|
|
int AddRawPart( int nCrvId, double dOverMat, double dZmin, double dHeight, Color cCol) ;
|
|
int AddRawPart( int nSurfId, Color cCol) ;
|
|
bool VerifyRawPart( int nRawId) const ;
|
|
bool SetRawPartCenter( int nRawId) ;
|
|
bool ResetRawPartCenter( int nRawId) ;
|
|
bool GetRawPartCenter( int nRawId, Point3d& ptCen) ;
|
|
bool SwapParts( bool bToRawPart) ;
|
|
bool SwapRawPartParts( int nRawId, bool bToRawPart) ;
|
|
bool ShowRootParts( bool bShow) ;
|
|
|
|
private :
|
|
IGeomDB* m_pGeomDB ;
|
|
int m_nMachBaseId ;
|
|
int m_nCurrMGrpId ;
|
|
MachGrp m_cCurrMGrp ;
|
|
} ;
|