966885645e
- primo rilascio (esecutore e lua da EgtInterface).
302 lines
8.9 KiB
C++
302 lines
8.9 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2015
|
|
//----------------------------------------------------------------------------
|
|
// File : LUA_GdbPartLayers.cpp Data : 29.01.15 Versione : 1.6a7
|
|
// Contenuto : Funzioni di gestione pezzi e layer relativi per LUA.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 29.01.15 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
//--------------------------- Include ----------------------------------------
|
|
#include "stdafx.h"
|
|
#include "LUA.h"
|
|
#include "/EgtDev/Include/EXeExecutor.h"
|
|
#include "/EgtDev/Include/EGkGdbConst.h"
|
|
#include "/EgtDev/Include/EGkLuaAux.h"
|
|
|
|
using namespace std ;
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaIsPart( lua_State* L)
|
|
{
|
|
// 1 parametro : nIdPart
|
|
int nIdPart ;
|
|
LuaCheckParam( L, 1, nIdPart)
|
|
LuaClearStack( L) ;
|
|
// verifico sia un pezzo
|
|
bool bOk = ExeIsPart( nIdPart) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaIsLayer( lua_State* L)
|
|
{
|
|
// 1 parametro : nIdLayer
|
|
int nIdLayer ;
|
|
LuaCheckParam( L, 1, nIdLayer)
|
|
LuaClearStack( L) ;
|
|
// verifico sia un layer
|
|
bool bOk = ExeIsLayer( nIdLayer) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetCurrPart( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// recupero il pezzo corrente
|
|
int nId = ExeGetCurrPart() ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, nId) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetCurrLayer( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// recupero il layer corrente
|
|
int nId = ExeGetCurrLayer() ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, nId) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSetCurrPartLayer( lua_State* L)
|
|
{
|
|
// 2 parametri : nPartId, nLayerId
|
|
int nPartId ;
|
|
LuaCheckParam( L, 1, nPartId)
|
|
int nLayerId ;
|
|
LuaCheckParam( L, 2, nLayerId)
|
|
LuaClearStack( L) ;
|
|
// imposto pezzo e layer correnti
|
|
bool bOk = ExeSetCurrPartLayer( nPartId, nLayerId) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaResetCurrPartLayer( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// cerco primo pezzo e layer validi per essere dichiarati correnti
|
|
bool bOk = ExeResetCurrPartLayer() ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetPartNbr( lua_State* L)
|
|
{
|
|
// nessuno o 1 parametro : [bOnlyVisible]
|
|
bool bOnlyVisible = false ;
|
|
LuaGetParam( L, 1, bOnlyVisible) ;
|
|
LuaClearStack( L) ;
|
|
// recupero numero pezzi
|
|
int nNbr = ExeGetPartNbr( bOnlyVisible) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, nNbr) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetFirstPart( lua_State* L)
|
|
{
|
|
// nessuno o 1 parametro : [bOnlyVisible]
|
|
bool bOnlyVisible = false ;
|
|
LuaGetParam( L, 1, bOnlyVisible) ;
|
|
LuaClearStack( L) ;
|
|
// cerco primo pezzo
|
|
int nId = ExeGetFirstPart( bOnlyVisible) ;
|
|
// restituisco il risultato
|
|
if ( nId != GDB_ID_NULL)
|
|
LuaSetReturn( L, nId) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetNextPart( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : nPartId [, bOnlyVisible]
|
|
int nPartId ;
|
|
LuaCheckParam( L, 1, nPartId)
|
|
bool bOnlyVisible = false ;
|
|
LuaGetParam( L, 2, bOnlyVisible) ;
|
|
LuaClearStack( L) ;
|
|
// cerco pezzo successivo
|
|
int nId = ExeGetNextPart( nPartId, bOnlyVisible) ;
|
|
// restituisco il risultato
|
|
if ( nId != GDB_ID_NULL)
|
|
LuaSetReturn( L, nId) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetFirstLayer( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : nPartId [, bOnlyVisible]
|
|
int nPartId ;
|
|
LuaCheckParam( L, 1, nPartId)
|
|
bool bOnlyVisible = false ;
|
|
LuaGetParam( L, 2, bOnlyVisible) ;
|
|
LuaClearStack( L) ;
|
|
// cerco il primo layer del pezzo
|
|
int nId = ExeGetFirstLayer( nPartId, bOnlyVisible) ;
|
|
// restituisco il risultato
|
|
if ( nId != GDB_ID_NULL)
|
|
LuaSetReturn( L, nId) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetNextLayer( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : nLayerId [, bOnlyVisible]
|
|
int nLayerId ;
|
|
LuaCheckParam( L, 1, nLayerId)
|
|
bool bOnlyVisible = false ;
|
|
LuaGetParam( L, 2, bOnlyVisible) ;
|
|
LuaClearStack( L) ;
|
|
// cerco il prossimo layer (ovviamente dello stesso pezzo)
|
|
int nId = ExeGetNextLayer( nLayerId, bOnlyVisible) ;
|
|
// restituisco il risultato
|
|
if ( nId != GDB_ID_NULL)
|
|
LuaSetReturn( L, nId) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSelectPartObjs( lua_State* L)
|
|
{
|
|
// 1 parametro : PartId
|
|
int nPartId ;
|
|
LuaCheckParam( L, 1, nPartId)
|
|
LuaClearStack( L) ;
|
|
// eseguo la selezione
|
|
bool bOk = ExeSelectPartObjs( nPartId) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaDeselectPartObjs( lua_State* L)
|
|
{
|
|
// 1 parametro : PartId
|
|
int nPartId ;
|
|
LuaCheckParam( L, 1, nPartId)
|
|
LuaClearStack( L) ;
|
|
// eseguo la selezione
|
|
bool bOk = ExeDeselectPartObjs( nPartId) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSelectLayerObjs( lua_State* L)
|
|
{
|
|
// 1 parametro : LayerId
|
|
int nLayerId ;
|
|
LuaCheckParam( L, 1, nLayerId)
|
|
LuaClearStack( L) ;
|
|
// eseguo la selezione
|
|
bool bOk = ExeSelectLayerObjs( nLayerId) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaDeselectLayerObjs( lua_State* L)
|
|
{
|
|
// 1 parametro : LayerId
|
|
int nLayerId ;
|
|
LuaCheckParam( L, 1, nLayerId)
|
|
LuaClearStack( L) ;
|
|
// eseguo la selezione
|
|
bool bOk = ExeDeselectLayerObjs( nLayerId) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSelectPathObjs( lua_State* L)
|
|
{
|
|
// 2 parametri : nId, bHaltOnFork
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
bool bHaltOnFork ;
|
|
LuaCheckParam( L, 2, bHaltOnFork)
|
|
LuaClearStack( L) ;
|
|
// eseguo la selezione
|
|
bool bOk = ExeSelectPathObjs( nId, bHaltOnFork) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
bool
|
|
LuaInstallGdbPartLayer( LuaMgr& luaMgr)
|
|
{
|
|
bool bOk = ( &luaMgr != nullptr) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetCurrPart", LuaGetCurrPart) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtIsPart", LuaIsPart) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtIsLayer", LuaIsLayer) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetCurrLayer", LuaGetCurrLayer) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSetCurrPartLayer", LuaSetCurrPartLayer) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtResetCurrPartLayer", LuaResetCurrPartLayer) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetPartNbr", LuaGetPartNbr) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetFirstPart", LuaGetFirstPart) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetNextPart", LuaGetNextPart) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetFirstLayer", LuaGetFirstLayer) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetNextLayer", LuaGetNextLayer) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSelectPartObjs", LuaSelectPartObjs) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtDeselectPartObjs", LuaDeselectPartObjs) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSelectLayerObjs", LuaSelectLayerObjs) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtDeselectLayerObjs", LuaDeselectLayerObjs) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSelectPathObjs", LuaSelectPathObjs) ;
|
|
return bOk ;
|
|
}
|