EgtMachKernel :

- aggiunte funzioni lua di macchina EmtLinkPartToGroup, EmtUnlinkPartFromGroup e EmtUnlinkAllPartsFromGroups.
This commit is contained in:
Dario Sassi
2017-04-28 11:03:16 +00:00
parent 3660ddbf5a
commit 8903b225a8
5 changed files with 150 additions and 2 deletions
+57
View File
@@ -92,6 +92,9 @@ Machine::LuaInit( const string& sMachineName)
m_LuaMgr.RegisterFunction( "EmtLinkFixtureToGroup", Machine::LuaEmtLinkFixtureToGroup) ;
m_LuaMgr.RegisterFunction( "EmtUnlinkFixtureFromGroup", Machine::LuaEmtUnlinkFixtureFromGroup) ;
m_LuaMgr.RegisterFunction( "EmtUnlinkAllFixturesFromGroups", Machine::LuaEmtUnlinkAllFixturesFromGroups) ;
m_LuaMgr.RegisterFunction( "EmtLinkPartToGroup", Machine::LuaEmtLinkPartToGroup) ;
m_LuaMgr.RegisterFunction( "EmtUnlinkPartFromGroup", Machine::LuaEmtUnlinkPartFromGroup) ;
m_LuaMgr.RegisterFunction( "EmtUnlinkAllPartsFromGroups", Machine::LuaEmtUnlinkAllPartsFromGroups) ;
// registro le funzioni di definizione entità CL per lua
m_LuaMgr.RegisterFunction( "EmtAddRapidStart", Machine::LuaEmtAddRapidStart) ;
m_LuaMgr.RegisterFunction( "EmtAddRapidMove", Machine::LuaEmtAddRapidMove) ;
@@ -844,6 +847,60 @@ Machine::LuaEmtUnlinkAllFixturesFromGroups( lua_State* L)
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtLinkPartToGroup( lua_State* L)
{
// 2 parametri : nPartId, sGroupName
int nPartId ;
LuaCheckParam( L, 1, nPartId)
string sGroupName ;
LuaCheckParam( L, 2, sGroupName)
LuaClearStack( L) ;
// verifico ci sia una macchina attiva
if ( m_pMchLua == nullptr)
return luaL_error( L, " Unknown Machine") ;
// aggancio il pezzo al gruppo
bool bOk = m_pMchLua->LinkPartToGroup( nPartId, sGroupName) ;
// assegno risultato
LuaSetParam( L, bOk) ;
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtUnlinkPartFromGroup( lua_State* L)
{
// 1 parametro : nRawId
int nPartId ;
LuaCheckParam( L, 1, nPartId)
LuaClearStack( L) ;
// verifico ci sia una macchina attiva
if ( m_pMchLua == nullptr)
return luaL_error( L, " Unknown Machine") ;
// riporto il pezzo nel suo grezzo
bool bOk = m_pMchLua->UnlinkPartFromGroup( nPartId) ;
// assegno risultato
LuaSetParam( L, bOk) ;
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtUnlinkAllPartsFromGroups( lua_State* L)
{
// nessun parametro
LuaClearStack( L) ;
// verifico ci sia una macchina attiva
if ( m_pMchLua == nullptr)
return luaL_error( L, " Unknown Machine") ;
// riporto tutti i pezzi linkati nel loro grezzo
bool bOk = m_pMchLua->UnlinkAllPartsFromGroups() ;
// assegno risultato
LuaSetParam( L, bOk) ;
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtWrite( lua_State* L)