Files
EgtInterface/LUA_GdbModify.cpp
T
Dario Sassi 517a36a009 EgtInterface 1.5l1 :
- aggiornamento a VS2013
- alle curve si assegna in automatico estrusione come Z di griglia
- aggiunta gestione direttorio per librerie Lua
- aggiunta gestione frame di griglia (CPlane) in GeomDB
- aggiunta gestione visualizzazione riferimento globale
- aggiunto comando Lua EgtOffsetCurve
- aggiunti comandi Lua EgtExecTsc, EgtOutLog, EgtEraseFile, EgtEmptyDirectory, EgtTextFileCompare, EgtBinaryFileCompare, EgtGetVersion
- aggiunti comandi Lua EgtSetGridFrame, EgtGetGridFrame, EgtGetGridVersZ.
2014-12-17 15:19:20 +00:00

178 lines
4.9 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : LUA_GdbModify.cpp Data : 06.10.14 Versione : 1.5i5
// Contenuto : Funzioni di modifica geometrica per LUA.
//
//
//
// Modifiche : 06.10.14 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
//--------------------------- Include ----------------------------------------
#include "stdafx.h"
#include "LUA.h"
#include "API.h"
#include "/EgtDev/Include/EInAPI.h"
#include "/EgtDev/Include/EgnStringUtils.h"
#include "/EgtDev/Extern/Lua/Include/lua.hpp"
using namespace std ;
//-------------------------------------------------------------------------------
static int
LuaChangeVectorBase( lua_State* L)
{
// 2 parametri : Id, ptBase
int nId ;
LuaCheckParam( L, 1, nId)
Point3d ptBase ;
LuaCheckParam( L, 2, ptBase)
LuaClearStack( L) ;
// modifica del testo
bool bOk = ( EgtChangeVectorBase( nId, ptBase.v) ? true : false) ;
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaOffsetCurve( lua_State* L)
{
// 4 parametri : Id, dDist, nType
int nId ;
LuaCheckParam( L, 1, nId)
double dDist ;
LuaCheckParam( L, 2, dDist)
int nType ;
LuaCheckParam( L, 3, nType)
LuaClearStack( L) ;
// offset della curva
bool bOk = ( EgtOffsetCurve( nId, dDist, nType) ? true : false) ;
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaModifyText( lua_State* L)
{
// 2 parametri : Id, sNewText
int nId ;
LuaCheckParam( L, 1, nId)
string sNewText ;
LuaCheckParam( L, 2, sNewText)
LuaClearStack( L) ;
// modifica del testo
bool bOk = ( EgtModifyText( nId, sNewText) ? true : false) ;
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaChangeTextFont( lua_State* L)
{
// 2 parametri : Id, sNewFont
int nId ;
LuaCheckParam( L, 1, nId)
string sNewFont ;
LuaCheckParam( L, 2, sNewFont)
LuaClearStack( L) ;
// modifica del testo
bool bOk = ( EgtChangeTextFont( nId, sNewFont) ? true : false) ;
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaFlipText( lua_State* L)
{
// 1 parametro : Id
int nId ;
LuaCheckParam( L, 1, nId)
LuaClearStack( L) ;
// flip del testo
bool bOk = ( EgtFlipText( nId) ? true : false) ;
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaMirrorText( lua_State* L)
{
// 1 o 2 parametri : Id [, sOnL]
int nId ;
LuaCheckParam( L, 1, nId)
bool bOnL = true ;
string sLorH ;
if ( LuaGetParam( L, 2, sLorH)) {
ToUpper( sLorH) ;
if ( sLorH == "H")
bOnL = false ;
}
LuaClearStack( L) ;
// flip del testo
bool bOk = ( EgtMirrorText( nId, bOnL) ? true : false) ;
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaTextToOutline( lua_State* L)
{
// 2 parametri : Id, IdGroupDest
int nId ;
LuaCheckParam( L, 1, nId)
int nIdGroupDest ;
LuaCheckParam( L, 2, nIdGroupDest)
LuaClearStack( L) ;
// esplosione del testo in outline
bool bOk = ( EgtTextToOutline( nId, nIdGroupDest) ? true : false) ;
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaSplitText( lua_State* L)
{
// 2 parametri : Id, IdGroupDest
int nId ;
LuaCheckParam( L, 1, nId)
int nIdGroupDest ;
LuaCheckParam( L, 2, nIdGroupDest)
LuaClearStack( L) ;
// esplosione del testo in più testi, uno per riga
bool bOk = ( EgtSplitText( nId, nIdGroupDest) ? true : false) ;
LuaSetReturn( L, bOk) ;
return 1 ;
}
//-------------------------------------------------------------------------------
bool
LuaInstallGdbModify( lua_State* L)
{
try {
lua_register( L, "EgtChangeVectorBase", LuaChangeVectorBase) ;
lua_register( L, "EgtOffsetCurve", LuaOffsetCurve) ;
lua_register( L, "EgtModifyText", LuaModifyText) ;
lua_register( L, "EgtChangeTextFont", LuaChangeTextFont) ;
lua_register( L, "EgtFlipText", LuaFlipText) ;
lua_register( L, "EgtMirrorText", LuaMirrorText) ;
lua_register( L, "EgtTextToOutline", LuaTextToOutline) ;
lua_register( L, "EgtSplitText", LuaSplitText) ;
}
catch ( ...) {
return false ;
}
return true ;
}