Files
EgtInterface/LUA_GdbPartLayers.cpp
T
Dario Sassi d63fa552c6 EgtInterface 1.6d4 :
- in selezione tutto si considerano solo i pezzi (non le parti per le lavorazioni)
- aggiunte EgtIsPart e EgtIsLayer a API e LUA
- migliorati controlli per riconoscimento pezzi e layer
- corretto errore in VerifySameFrame per GeoTransforms
- ImportDxf e Stl ora accettano anche fattore di scala API e LUA.
2015-04-25 20:39:16 +00:00

304 lines
9.0 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 "API.h"
#include "LUA.h"
#include "LUA_Base.h"
#include "/EgtDev/Include/EInAPI.h"
#include "/EgtDev/Include/EGkLuaAux.h"
#include "/EgtDev/Include/EGnStringUtils.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 = ( EgtIsPart( nIdPart) != FALSE) ;
// 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 = ( EgtIsPart( nIdLayer) != FALSE) ;
// restituisco il risultato
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaGetCurrPart( lua_State* L)
{
// nessun parametro
LuaClearStack( L) ;
// recupero il pezzo corrente
int nId = EgtGetCurrPart() ;
// restituisco il risultato
LuaSetReturn( L, nId) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaGetCurrLayer( lua_State* L)
{
// nessun parametro
LuaClearStack( L) ;
// recupero il layer corrente
int nId = EgtGetCurrLayer() ;
// 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 = ( EgtSetCurrPartLayer( nPartId, nLayerId) != FALSE) ;
// 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 = ( EgtResetCurrPartLayer() != FALSE) ;
// 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 = EgtGetPartNbr( 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 = EgtGetFirstPart( 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 = EgtGetNextPart( 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 = EgtGetFirstLayer( 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 = EgtGetNextLayer( 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 = ( EgtSelectPartObjs( nPartId) != FALSE) ;
// 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 = ( EgtDeselectPartObjs( nPartId) != FALSE) ;
// 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 = ( EgtSelectLayerObjs( nLayerId) != FALSE) ;
// 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 = ( EgtDeselectLayerObjs( nLayerId) != FALSE) ;
// 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 = ( EgtSelectPathObjs( nId, bHaltOnFork) != FALSE) ;
// restituisco il risultato
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
bool
LuaInstallGdbPartLayer( void)
{
bool bOk = true ;
bOk = bOk && LuaRegisterFunction( "EgtGetCurrPart", LuaGetCurrPart) ;
bOk = bOk && LuaRegisterFunction( "EgtIsPart", LuaIsPart) ;
bOk = bOk && LuaRegisterFunction( "EgtIsLayer", LuaIsLayer) ;
bOk = bOk && LuaRegisterFunction( "EgtGetCurrLayer", LuaGetCurrLayer) ;
bOk = bOk && LuaRegisterFunction( "EgtSetCurrPartLayer", LuaSetCurrPartLayer) ;
bOk = bOk && LuaRegisterFunction( "EgtResetCurrPartLayer", LuaResetCurrPartLayer) ;
bOk = bOk && LuaRegisterFunction( "EgtGetPartNbr", LuaGetPartNbr) ;
bOk = bOk && LuaRegisterFunction( "EgtGetFirstPart", LuaGetFirstPart) ;
bOk = bOk && LuaRegisterFunction( "EgtGetNextPart", LuaGetNextPart) ;
bOk = bOk && LuaRegisterFunction( "EgtGetFirstLayer", LuaGetFirstLayer) ;
bOk = bOk && LuaRegisterFunction( "EgtGetNextLayer", LuaGetNextLayer) ;
bOk = bOk && LuaRegisterFunction( "EgtSelectPartObjs", LuaSelectPartObjs) ;
bOk = bOk && LuaRegisterFunction( "EgtDeselectPartObjs", LuaDeselectPartObjs) ;
bOk = bOk && LuaRegisterFunction( "EgtSelectLayerObjs", LuaSelectLayerObjs) ;
bOk = bOk && LuaRegisterFunction( "EgtDeselectLayerObjs", LuaDeselectLayerObjs) ;
bOk = bOk && LuaRegisterFunction( "EgtSelectPathObjs", LuaSelectPathObjs) ;
return bOk ;
}