Files
EgtInterface/API_Macro.h
T
Dario Sassi e4d952bf32 EgtInterface 1.5j6 :
- aggiunte numerose funzionalità in API.
2014-10-30 08:51:03 +00:00

49 lines
2.3 KiB
C

//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : API_Macro Data : 03.09.14 Versione : 1.5i1
// Contenuto : Macro locali per moduli API.
//
//
//
// Modifiche : 03.09.14 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
//-----------------------------------------------------------------------------
#define VERIFY_NULL( pO, Msg, Ret) if ( pO == nullptr) { \
LOG_ERROR( GetLogger(), Msg " (" __FUNCTION__ ")") \
return Ret ; \
}
//-----------------------------------------------------------------------------
#define VERIFY_2NULL( pO, pQ, Msg, Ret) if ( pO == nullptr || pQ == nullptr) { \
LOG_ERROR( GetLogger(), Msg " (" __FUNCTION__ ")") \
return Ret ; \
}
//-----------------------------------------------------------------------------
#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->m_pGeomDB, "Context or GeomDB invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_SCENE( pS, Ret) VERIFY_NULL( pS, "Scene invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_CTX_SCENE( pC, Ret) VERIFY_2NULL( pC, pC->m_pScene, "Context or Scene invalid", Ret)
//-----------------------------------------------------------------------------
#define VERIFY_TSCEXEC( pT, Ret) VERIFY_NULL( pT, "TscExecutor invalid", Ret)
//-----------------------------------------------------------------------------
#define VEC_FROM_3D( D, S) { (D)[0] = (S).x ; (D)[1] = (S).y ; (D)[2] = (S).z ; }