diff --git a/EXE_GdbObjAttribs.cpp b/EXE_GdbObjAttribs.cpp index 2d3b94c..f18ad6c 100644 --- a/EXE_GdbObjAttribs.cpp +++ b/EXE_GdbObjAttribs.cpp @@ -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) diff --git a/LUA_GdbObjAttribs.cpp b/LUA_GdbObjAttribs.cpp index 1dc43ae..3857c6a 100644 --- a/LUA_GdbObjAttribs.cpp +++ b/LUA_GdbObjAttribs.cpp @@ -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))