d63fa552c6
- 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.
304 lines
9.0 KiB
C++
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 ;
|
|
}
|