EgtMachKernel 2.2d3 :

- modifiche per consentire richiami incrociati tra funzioni lua di macchina senza distruggere riferimento a macchina e variabili globali.
This commit is contained in:
Dario Sassi
2020-04-19 16:30:05 +00:00
parent c80825110d
commit c841813162
6 changed files with 110 additions and 39 deletions
+26 -1
View File
@@ -263,6 +263,31 @@ Machine::LuaEmtAddArcMove( lua_State* L)
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtGetMoveType( lua_State* L)
{
// 1 parametri : nClEntId
int nClEntId ;
LuaCheckParam( L, 1, nClEntId)
LuaClearStack( L) ;
// verifico ci sia una macchina attiva valida
if ( m_pMchLua == nullptr ||
m_pMchLua->m_pMchMgr == nullptr || m_pMchLua->m_pGeomDB == nullptr)
return luaL_error( L, " Unknown Machine") ;
// recupero l'oggetto CamData
const CamData* pCamData = GetCamData( m_pMchLua->m_pGeomDB->GetUserObj( nClEntId)) ;
bool bOk = ( pCamData != nullptr) ;
if ( bOk) {
int nMove = pCamData->GetMoveType() ;
LuaSetParam( L, nMove) ;
}
else
LuaSetParam( L) ;
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtGetAxesPos( lua_State* L)
@@ -287,4 +312,4 @@ Machine::LuaEmtGetAxesPos( lua_State* L)
LuaSetParam( L) ;
return 1 ;
}
}