EgtExecutor 2.1d1 :

- aggiunta funzione Exe e Lua VolZmapAvoidCylinder
- aggiunto parametro dSafeDist  alle funzioni VolZmapAvoid*.
This commit is contained in:
Dario Sassi
2019-04-08 10:06:40 +00:00
parent e762dd6a72
commit 70457f5ce3
3 changed files with 74 additions and 10 deletions
+36 -6
View File
@@ -345,18 +345,20 @@ LuaVolZmapGetDepth( lua_State* L)
static int
LuaVolZmapAvoidBox( lua_State* L)
{
// 3 o 4 parametri : nId, frBox, vtDiag [, nRefType]
// 4 o 5 parametri : nId, frBox, vtDiag, dSafeDist [, nRefType]
int nId ;
LuaCheckParam( L, 1, nId)
Frame3d frBox ;
LuaCheckParam( L, 2, frBox)
Vector3d vtDiag ;
LuaCheckParam( L, 3, vtDiag)
double dSafeDist ;
LuaCheckParam( L, 4, dSafeDist)
int nRefType = RTY_DEFAULT ;
LuaGetParam( L, 4, nRefType) ;
LuaGetParam( L, 5, nRefType) ;
LuaClearStack( L) ;
// verifico non interferenza
bool bOk = ExeVolZmapAvoidBox( nId, frBox, vtDiag, nRefType) ;
bool bOk = ExeVolZmapAvoidBox( nId, frBox, vtDiag, dSafeDist, nRefType) ;
// restituisco il risultato
LuaSetParam( L, bOk) ;
return 1 ;
@@ -366,18 +368,45 @@ LuaVolZmapAvoidBox( lua_State* L)
static int
LuaVolZmapAvoidSphere( lua_State* L)
{
// 3 o 4 parametri : nId, ptCen, dRad [, nRefType]
// 4 o 5 parametri : nId, ptCen, dRad, dSafeDist [, nRefType]
int nId ;
LuaCheckParam( L, 1, nId)
Point3d ptCen ;
LuaCheckParam( L, 2, ptCen)
double dRad ;
LuaCheckParam( L, 3, dRad)
double dSafeDist ;
LuaCheckParam( L, 4, dSafeDist)
int nRefType = RTY_DEFAULT ;
LuaGetParam( L, 4, nRefType) ;
LuaGetParam( L, 5, nRefType) ;
LuaClearStack( L) ;
// verifico non interferenza
bool bOk = ExeVolZmapAvoidSphere( nId, ptCen, dRad, nRefType) ;
bool bOk = ExeVolZmapAvoidSphere( nId, ptCen, dRad, dSafeDist, nRefType) ;
// restituisco il risultato
LuaSetParam( L, bOk) ;
return 1 ;
}
//----------------------------------------------------------------------------
static int
LuaVolZmapAvoidCylinder( lua_State* L)
{
// 5 o 6 parametri : nId, frCyl, dL, dR, dSafeDist [, nRefType]
int nId ;
LuaCheckParam( L, 1, nId)
Frame3d frCyl ;
LuaCheckParam( L, 2, frCyl)
double dL ;
LuaCheckParam( L, 3, dL)
double dR ;
LuaCheckParam( L, 4, dR)
double dSafeDist ;
LuaCheckParam( L, 5, dSafeDist)
int nRefType = RTY_DEFAULT ;
LuaGetParam( L, 6, nRefType) ;
LuaClearStack( L) ;
// verifico non interferenza
bool bOk = ExeVolZmapAvoidCylinder( nId, frCyl, dL, dR, dSafeDist, nRefType) ;
// restituisco il risultato
LuaSetParam( L, bOk) ;
return 1 ;
@@ -423,6 +452,7 @@ LuaInstallGdbModifyVol( LuaMgr& luaMgr)
bOk = bOk && luaMgr.RegisterFunction( "EgtVolZmapGetDepth", LuaVolZmapGetDepth) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtVolZmapAvoidBox", LuaVolZmapAvoidBox) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtVolZmapAvoidSphere", LuaVolZmapAvoidSphere) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtVolZmapAvoidCylinder", LuaVolZmapAvoidCylinder) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtCutVolZmapPlane", LuaCutVolZmapPlane) ;
return bOk ;
}