//---------------------------------------------------------------------------- // EgalTech 2014-2015 //---------------------------------------------------------------------------- // File : EXE_LUA.cpp Data : 05.05.15 Versione : 1.6e1 // Contenuto : Funzioni esecuzione LUA per EXE. // // // // Modifiche : 28.09.14 DS Creazione modulo. // // //---------------------------------------------------------------------------- //--------------------------- Include ---------------------------------------- #include "stdafx.h" #include "EXE.h" #include "LUA_Base.h" #include "AuxTools.h" #include "/EgtDev/Include/EXeExecutor.h" #include "/EgtDev/Include/EXeCmdLogOff.h" #include "/EgtDev/Include/EGkLuaAux.h" #include "/EgtDev/Include/EGkStringUtils3d.h" #include "/EgtDev/Include/EgtStringConverter.h" using namespace std ; //----------------------------------------------------------------------------- bool ExeLuaCreateGlobTable( const string& sVar) { // creazione della tavola return LuaCreateGlobTable( sVar) ; } //----------------------------------------------------------------------------- bool ExeLuaSetGlobBoolVar( const string& sVar, bool bVal) { // assegno il valore della variabile 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 ; } //----------------------------------------------------------------------------- bool ExeLuaSetGlobIntVar( const string& sVar, int nVal) { // assegno il valore della variabile 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 ; } //----------------------------------------------------------------------------- bool ExeLuaSetGlobNumVar( const string& sVar, double dVal) { // assegno il valore della variabile 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 ; } //----------------------------------------------------------------------------- bool ExeLuaSetGlobStringVar( const string& sVar, const string& sVal) { // assegno il valore della variabile 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 ; } //----------------------------------------------------------------------------- bool ExeLuaSetGlobVectorVar( const string& sVar, const Vector3d& vtVal) { // assegno il valore della variabile bool bOk = LuaSetGlobVar( sVar, vtVal) ; // se richiesto, salvo il comando Lua if ( IsCmdLog()) { string sLua = sVar + "='" + ToString( vtVal) + "'" + " -- Ok=" + ToString( bOk) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; } // restituisco il risultato return bOk ; } //----------------------------------------------------------------------------- bool ExeLuaSetGlobPointVar( const string& sVar, const Point3d& ptVal) { // assegno il valore della variabile bool bOk = LuaSetGlobVar( sVar, ptVal) ; // se richiesto, salvo il comando Lua if ( IsCmdLog()) { string sLua = sVar + "='" + ToString( ptVal) + "'" + " -- Ok=" + ToString( bOk) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; } // restituisco il risultato return bOk ; } //----------------------------------------------------------------------------- bool ExeLuaGetGlobBoolVar( const string& sVar, bool* pbVal) { // verifico parametro di ritorno if ( pbVal == nullptr) return false ; // recupero il valore della variabile return LuaGetGlobVar( sVar, *pbVal) ; } //----------------------------------------------------------------------------- bool ExeLuaGetGlobIntVar( const string& sVar, int* pnVal) { // verifico parametro di ritorno if ( pnVal == nullptr) return false ; // recupero il valore della variabile return LuaGetGlobVar( sVar, *pnVal) ; } //----------------------------------------------------------------------------- bool ExeLuaGetGlobNumVar( const string& sVar, double* pdVal) { // verifico parametro di ritorno if ( pdVal == nullptr) return false ; // recupero il valore della variabile return LuaGetGlobVar( sVar, *pdVal) ; } //----------------------------------------------------------------------------- bool ExeLuaGetGlobStringVar( const string& sVar, string& sVal) { // verifico parametro di ritorno if ( &sVal == nullptr) return false ; // recupero il valore della variabile return LuaGetGlobVar( sVar, sVal) ; } //----------------------------------------------------------------------------- bool ExeLuaGetGlobVectorVar( const string& sVar, Vector3d& vtVal) { // verifico parametro di ritorno if ( &vtVal == nullptr) return false ; // recupero il valore della variabile return LuaGetGlobVar( sVar, vtVal) ; } //----------------------------------------------------------------------------- bool ExeLuaGetGlobPointVar( const string& sVar, Point3d& ptVal) { // verifico parametro di ritorno if ( &ptVal == nullptr) return false ; // recupero il valore della variabile return LuaGetGlobVar( sVar, ptVal) ; } //----------------------------------------------------------------------------- bool ExeLuaResetGlobVar( const string& sVar) { // eseguo il reset della variabile return LuaResetGlobVar( sVar) ; } //----------------------------------------------------------------------------- bool ExeLuaExistsFunction( const string& sFun) { // verifica esistenza funzione return LuaExistsFunction( sFun) ; } //----------------------------------------------------------------------------- bool ExeLuaCallFunction( const string& sFun) { // chiamata di funzione senza parametri e senza valori di ritorno return LuaCallFunction( sFun, 0) ; } //----------------------------------------------------------------------------- bool ExeLuaEvalNumExpr( const string& sExpr, double* pdVal) { // verifico parametro di ritorno if ( pdVal == nullptr) return false ; // valuto l'espressione return LuaEvalExpr( sExpr, *pdVal) ; } //----------------------------------------------------------------------------- bool ExeLuaEvalStringExpr( const string& sExpr, string& sVal) { // verifico parametro di ritorno if ( &sVal == nullptr) return false ; // valuto l'espressione return LuaEvalExpr( sExpr, sVal) ; } //----------------------------------------------------------------------------- bool ExeLuaExecLine( const string& sLine) { // disabilito log dei comandi e salvo stato precedente bool bPrevCmdLog = SetCmdLog( false) ; // eseguo il comando bool bOk = LuaExecLine( sLine) ; // ripristino lo stato originale del log dei comandi SetCmdLog( bPrevCmdLog) ; // se richiesto, salvo il comando Lua if ( IsCmdLog()) { string sLua = sLine + " -- Ok=" + ToString( bOk) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; } // restituisco il risultato return bOk ; } //----------------------------------------------------------------------------- bool ExeLuaExecFile( const string& sFilePath, bool LogInfo) { // emetto info if ( LogInfo) { string sInfo = "Exec File = " + sFilePath ; LOG_INFO( GetLogger(), sInfo.c_str()) } // disabilito il log dei comandi CmdLogOff cmdLogOff ; // esecuzione script bool bOk = LuaExecFile( sFilePath) ; // ripristino lo stato originale del log dei comandi cmdLogOff.Reset() ; // se richiesto, salvo il comando Lua if ( IsCmdLog()) { string sLua = "dofile('" + StringToLuaString( sFilePath) + "')" + " -- Ok=" + ToString( bOk) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; } // restituisco il risultato return bOk ; } //----------------------------------------------------------------------------- bool ExeLuaRequire( const string& sFilePath) { // emetto info string sInfo = "Require Library = " + sFilePath ; LOG_INFO( GetLogger(), sInfo.c_str()) // eseguo il comando return LuaRequire( sFilePath) ; } //----------------------------------------------------------------------------- bool ExeLuaGetLastError( string& sError) { // verifico parametro di ritorno if ( &sError == nullptr) return false ; sError = LuaGetLastError() ; return true ; }