Files
EgtInterface/LUA_Scene.cpp
T
Dario Sassi 9d3dc5e537 EgtInterface 1.6d3 :
- costanti stringa sostituite con costanti numeriche
- modificate funzioni API e LUA per scansione pezzi e layer
- aggiunta pulizia memoria al caricamento messaggi (necessario al cambio lingua)
- migliorie varie a funzioni Lua.
2015-04-20 08:43:10 +00:00

194 lines
6.0 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : LUA_Scene.cpp Data : 29.09.14 Versione : 1.5i5
// Contenuto : Funzioni di visualizzazione per LUA.
//
//
//
// Modifiche : 29.09.14 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
LuaSetBackground( lua_State* L)
{
// 2 o 3 parametri : colore top, colore bottom [, flag ridisegna]
Color colTop ;
LuaCheckParam( L, 1, colTop)
Color colBot ;
LuaCheckParam( L, 2, colBot)
bool bRedraw ;
LuaGetParam( L, 3, bRedraw) ;
LuaClearStack( L) ;
// imposto lo sfondo
bool bOk = ( EgtSetBackground( colTop, colBot, bRedraw) != FALSE) ;
// restituisco il risultato
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaDraw( lua_State* L)
{
// nessun parametro
LuaClearStack( L) ;
// eseguo ridisegno
bool bOk = ( EgtDraw() != FALSE) ;
// restituisco il risultato
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaSetShowMode( lua_State* L)
{
// 1 o 2 parametri : nShowMode [, flag ridisegna]
int nShowMode ;
LuaCheckParam( L, 1, nShowMode)
bool bRedraw = true ;
LuaGetParam( L, 2, bRedraw) ;
LuaClearStack( L) ;
// imposto il modo di visualizzazione
bool bOk = ( EgtSetShowMode( nShowMode, bRedraw) != FALSE) ;
// restituisco il risultato
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaSetShowCurveDirection( lua_State* L)
{
// 1 o 2 parametri : bool bShowCrvDir [, flag ridisegna]
bool bShowCrvDir ;
LuaCheckParam( L, 1, bShowCrvDir)
bool bRedraw = true ;
LuaGetParam( L, 2, bRedraw) ;
LuaClearStack( L) ;
// imposto visualizzazione direzione curve
bool bOk = ( EgtSetShowCurveDirection( bShowCrvDir, bRedraw) != FALSE) ;
// restituisco il risultato
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaSetShowTriaAdv( lua_State* L)
{
// 1 o 2 parametri : flag bAdvanced [, flag ridisegna]
bool bAdvanced ;
LuaCheckParam( L, 1, bAdvanced)
bool bRedraw = true ;
LuaGetParam( L, 2, bRedraw) ,
LuaClearStack( L) ;
// imposto visualizzazione direzione curve
bool bOk = ( EgtSetShowTriaAdv( bAdvanced, bRedraw) != FALSE) ;
// restituisco il risultato
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaZoom( lua_State* L)
{
// 1 o 2 parametri : nZoomType [, flag ridisegna]
int nZoomType ;
LuaCheckParam( L, 1, nZoomType)
bool bRedraw = true ;
LuaGetParam( L, 2, bRedraw) ;
LuaClearStack( L) ;
// imposto zoom
bool bOk = ( EgtZoom( nZoomType, bRedraw) != FALSE) ;
// restituisco il risultato
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaSetView( lua_State* L)
{
// 1 o 2 parametri : nViewDir [, flag ridisegna]
int nViewDir ;
LuaCheckParam( L, 1, nViewDir)
bool bRedraw = true ;
LuaGetParam( L, 2, bRedraw) ;
LuaClearStack( L) ;
// imposto direzione di vista
bool bOk = ( EgtSetView( nViewDir, bRedraw) != FALSE) ;
// restituisco il risultato
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaSetGenericView( lua_State* L)
{
// 2 o 3 parametri : dAngVertDeg, dAngHorizDeg [, flag ridisegna]
double dAngVertDeg ;
LuaCheckParam( L, 1, dAngVertDeg)
double dAngHorizDeg ;
LuaCheckParam( L, 2, dAngHorizDeg)
bool bRedraw = true ;
LuaGetParam( L, 3, bRedraw) ;
LuaClearStack( L) ;
// imposto direzione di vista
bool bOk = ( EgtSetGenericView( dAngVertDeg, dAngHorizDeg, bRedraw) != FALSE) ;
// restituisco il risultato
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaSetViewCenter( lua_State* L)
{
// 1 o 2 parametri : ptCen [, flag ridisegna]
Point3d ptCen ;
LuaCheckParam( L, 1, ptCen)
bool bRedraw = true ;
LuaGetParam( L, 2, bRedraw) ;
LuaClearStack( L) ;
// imposto centro di vista
bool bOk = ( EgtSetViewCenter( ptCen.v, bRedraw) != FALSE) ;
// restituisco il risultato
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
bool
LuaInstallScene( void)
{
bool bOk = true ;
bOk = bOk && LuaRegisterFunction( "EgtSetBackground", LuaSetBackground) ;
bOk = bOk && LuaRegisterFunction( "EgtDraw", LuaDraw) ;
bOk = bOk && LuaRegisterFunction( "EgtSetShowMode", LuaSetShowMode) ;
bOk = bOk && LuaRegisterFunction( "EgtSetShowCurveDirection", LuaSetShowCurveDirection) ;
bOk = bOk && LuaRegisterFunction( "EgtSetShowTriaAdv", LuaSetShowTriaAdv) ;
bOk = bOk && LuaRegisterFunction( "EgtZoom", LuaZoom) ;
bOk = bOk && LuaRegisterFunction( "EgtSetView", LuaSetView) ;
bOk = bOk && LuaRegisterFunction( "EgtSetGenericView", LuaSetGenericView) ;
bOk = bOk && LuaRegisterFunction( "EgtSetViewCenter", LuaSetViewCenter) ;
return bOk ;
}