EgtExecutor :

- aggiunte funzioni ExeSetInfo e ExeGetInfo per INTVECTOR, DBLVECTOR e STRVECTOR
- aggiunta gestione di INTVECTOR, DBLVECTOR e STRVECTOR in funzioni Lua EgtSetInfo e EgtGetInfo.
This commit is contained in:
DarioS
2021-12-20 18:57:59 +01:00
parent c388ce32fc
commit f6aaa0b24e
2 changed files with 102 additions and 0 deletions
+66
View File
@@ -570,6 +570,42 @@ ExeSetInfo( int nId, const string& sKey, const Frame3d& frFrame)
return bOk ;
}
//-----------------------------------------------------------------------------
bool
ExeSetInfo( int nId, const string& sKey, const INTVECTOR& vnInfo)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, false)
// assegno la info
bool bOk = pGeomDB->SetInfo( nId, sKey, vnInfo) ;
ExeSetModified() ;
return bOk ;
}
//-----------------------------------------------------------------------------
bool
ExeSetInfo( int nId, const string& sKey, const DBLVECTOR& vdInfo)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, false)
// assegno la info
bool bOk = pGeomDB->SetInfo( nId, sKey, vdInfo) ;
ExeSetModified() ;
return bOk ;
}
//-----------------------------------------------------------------------------
bool
ExeSetInfo( int nId, const string& sKey, const STRVECTOR& vsInfo)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, false)
// assegno la info
bool bOk = pGeomDB->SetInfo( nId, sKey, vsInfo) ;
ExeSetModified() ;
return bOk ;
}
//-----------------------------------------------------------------------------
bool
ExeGetInfo( int nId, const string& sKey, bool& bInfo)
@@ -650,6 +686,36 @@ ExeGetInfo( int nId, const string& sKey, Frame3d& frFrame)
return pGeomDB->GetInfo( nId, sKey, frFrame) ;
}
//-----------------------------------------------------------------------------
bool
ExeGetInfo( int nId, const string& sKey, INTVECTOR& vnInfo)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, false)
// recupero la info
return pGeomDB->GetInfo( nId, sKey, vnInfo) ;
}
//-----------------------------------------------------------------------------
bool
ExeGetInfo( int nId, const string& sKey, DBLVECTOR& vdInfo)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, false)
// recupero la info
return pGeomDB->GetInfo( nId, sKey, vdInfo) ;
}
//-----------------------------------------------------------------------------
bool
ExeGetInfo( int nId, const string& sKey, STRVECTOR& vsInfo)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, false)
// recupero la info
return pGeomDB->GetInfo( nId, sKey, vsInfo) ;
}
//-----------------------------------------------------------------------------
bool
ExeExistsInfo( int nId, const string& sKey)
+36
View File
@@ -521,6 +521,9 @@ LuaSetInfo( lua_State* L)
{ Frame3d frVal ;
BBox3d b3Val ;
Vector3d vtVal ; // va bene anche per Point3d
INTVECTOR vnVal ;
DBLVECTOR vdVal ;
STRVECTOR vsVal ;
if ( LuaGetParam( L, 3, frVal)) {
LuaClearStack( L) ;
bOk = ExeSetInfo( nId, sKey, frVal) ;
@@ -533,6 +536,18 @@ LuaSetInfo( lua_State* L)
LuaClearStack( L) ;
bOk = ExeSetInfo( nId, sKey, vtVal) ;
}
else if ( LuaGetParam( L, 3, vnVal)) {
LuaClearStack( L) ;
bOk = ExeSetInfo( nId, sKey, vnVal) ;
}
else if ( LuaGetParam( L, 3, vdVal)) {
LuaClearStack( L) ;
bOk = ExeSetInfo( nId, sKey, vdVal) ;
}
else if ( LuaGetParam( L, 3, vsVal)) {
LuaClearStack( L) ;
bOk = ExeSetInfo( nId, sKey, vsVal) ;
}
} break ;
}
// restituisco il risultato
@@ -602,6 +617,27 @@ LuaGetInfo( lua_State* L)
else
LuaSetParam( L) ;
}
else if ( sType == "vi" || sType == "vI") {
INTVECTOR vnVal ;
if ( ExeGetInfo( nId, sKey, vnVal))
LuaSetParam( L, vnVal) ;
else
LuaSetParam( L) ;
}
else if ( sType == "vd" || sType == "vD") {
DBLVECTOR vdVal ;
if ( ExeGetInfo( nId, sKey, vdVal))
LuaSetParam( L, vdVal) ;
else
LuaSetParam( L) ;
}
else if ( sType == "vs" || sType == "vS") {
STRVECTOR vsVal ;
if ( ExeGetInfo( nId, sKey, vsVal))
LuaSetParam( L, vsVal) ;
else
LuaSetParam( L) ;
}
else { // "s" "S"
string sInfo ;
if ( ExeGetInfo( nId, sKey, sInfo))