EgtExecutor 2.2a1 :

- aggiunte funzioni Exe e Lua CreateHorizontalDimension, CreateVerticalDimension e CreateAlignedDimension.
This commit is contained in:
Dario Sassi
2019-12-30 09:27:37 +00:00
parent 83ab192ee7
commit 80b405a1e6
3 changed files with 207 additions and 0 deletions
+87
View File
@@ -220,6 +220,90 @@ LuaCreateTextAdv( lua_State* L)
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaCreateHorizontalDimension( lua_State* L)
{
// 5 o 6 parametri : ParentId, ptP1, ptP2, ptDim, Text [, nRefType]
int nParentId ;
LuaCheckParam( L, 1, nParentId)
Point3d ptP1 ;
LuaCheckParam( L, 2, ptP1) ;
Point3d ptP2 ;
LuaCheckParam( L, 3, ptP2) ;
Point3d ptDim ;
LuaCheckParam( L, 4, ptDim) ;
string sText ;
LuaCheckParam( L, 5, sText) ;
int nRefType = RTY_DEFAULT ;
LuaGetParam( L, 6, nRefType) ;
LuaClearStack( L) ;
// creo la quota orizzontale
int nId = ExeCreateHorizontalDimension( nParentId, ptP1, ptP2, ptDim, sText, nRefType) ;
// restituisco il risultato
if ( nId != GDB_ID_NULL)
LuaSetParam( L, nId) ;
else
LuaSetParam( L) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaCreateVerticalDimension( lua_State* L)
{
// 5 o 6 parametri : ParentId, ptP1, ptP2, ptDim, Text [, nRefType]
int nParentId ;
LuaCheckParam( L, 1, nParentId)
Point3d ptP1 ;
LuaCheckParam( L, 2, ptP1) ;
Point3d ptP2 ;
LuaCheckParam( L, 3, ptP2) ;
Point3d ptDim ;
LuaCheckParam( L, 4, ptDim) ;
string sText ;
LuaCheckParam( L, 5, sText) ;
int nRefType = RTY_DEFAULT ;
LuaGetParam( L, 6, nRefType) ;
LuaClearStack( L) ;
// creo la quota verticale
int nId = ExeCreateVerticalDimension( nParentId, ptP1, ptP2, ptDim, sText, nRefType) ;
// restituisco il risultato
if ( nId != GDB_ID_NULL)
LuaSetParam( L, nId) ;
else
LuaSetParam( L) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaCreateAlignedDimension( lua_State* L)
{
// 5 o 6 parametri : ParentId, ptP1, ptP2, ptDim, Text [, nRefType]
int nParentId ;
LuaCheckParam( L, 1, nParentId)
Point3d ptP1 ;
LuaCheckParam( L, 2, ptP1) ;
Point3d ptP2 ;
LuaCheckParam( L, 3, ptP2) ;
Point3d ptDim ;
LuaCheckParam( L, 4, ptDim) ;
string sText ;
LuaCheckParam( L, 5, sText) ;
int nRefType = RTY_DEFAULT ;
LuaGetParam( L, 6, nRefType) ;
LuaClearStack( L) ;
// creo la quota allineata
int nId = ExeCreateAlignedDimension( nParentId, ptP1, ptP2, ptDim, sText, nRefType) ;
// restituisco il risultato
if ( nId != GDB_ID_NULL)
LuaSetParam( L, nId) ;
else
LuaSetParam( L) ;
return 1 ;
}
//-------------------------------------------------------------------------------
bool
LuaInstallGdbCreate( LuaMgr& luaMgr)
@@ -232,5 +316,8 @@ LuaInstallGdbCreate( LuaMgr& luaMgr)
bOk = bOk && luaMgr.RegisterFunction( "EgtText", LuaCreateText) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtTextEx", LuaCreateTextEx) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtTextAdv", LuaCreateTextAdv) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtHorizontalDimension", LuaCreateHorizontalDimension) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtVerticalDimension", LuaCreateVerticalDimension) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtAlignedDimension", LuaCreateAlignedDimension) ;
return bOk ;
}