//---------------------------------------------------------------------------- // EgalTech 2020-2022 //---------------------------------------------------------------------------- // File : EExBeamMgr.h Data : 06.07.22 Versione : 2.4g2 // Contenuto : Dichiarazione della interfaccia IBeamMgr. // // // // Modifiche : 30.08.20 DS Creazione modulo. // 01.06.21 DS Aggiunti parametri vsUAtt per Process. // 06.07.22 DS Aggiunta GetSideData. // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkGeomDB.h" #include "/EgtDev/Include/EExBeamConst.h" #include //----------------------- Macro per import/export ---------------------------- #undef EEK_EXPORT #if defined( I_AM_EEX) // da definirsi solo nella DLL #define EEX_EXPORT __declspec( dllexport) #else #define EEX_EXPORT __declspec( dllimport) #endif //----------------------------------------------------------------------------- class __declspec( novtable) IBeamMgr { public : virtual ~IBeamMgr( void) {} virtual bool Init( IGeomDB* pGDB, int nFlag = 0) = 0 ; virtual bool SetFlag( int nFlag) = 0 ; virtual int CreatePart( void) = 0 ; virtual bool SetPart( int nPartId) = 0 ; virtual bool ErasePart( void) = 0 ; virtual bool UpdatePart( void) = 0 ; virtual bool SetPartProdNbr( int nProdNbr) = 0 ; virtual bool SetPartName( const std::string& sName) = 0 ; virtual bool SetPartCount( int nCount) = 0 ; virtual bool SetPartBox( double dLength, double dHeight, double dWidth, bool bUpdate = true) = 0 ; virtual bool GetSideData( int nSide, Frame3d& frRef, double& dLength, double& dWidth, double& dHeight) = 0 ; virtual bool ShowFacesName( bool bShow) = 0 ; virtual bool ShowLoadingSide( bool bShow, bool bFromLeft) = 0 ; virtual int AddProcess( int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId, const Frame3d& frRef, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt, int nCrvId, int nCrv2Id, bool bUpdate = true) = 0 ; virtual int ModifyProcess( int nGeomId, int nGroup, int nProc, int nSide, const std::string& sDes, int nProcId, const Frame3d& frRef, const DBLVECTOR& vdPar, const std::string& sPar, const STRVECTOR& vsUAtt, int nCrvId, int nCrv2Id, bool bUpdate = true) = 0 ; virtual bool EraseProcess( int nGeomId, bool bUpdate = true) = 0 ; virtual bool EnableProcess( int nGeomId, bool bEnable, bool bUpdate = true) = 0 ; virtual bool CalcSolid( int nPartId, bool bRecalc = false) = 0 ; virtual int GetSolid( int nPartId) const = 0 ; virtual bool ShowSolid( int nPartId, bool bShow) = 0 ; virtual bool GetBuildingIsOn( void) const = 0 ; virtual bool ShowBuilding( bool bShow) = 0 ; } ; //----------------------------------------------------------------------------- extern "C" { EEX_EXPORT IBeamMgr* CreateBeamMgr( void) ; }