Files
DarioS 5c7ed7e3c1 EgtExecutor 2.4h1 :
- modifiche per gestione SelInfo di ultimi due oggetti selezionati
- corrette macro di doppia verifica come VERIFY_CTX_GEOMDB
- aggiunta gestione flag RUL_TYPE_ISOPAR_SMOOTH in creazione superficie rigata.
2022-08-17 19:14:00 +02:00

72 lines
3.6 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2014-2022
//----------------------------------------------------------------------------
// File : EXE_Macro Data : 15.08.22 Versione : 2.4h1
// Contenuto : Macro locali per moduli EXE.
//
//
//
// Modifiche : 03.09.14 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
//-----------------------------------------------------------------------------
#ifdef __clang__
#define VERIFY_NULL( pO, Msg, Ret) if ( pO == nullptr) { \
LOG_ERROR( GetLogger(), ( std::string( Msg) + " (" + __func__ + ")").c_str()) \
return Ret ; \
}
#else
#define VERIFY_NULL( pO, Msg, Ret) if ( pO == nullptr) { \
LOG_ERROR( GetLogger(), Msg " (" __FUNCTION__ ")") \
return Ret ; \
}
#endif
//-----------------------------------------------------------------------------
#ifdef __clang__
#define VERIFY_2NULL( pO, pQ, Msg, Ret) if ( pO == nullptr || pQ == nullptr) { \
LOG_ERROR( GetLogger(), ( std::string( Msg) + " (" + __func__ + ")").c_str()) \
return Ret ; \
}
#else
#define VERIFY_2NULL( pO, pQ, Msg, Ret) if ( pO == nullptr || pQ == nullptr) { \
LOG_ERROR( GetLogger(), Msg " (" __FUNCTION__ ")") \
return Ret ; \
}
#endif
//-----------------------------------------------------------------------------
#define VERIFY_CTX( pC, Ret) VERIFY_NULL( pC, "Context invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_GEOMDB( pG, Ret) VERIFY_NULL( pG, "GeomDB invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_CTX_GEOMDB( pC, Ret) VERIFY_2NULL( pC, ( pC != nullptr ? pC->m_pGeomDB : nullptr), "Context or GeomDB invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_MACHMGR( pM, Ret) VERIFY_NULL( pM, "MachMgr invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_CTX_MACHMGR( pC, Ret) VERIFY_2NULL( pC, ( pC != nullptr ? pC->m_pMachMgr : nullptr), "Context or MachMgr invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_SCENE( pS, Ret) VERIFY_NULL( pS, "Scene invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_CTX_SCENE( pC, Ret) VERIFY_2NULL( pC, ( pC != nullptr ? pC->m_pScene : nullptr), "Context or Scene invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_TSCEXEC( pT, Ret) VERIFY_NULL( pT, "TscExecutor invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_BEAMMGR( pM, Ret) VERIFY_NULL( pM, "BeamMgr invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_CTX_BEAMMGR( pC, Ret) VERIFY_2NULL( pC, ( pC != nullptr ? pC->m_pBeamMgr : nullptr), "Context or BeamMgr invalid", Ret)