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:
+26
-1
@@ -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 ;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user