EgtMachKernel 1.6r7 :

- possibilità di collegare e scollegare fixtures da gruppi macchina (come i grezzi)
- aggiunto richiamo funzione script OnSetHead.
This commit is contained in:
Dario Sassi
2016-05-24 14:38:47 +00:00
parent 061e7a26a3
commit a53dfcd676
10 changed files with 257 additions and 16 deletions
+57
View File
@@ -85,6 +85,9 @@ Machine::LuaInit( const string& sMachineName)
m_LuaMgr.RegisterFunction( "EmtLinkRawPartToGroup", Machine::LuaEmtLinkRawPartToGroup) ;
m_LuaMgr.RegisterFunction( "EmtUnlinkRawPartFromGroup", Machine::LuaEmtUnlinkRawPartFromGroup) ;
m_LuaMgr.RegisterFunction( "EmtUnlinkAllRawPartsFromGroups", Machine::LuaEmtUnlinkAllRawPartsFromGroups) ;
m_LuaMgr.RegisterFunction( "EmtLinkFixtureToGroup", Machine::LuaEmtLinkFixtureToGroup) ;
m_LuaMgr.RegisterFunction( "EmtUnlinkFixtureFromGroup", Machine::LuaEmtUnlinkFixtureFromGroup) ;
m_LuaMgr.RegisterFunction( "EmtUnlinkAllFixturesFromGroups", Machine::LuaEmtUnlinkAllFixturesFromGroups) ;
// registro le funzioni di definizione entità CL per lua
m_LuaMgr.RegisterFunction( "EmtAddRapidStart", Machine::LuaEmtAddRapidStart) ;
m_LuaMgr.RegisterFunction( "EmtAddRapidMove", Machine::LuaEmtAddRapidMove) ;
@@ -715,6 +718,60 @@ Machine::LuaEmtUnlinkAllRawPartsFromGroups( lua_State* L)
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtLinkFixtureToGroup( lua_State* L)
{
// 2 parametri : nFxtId, sGroupName
int nFxtId ;
LuaCheckParam( L, 1, nFxtId)
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 bloccaggio al gruppo
bool bOk = m_pMchLua->LinkFixtureToGroup( nFxtId, sGroupName) ;
// assegno risultato
LuaSetParam( L, bOk) ;
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtUnlinkFixtureFromGroup( lua_State* L)
{
// 1 parametro : nFxtId
int nFxtId ;
LuaCheckParam( L, 1, nFxtId)
LuaClearStack( L) ;
// verifico ci sia una macchina attiva
if ( m_pMchLua == nullptr)
return luaL_error( L, " Unknown Machine") ;
// riporto il bloccaggio nel gruppo delle fixtures
bool bOk = m_pMchLua->UnlinkFixtureFromGroup( nFxtId) ;
// assegno risultato
LuaSetParam( L, bOk) ;
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtUnlinkAllFixturesFromGroups( 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 bloccaggi linkati nel gruppo delle fixtures
bool bOk = m_pMchLua->UnlinkAllFixturesFromGroups() ;
// assegno risultato
LuaSetParam( L, bOk) ;
return 1 ;
}
//----------------------------------------------------------------------------
int
Machine::LuaEmtWrite( lua_State* L)