e9f368a85f
- aggiunta funzione Exe/lua Redraw - aggiunte funzioni Exe/lua SurfTmGetSmoothAng e VolZmapGetShowEdges.
417 lines
12 KiB
C++
417 lines
12 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 "LUA.h"
|
|
#include "/EgtDev/Include/EXeExecutor.h"
|
|
#include "/EgtDev/Include/EGkLuaAux.h"
|
|
|
|
using namespace std ;
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSetBackground( lua_State* L)
|
|
{
|
|
// 2 o 3 parametri : colore top, colore bottom [, bRedraw]
|
|
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 = ExeSetBackground( colTop, colBot, bRedraw) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetBackground( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// recupero lo sfondo
|
|
Color colTop ;
|
|
Color colBot ;
|
|
bool bOk = ExeGetBackground( colTop, colBot) ;
|
|
// restituisco il risultato
|
|
if ( bOk) {
|
|
LuaSetParam( L, colTop) ;
|
|
LuaSetParam( L, colBot) ;
|
|
}
|
|
else {
|
|
LuaSetParam( L) ;
|
|
LuaSetParam( L) ;
|
|
}
|
|
return 2 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaDraw( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// eseguo ridisegno
|
|
bool bOk = ExeDraw() ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaRedraw( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// forzo ridisegno
|
|
bool bOk = ExeRedraw() ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSetShowMode( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : nShowMode [, bRedraw]
|
|
int nShowMode ;
|
|
LuaCheckParam( L, 1, nShowMode)
|
|
bool bRedraw = true ;
|
|
LuaGetParam( L, 2, bRedraw) ;
|
|
LuaClearStack( L) ;
|
|
// imposto il modo di visualizzazione
|
|
bool bOk = ExeSetShowMode( nShowMode, bRedraw) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSetShowCurveDirection( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : bool bShowCrvDir [, bRedraw]
|
|
bool bShowCrvDir ;
|
|
LuaCheckParam( L, 1, bShowCrvDir)
|
|
bool bRedraw = true ;
|
|
LuaGetParam( L, 2, bRedraw) ;
|
|
LuaClearStack( L) ;
|
|
// imposto visualizzazione direzione curve
|
|
bool bOk = ExeSetShowCurveDirection( bShowCrvDir, bRedraw) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSetShowTriaAdv( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : flag bAdvanced [, bRedraw]
|
|
bool bAdvanced ;
|
|
LuaCheckParam( L, 1, bAdvanced)
|
|
bool bRedraw = true ;
|
|
LuaGetParam( L, 2, bRedraw) ,
|
|
LuaClearStack( L) ;
|
|
// imposto visualizzazione direzione curve
|
|
bool bOk = ExeSetShowTriaAdv( bAdvanced, bRedraw) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaZoomRadius( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : dRadius [, bRedraw]
|
|
double dRadius ;
|
|
LuaCheckParam( L, 1, dRadius)
|
|
bool bRedraw = true ;
|
|
LuaGetParam( L, 2, bRedraw) ;
|
|
LuaClearStack( L) ;
|
|
// imposto zoom
|
|
bool bOk = ExeZoomRadius( dRadius, bRedraw) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaZoom( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : nZoomType [, bRedraw]
|
|
int nZoomType ;
|
|
LuaCheckParam( L, 1, nZoomType)
|
|
bool bRedraw = true ;
|
|
LuaGetParam( L, 2, bRedraw) ;
|
|
LuaClearStack( L) ;
|
|
// imposto zoom
|
|
bool bOk = ExeZoom( nZoomType, bRedraw) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaZoomObject( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : nId [, bRedraw]
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
bool bRedraw = true ;
|
|
LuaGetParam( L, 2, bRedraw) ;
|
|
LuaClearStack( L) ;
|
|
// imposto zoom
|
|
bool bOk = ExeZoomObject( nId, bRedraw) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSetViewOrizzOffsStep( lua_State* L)
|
|
{
|
|
// 1 parametro : nDirOffsStep
|
|
int nDirOffsStep ;
|
|
LuaCheckParam( L, 1, nDirOffsStep)
|
|
LuaClearStack( L) ;
|
|
// imposto offset angolare orizzontale a step di 90° per direzione di vista
|
|
bool bOk = ExeSetViewOrizzOffsStep( nDirOffsStep) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSetView( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : nViewDir [, bRedraw]
|
|
int nViewDir ;
|
|
LuaCheckParam( L, 1, nViewDir)
|
|
bool bRedraw = true ;
|
|
LuaGetParam( L, 2, bRedraw) ;
|
|
LuaClearStack( L) ;
|
|
// imposto direzione di vista
|
|
bool bOk = ExeSetView( nViewDir, bRedraw) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSetGenericView( lua_State* L)
|
|
{
|
|
// 2 o 3 parametri : dAngVertDeg, dAngHorizDeg [, bRedraw]
|
|
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 = ExeSetGenericView( dAngVertDeg, dAngHorizDeg, bRedraw) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSetViewCenter( lua_State* L)
|
|
{
|
|
// 1 o 2 parametri : ptCen [, bRedraw]
|
|
Point3d ptCen ;
|
|
LuaCheckParam( L, 1, ptCen)
|
|
bool bRedraw = true ;
|
|
LuaGetParam( L, 2, bRedraw) ;
|
|
LuaClearStack( L) ;
|
|
// imposto centro di vista
|
|
bool bOk = ExeSetViewCenter( ptCen, bRedraw) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetViewOrizzOffsStep( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// recupero offset angolare orizzontale a step di 90° per direzione di vista
|
|
int nDirOffsStep ;
|
|
bool bOk = ExeGetViewOrizzOffsStep( &nDirOffsStep) ;
|
|
// restituisco il risultato
|
|
if ( bOk)
|
|
LuaSetParam( L, nDirOffsStep) ;
|
|
else
|
|
LuaSetParam( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetView( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// recupero direzione di vista
|
|
int nViewDir ;
|
|
bool bOk = ExeGetView( &nViewDir) ;
|
|
// restituisco il risultato
|
|
if ( bOk)
|
|
LuaSetParam( L, nViewDir) ;
|
|
else
|
|
LuaSetParam( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetGenericView( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// recupero angoli della direzione di vista
|
|
double dAngVertDeg ;
|
|
double dAngHorizDeg ;
|
|
bool bOk = ExeGetGenericView( &dAngVertDeg, &dAngHorizDeg) ;
|
|
// restituisco il risultato
|
|
if ( bOk) {
|
|
LuaSetParam( L, dAngVertDeg) ;
|
|
LuaSetParam( L, dAngHorizDeg) ;
|
|
}
|
|
else
|
|
LuaSetParam( L) ;
|
|
return 2 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetImage( lua_State* L)
|
|
{
|
|
// 6 argomenti : nShowMode, colBackTop, colBackBottom, nWidth, nHeight, sFile
|
|
int nShowMode ;
|
|
LuaCheckParam( L, 1, nShowMode)
|
|
Color colBackTop ;
|
|
LuaCheckParam( L, 2, colBackTop)
|
|
Color colBackBottom ;
|
|
LuaCheckParam( L, 3, colBackBottom)
|
|
int nWidth ;
|
|
LuaCheckParam( L, 4, nWidth)
|
|
int nHeight ;
|
|
LuaCheckParam( L, 5, nHeight)
|
|
string sFile ;
|
|
LuaCheckParam( L, 6, sFile)
|
|
LuaClearStack( L) ;
|
|
// creo e salvo una immagine della scena
|
|
bool bOk = ExeGetImage( nShowMode, colBackTop, colBackBottom, nWidth, nHeight, sFile) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetImageEx( lua_State* L)
|
|
{
|
|
// 11 argomenti : nDriver, b2Buff, nColorBits, nDepthBits, nShowMode, colBackTop, colBackBottom, nCameraDir, nWidth, nHeight, sFile
|
|
int nDriver ;
|
|
LuaCheckParam( L, 1, nDriver)
|
|
bool b2Buff ;
|
|
LuaCheckParam( L, 2, b2Buff)
|
|
int nColorBits ;
|
|
LuaCheckParam( L, 3, nColorBits)
|
|
int nDepthBits ;
|
|
LuaCheckParam( L, 4, nDepthBits)
|
|
int nShowMode ;
|
|
LuaCheckParam( L, 5, nShowMode)
|
|
Color colBackTop ;
|
|
LuaCheckParam( L, 6, colBackTop)
|
|
Color colBackBottom ;
|
|
LuaCheckParam( L, 7, colBackBottom)
|
|
int nCameraDir ;
|
|
LuaCheckParam( L, 8, nCameraDir)
|
|
int nWidth ;
|
|
LuaCheckParam( L, 9, nWidth)
|
|
int nHeight ;
|
|
LuaCheckParam( L, 10, nHeight)
|
|
string sFile ;
|
|
LuaCheckParam( L, 11, sFile)
|
|
LuaClearStack( L) ;
|
|
// creo e salvo una immagine della scena
|
|
bool bOk = ExeGetImageEx( nDriver, b2Buff, nColorBits, nDepthBits, nShowMode,
|
|
colBackTop, colBackBottom, nCameraDir, nWidth, nHeight, sFile) ;
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSetShowSurfBezierTol( lua_State* L)
|
|
{
|
|
// 1 o 2 argomenti : dLinTol [, bRedraw]
|
|
double dLinTol ;
|
|
LuaCheckParam( L, 1, dLinTol)
|
|
bool bRedraw = true ;
|
|
LuaCheckParam( L, 2, bRedraw)
|
|
bool bOk = ExeSetShowSurfBezierTol( dLinTol, bRedraw) ;
|
|
|
|
// restituisco il risultato
|
|
LuaSetParam( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
bool
|
|
LuaInstallScene( LuaMgr& luaMgr)
|
|
{
|
|
bool bOk = true ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSetBackground", LuaSetBackground) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetBackground", LuaGetBackground) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtDraw", LuaDraw) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtRedraw", LuaRedraw) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSetShowMode", LuaSetShowMode) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSetShowCurveDirection", LuaSetShowCurveDirection) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSetShowTriaAdv", LuaSetShowTriaAdv) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtZoomRadius", LuaZoomRadius) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtZoom", LuaZoom) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtZoomObject", LuaZoomObject) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSetViewOrizzOffsStep", LuaSetViewOrizzOffsStep) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSetView", LuaSetView) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSetGenericView", LuaSetGenericView) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSetViewCenter", LuaSetViewCenter) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetViewOrizzOffsStep", LuaGetViewOrizzOffsStep) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetView", LuaGetView) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetGenericView", LuaGetGenericView) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetImage", LuaGetImage) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtGetImageEx", LuaGetImageEx) ;
|
|
bOk = bOk && luaMgr.RegisterFunction( "EgtSetShowSurfBezierTol", LuaSetShowSurfBezierTol) ;
|
|
return bOk ;
|
|
}
|