EgtExecutor 1.6g4 :
- aggiunta EraseEmptyParts a EXE e LUA - possibilità di registrare i SetGlobVar per LUA.
This commit is contained in:
@@ -252,6 +252,46 @@ ExeGetNextLayer( int nId, bool bOnlyVisible)
|
||||
return ExeVerifyOrNext( pGeomDB, nLayerId, bOnlyVisible) ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
bool
|
||||
ExeEraseEmptyParts( void)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, false)
|
||||
// recupero il primo pezzo
|
||||
int nPartId = ExeVerifyOrNext( pGeomDB, pGeomDB->GetFirstGroupInGroup( GDB_ID_ROOT), false) ;
|
||||
// ciclo sui pezzi
|
||||
while ( nPartId != GDB_ID_NULL) {
|
||||
// verifico se il pezzo non contiene alcuna entità geometrica
|
||||
bool bFound = false ;
|
||||
// ciclo sui layer dei pezzi
|
||||
int nLayerId = ExeVerifyOrNext( pGeomDB, pGeomDB->GetFirstGroupInGroup( nPartId), false) ;
|
||||
while ( nLayerId != GDB_ID_NULL) {
|
||||
// verifico se il layer contiene qualcosa
|
||||
if ( pGeomDB->GetGroupObjs( nLayerId) > 0) {
|
||||
bFound = true ;
|
||||
break ;
|
||||
}
|
||||
// passo al layer successivo
|
||||
nLayerId = ExeVerifyOrNext( pGeomDB, pGeomDB->GetNextGroup( nLayerId), false) ;
|
||||
}
|
||||
// salvo Id pezzo corrente
|
||||
int nOldId = nPartId ;
|
||||
// passo al pezzo successivo
|
||||
nPartId = ExeVerifyOrNext( pGeomDB, pGeomDB->GetNextGroup( nPartId), false) ;
|
||||
// se corrente da cancelare, procedo
|
||||
if ( ! bFound)
|
||||
pGeomDB->Erase( nOldId) ;
|
||||
}
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtEraseEmptyParts()"
|
||||
" -- Ok=" + ToString( true) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
bool
|
||||
ExeSelectPartObjs( int nPartId)
|
||||
|
||||
+36
-4
@@ -26,7 +26,15 @@ bool
|
||||
ExeLuaSetGlobBoolVar( const string& sVar, bool bVal)
|
||||
{
|
||||
// assegno il valore della variabile
|
||||
return LuaSetGlobVar( sVar, bVal) ;
|
||||
bool bOk = LuaSetGlobVar( sVar, bVal) ;
|
||||
// se richiesto, salvo il comando Lua
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = sVar + "=" + ( bVal ? "true" : "false") +
|
||||
" -- Ok=" + ToString( bOk) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco il risultato
|
||||
return bOk ;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -34,7 +42,15 @@ bool
|
||||
ExeLuaSetGlobIntVar( const string& sVar, int nVal)
|
||||
{
|
||||
// assegno il valore della variabile
|
||||
return LuaSetGlobVar( sVar, nVal) ;
|
||||
bool bOk = LuaSetGlobVar( sVar, nVal) ;
|
||||
// se richiesto, salvo il comando Lua
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = sVar + "=" + ToString( nVal) +
|
||||
" -- Ok=" + ToString( bOk) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco il risultato
|
||||
return bOk ;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -42,7 +58,15 @@ bool
|
||||
ExeLuaSetGlobNumVar( const string& sVar, double dVal)
|
||||
{
|
||||
// assegno il valore della variabile
|
||||
return LuaSetGlobVar( sVar, dVal) ;
|
||||
bool bOk = LuaSetGlobVar( sVar, dVal) ;
|
||||
// se richiesto, salvo il comando Lua
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = sVar + "=" + ToString( dVal) +
|
||||
" -- Ok=" + ToString( bOk) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco il risultato
|
||||
return bOk ;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -50,7 +74,15 @@ bool
|
||||
ExeLuaSetGlobStringVar( const string& sVar, const string& sVal)
|
||||
{
|
||||
// assegno il valore della variabile
|
||||
return LuaSetGlobVar( sVar, sVal) ;
|
||||
bool bOk = LuaSetGlobVar( sVar, sVal) ;
|
||||
// se richiesto, salvo il comando Lua
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = sVar + "='" + sVal + "'" +
|
||||
" -- Ok=" + ToString( bOk) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco il risultato
|
||||
return bOk ;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
Binary file not shown.
+15
-1
@@ -199,6 +199,19 @@ LuaGetNextLayer( lua_State* L)
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
static int
|
||||
LuaEraseEmptyParts( lua_State* L)
|
||||
{
|
||||
// nessun parametro
|
||||
LuaClearStack( L) ;
|
||||
// cancello i pezzi vuoti
|
||||
bool bOk = ExeEraseEmptyParts() ;
|
||||
// restituisco il risultato
|
||||
LuaSetParam( L, bOk) ;
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
static int
|
||||
LuaSelectPartObjs( lua_State* L)
|
||||
@@ -281,9 +294,9 @@ 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( "EgtGetCurrPart", LuaGetCurrPart) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetCurrLayer", LuaGetCurrLayer) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtSetCurrPartLayer", LuaSetCurrPartLayer) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtResetCurrPartLayer", LuaResetCurrPartLayer) ;
|
||||
@@ -292,6 +305,7 @@ LuaInstallGdbPartLayer( LuaMgr& luaMgr)
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetNextPart", LuaGetNextPart) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetFirstLayer", LuaGetFirstLayer) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetNextLayer", LuaGetNextLayer) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtEraseEmptyParts", LuaEraseEmptyParts) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtSelectPartObjs", LuaSelectPartObjs) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtDeselectPartObjs", LuaDeselectPartObjs) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtSelectLayerObjs", LuaSelectLayerObjs) ;
|
||||
|
||||
Reference in New Issue
Block a user