EgtMachKernel :
- aggiunta la gestione delle collisioni tra oggetti e grezzi dinamici in simulazione.
This commit is contained in:
+31
-1
@@ -112,6 +112,8 @@ Machine::LuaInit( const string& sMachineName)
|
||||
m_LuaMgr.RegisterFunction( "EmtSetLastError", Machine::LuaEmtSetLastError) ;
|
||||
// registro la funzione per aggiungere informazioni di warning
|
||||
m_LuaMgr.RegisterFunction( "EmtSetWarning", Machine::LuaEmtSetWarning) ;
|
||||
// registro la funzione per aggiungere un oggetto da verificare per la collisione in simulazione
|
||||
m_LuaMgr.RegisterFunction( "EmtAddCollisionObj", Machine::LuaEmtAddCollisionObj) ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
@@ -1015,6 +1017,34 @@ Machine::LuaEmtSetWarning( lua_State* L)
|
||||
// assegno i dati
|
||||
bool bOk = ( m_pMchLua->m_pMchMgr != nullptr && m_pMchLua->m_pMchMgr->SetWarning( nWarnId, sWarnDesc)) ;
|
||||
// assegno risultato
|
||||
LuaSetParam( L, true) ;
|
||||
LuaSetParam( L, bOk) ;
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
int
|
||||
Machine::LuaEmtAddCollisionObj( lua_State* L)
|
||||
{
|
||||
// 6 parametri : nInd, nFrameId, nType, dPar1, dPar2, dPar3
|
||||
int nInd ;
|
||||
LuaCheckParam( L, 1, nInd)
|
||||
int nFrameId ;
|
||||
LuaCheckParam( L, 2, nFrameId)
|
||||
int nType ;
|
||||
LuaCheckParam( L, 3, nType)
|
||||
double dPar1 ;
|
||||
LuaCheckParam( L, 4, dPar1)
|
||||
double dPar2 ;
|
||||
LuaCheckParam( L, 5, dPar2)
|
||||
double dPar3 ;
|
||||
LuaCheckParam( L, 6, dPar3)
|
||||
LuaClearStack( L) ;
|
||||
// verifico ci sia una macchina attiva
|
||||
if ( m_pMchLua == nullptr)
|
||||
return luaL_error( L, " Unknown Machine") ;
|
||||
// assegno i dati
|
||||
bool bOk = ( m_pMchLua->m_pMchMgr != nullptr && m_pMchLua->m_pMchMgr->SimAddCollisionObj( nInd, nFrameId, nType, dPar1, dPar2, dPar3)) ;
|
||||
// assegno risultato
|
||||
LuaSetParam( L, bOk) ;
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user