diff --git a/EXE_GdbModifyVol.cpp b/EXE_GdbModifyVol.cpp index 97c1c19..e7b30dc 100644 --- a/EXE_GdbModifyVol.cpp +++ b/EXE_GdbModifyVol.cpp @@ -161,21 +161,24 @@ ExeRemoveVolZmapPart( int nId, int nPart) //---------------------------------------------------------------------------- bool -ExeVolZmapSetStdTool( int nId, const string& sToolName, double dLen, double dDiam, double dCornR, int nFlag) +ExeVolZmapSetStdTool( const INTVECTOR& vIds, const string& sToolName, double dLen, double dDiam, double dCornR, int nFlag) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, false) - // recupero lo Zmap e assegno i dati dell'utensile - IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( nId)) ; - bool bOk = ( pVZM != nullptr && pVZM->SetStdTool( sToolName, dLen, 0.5 * dDiam, dCornR, nFlag)) ; + // recupero gli Zmap e assegno i dati dell'utensile + bool bOk = true ; + for ( int i = 0 ; i < int( vIds.size()) ; ++ i) { + IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( vIds[i])) ; + bOk = ( pVZM != nullptr && pVZM->SetStdTool( sToolName, dLen, 0.5 * dDiam, dCornR, nFlag)) && bOk ; + } // se richiesto, salvo il comando Lua equivalente if ( IsCmdLog()) { - string sLua = "EgtVolZmapSetStdTool(" + IdToString( nId) + "," + - sToolName + "," + - ToString( dLen) + "," + - ToString( dDiam) + "," + - ToString( dCornR) + "," + - ToString( nFlag) + ")" + + string sLua = "EgtVolZmapSetStdTool({" + IdListToString( vIds) + "}," + + sToolName + "," + + ToString( dLen) + "," + + ToString( dDiam) + "," + + ToString( dCornR) + "," + + ToString( nFlag) + ")" + " -- Ok=" + ToString( bOk) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; } @@ -185,25 +188,27 @@ ExeVolZmapSetStdTool( int nId, const string& sToolName, double dLen, double dDia //---------------------------------------------------------------------------- bool -ExeVolZmapSetAdvTool( int nId, const string& sToolName, +ExeVolZmapSetAdvTool( const INTVECTOR& vIds, const string& sToolName, double dLen, double dDiam, double dTipLen, double dTipDiam, double dCornR, int nFlag) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, false) - // recupero lo Zmap e assegno i dati dell'utensile - IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( nId)) ; - bool bOk = ( pVZM != nullptr && - pVZM->SetAdvTool( sToolName, dLen, dDiam / 2, dTipLen, dTipDiam / 2, dCornR, nFlag)) ; + // recupero gli Zmap e assegno i dati dell'utensile + bool bOk = true ; + for ( int i = 0 ; i < int( vIds.size()) ; ++ i) { + IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( vIds[i])) ; + bOk = ( pVZM != nullptr && pVZM->SetAdvTool( sToolName, dLen, dDiam / 2, dTipLen, dTipDiam / 2, dCornR, nFlag)) && bOk ; + } // se richiesto, salvo il comando Lua equivalente if ( IsCmdLog()) { - string sLua = "EgtVolZmapSetAdvTool(" + IdToString( nId) + "," + - sToolName + "," + - ToString( dLen) + "," + - ToString( dDiam) + "," + - ToString( dTipLen) + "," + - ToString( dTipDiam) + "," + - ToString( dCornR) + "," + - ToString( nFlag) + ")" + + string sLua = "EgtVolZmapSetAdvTool({" + IdListToString( vIds) + "}," + + sToolName + "," + + ToString( dLen) + "," + + ToString( dDiam) + "," + + ToString( dTipLen) + "," + + ToString( dTipDiam) + "," + + ToString( dCornR) + "," + + ToString( nFlag) + ")" + " -- Ok=" + ToString( bOk) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; } @@ -213,25 +218,27 @@ ExeVolZmapSetAdvTool( int nId, const string& sToolName, //---------------------------------------------------------------------------- bool -ExeVolZmapSetSawTool( int nId, const string& sToolName, +ExeVolZmapSetSawTool( const INTVECTOR& vIds, const string& sToolName, double dLen, double dDiam, double dThick, double dStemDiam, double dCornR, int nFlag) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, false) - // recupero lo Zmap e assegno i dati dell'utensile - IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( nId)) ; - bool bOk = ( pVZM != nullptr && - pVZM->SetSawTool( sToolName, dLen, dDiam / 2, dThick, dStemDiam / 2, dCornR, nFlag)) ; + // recupero gli Zmap e assegno i dati dell'utensile + bool bOk = true ; + for ( int i = 0 ; i < int( vIds.size()) ; ++ i) { + IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( vIds[i])) ; + bOk = ( pVZM != nullptr && pVZM->SetSawTool( sToolName, dLen, dDiam / 2, dThick, dStemDiam / 2, dCornR, nFlag)) && bOk ; + } // se richiesto, salvo il comando Lua equivalente if ( IsCmdLog()) { - string sLua = "EgtVolZmapSetSawTool(" + IdToString( nId) + "," + - sToolName + "," + - ToString( dLen) + "," + - ToString( dDiam) + "," + - ToString( dThick) + "," + - ToString( dStemDiam) + "," + - ToString( dCornR) + "," + - ToString( nFlag) + ")" + + string sLua = "EgtVolZmapSetSawTool({" + IdListToString( vIds) + "}," + + sToolName + "," + + ToString( dLen) + "," + + ToString( dDiam) + "," + + ToString( dThick) + "," + + ToString( dStemDiam) + "," + + ToString( dCornR) + "," + + ToString( nFlag) + ")" + " -- Ok=" + ToString( bOk) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; } @@ -241,24 +248,24 @@ ExeVolZmapSetSawTool( int nId, const string& sToolName, //---------------------------------------------------------------------------- bool -ExeVolZmapSetGenTool( int nId, const string& sToolName, int nToolSectId, int nFlag) +ExeVolZmapSetGenTool( const INTVECTOR& vIds, const string& sToolName, int nToolSectId, int nFlag) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, false) - // recupero lo Zmap - IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( nId)) ; - bool bOk = ( pVZM != nullptr) ; // recupero la sezione dell'utensile const ICurveComposite* pCC = GetCurveComposite( pGeomDB->GetGeoObj( nToolSectId)) ; - bOk = ( bOk && pCC != nullptr) ; - // assegno i dati dell'utensile - bOk = ( bOk && pVZM->SetGenTool( sToolName, pCC, nFlag)) ; + bool bOk = ( pCC != nullptr) ; + // recupero gli Zmap e assegno i dati dell'utensile + for ( int i = 0 ; i < int( vIds.size()) ; ++ i) { + IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( vIds[i])) ; + bOk = ( pVZM != nullptr && pVZM->SetGenTool( sToolName, pCC, nFlag) && bOk) ; + } // se richiesto, salvo il comando Lua equivalente if ( IsCmdLog()) { - string sLua = "EgtVolZmapSetGenTool(" + IdToString( nId) + "," + - sToolName + "," + - IdToString( nToolSectId) + "," + - ToString( nFlag) + ")" + + string sLua = "EgtVolZmapSetGenTool({" + IdListToString( vIds) + "}," + + sToolName + "," + + IdToString( nToolSectId) + "," + + ToString( nFlag) + ")" + " -- Ok=" + ToString( bOk) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; } @@ -268,24 +275,26 @@ ExeVolZmapSetGenTool( int nId, const string& sToolName, int nToolSectId, int nFl //---------------------------------------------------------------------------- bool -ExeVolZmapSetMortiserTool( int nId, const string& sToolName, +ExeVolZmapSetMortiserTool( const INTVECTOR& vIds, const string& sToolName, double dLen, double dWidth, double dThick, double dCornR, int nFlag) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, false) - // recupero lo Zmap e assegno i dati dell'utensile - IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( nId)) ; - bool bOk = ( pVZM != nullptr && - pVZM->SetMortiserTool( sToolName, dLen, dWidth, dThick, dCornR, nFlag)) ; + // recupero gli Zmap e assegno i dati dell'utensile + bool bOk = true ; + for ( int i = 0 ; i < int( vIds.size()) ; ++ i) { + IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( vIds[i])) ; + bOk = ( pVZM != nullptr && pVZM->SetMortiserTool( sToolName, dLen, dWidth, dThick, dCornR, nFlag) && bOk) ; + } // se richiesto, salvo il comando Lua equivalente if ( IsCmdLog()) { - string sLua = "EgtVolZmapSetMortiserTool(" + IdToString( nId) + "," + - sToolName + "," + - ToString( dLen) + "," + - ToString( dWidth) + "," + - ToString( dThick) + "," + - ToString( dCornR) + "," + - ToString( nFlag) + ")" + + string sLua = "EgtVolZmapSetMortiserTool({" + IdListToString( vIds) + "}," + + sToolName + "," + + ToString( dLen) + "," + + ToString( dWidth) + "," + + ToString( dThick) + "," + + ToString( dCornR) + "," + + ToString( nFlag) + ")" + " -- Ok=" + ToString( bOk) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; } @@ -295,23 +304,25 @@ ExeVolZmapSetMortiserTool( int nId, const string& sToolName, //---------------------------------------------------------------------------- bool -ExeVolZmapSetChiselTool( int nId, const string& sToolName, +ExeVolZmapSetChiselTool( const INTVECTOR& vIds, const string& sToolName, double dLen, double dWidth, double dThick, int nFlag) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, false) - // recupero lo Zmap e assegno i dati dell'utensile - IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( nId)) ; - bool bOk = ( pVZM != nullptr && - pVZM->SetChiselTool( sToolName, dLen, dWidth, dThick, nFlag)) ; + // recupero gli Zmap e assegno i dati dell'utensile + bool bOk = true ; + for ( int i = 0 ; i < int( vIds.size()) ; ++ i) { + IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( vIds[i])) ; + bOk = ( pVZM != nullptr && pVZM->SetChiselTool( sToolName, dLen, dWidth, dThick, nFlag) && bOk) ; + } // se richiesto, salvo il comando Lua equivalente if ( IsCmdLog()) { - string sLua = "EgtVolZmapSetChiselTool(" + IdToString( nId) + "," + - sToolName + "," + - ToString( dLen) + "," + - ToString( dWidth) + "," + - ToString( dThick) + "," + - ToString( nFlag) + ")" + + string sLua = "EgtVolZmapSetChiselTool({" + IdListToString( vIds) + "}," + + sToolName + "," + + ToString( dLen) + "," + + ToString( dWidth) + "," + + ToString( dThick) + "," + + ToString( nFlag) + ")" + " -- Ok=" + ToString( bOk) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; } diff --git a/EXE_GdbObjAttribs.cpp b/EXE_GdbObjAttribs.cpp index 91675d8..d433362 100644 --- a/EXE_GdbObjAttribs.cpp +++ b/EXE_GdbObjAttribs.cpp @@ -295,7 +295,7 @@ ExeSetColor( const INTVECTOR& vIds, const Color& cCol, bool bSetAlpha) VERIFY_GEOMDB( pGeomDB, false) // assegno il colore bool bOk = true ; - for ( size_t i = 0 ; i < vIds.size() ; ++ i) { + for ( int i = 0 ; i < int( vIds.size()) ; ++ i) { int nId = (( vIds[i] != GDB_ID_SEL) ? vIds[i] : pGeomDB->GetFirstSelectedObj()) ; while ( nId != GDB_ID_NULL) { Color cNew = cCol ; diff --git a/EgtExecutor.rc b/EgtExecutor.rc index f50d7f4..4e9bb5e 100644 Binary files a/EgtExecutor.rc and b/EgtExecutor.rc differ diff --git a/LUA_GdbModifyVol.cpp b/LUA_GdbModifyVol.cpp index bb3c72f..23f88e8 100644 --- a/LUA_GdbModifyVol.cpp +++ b/LUA_GdbModifyVol.cpp @@ -82,9 +82,9 @@ LuaRemoveVolZmapPart( lua_State* L) static int LuaVolZmapSetStdTool( lua_State* L) { - // 5 o 6 parametri : Id, sToolName, dLen, dDiam, dCornR, nFlag - int nId ; - LuaCheckParam( L, 1, nId) + // 5 o 6 parametri : vIds, sToolName, dLen, dDiam, dCornR, nFlag + INTVECTOR vIds ; + LuaCheckParam( L, 1, vIds) string sToolName ; LuaCheckParam( L, 2, sToolName) double dLen ; @@ -96,8 +96,8 @@ LuaVolZmapSetStdTool( lua_State* L) int nFlag = 1 ; LuaGetParam( L, 6, nFlag) ; LuaClearStack( L) ; - // imposto utensile standard a Zmap indicato - bool bOk = ExeVolZmapSetStdTool( nId, sToolName, dLen, dDiam, dCornR, nFlag) ; + // imposto utensile standard a Zmap indicati + bool bOk = ExeVolZmapSetStdTool( vIds, sToolName, dLen, dDiam, dCornR, nFlag) ; // restituisco il risultato LuaSetParam( L, bOk) ; return 1 ; @@ -107,9 +107,9 @@ LuaVolZmapSetStdTool( lua_State* L) static int LuaVolZmapSetAdvTool( lua_State* L) { - // 7 o 8 parametri : Id, sToolName, dLen, dDiam, dTipLen, dTipDiam, dCornR, nFlag - int nId ; - LuaCheckParam( L, 1, nId) + // 7 o 8 parametri : vIds, sToolName, dLen, dDiam, dTipLen, dTipDiam, dCornR, nFlag + INTVECTOR vIds ; + LuaCheckParam( L, 1, vIds) string sToolName ; LuaCheckParam( L, 2, sToolName) double dLen ; @@ -125,8 +125,8 @@ LuaVolZmapSetAdvTool( lua_State* L) int nFlag = 1 ; LuaGetParam( L, 8, nFlag) ; LuaClearStack( L) ; - // imposto utensile avanzato a Zmap indicato - bool bOk = ExeVolZmapSetAdvTool( nId, sToolName, dLen, dDiam, dTipLen, dTipDiam, dCornR, nFlag) ; + // imposto utensile avanzato a Zmap indicati + bool bOk = ExeVolZmapSetAdvTool( vIds, sToolName, dLen, dDiam, dTipLen, dTipDiam, dCornR, nFlag) ; // restituisco il risultato LuaSetParam( L, bOk) ; return 1 ; @@ -136,9 +136,9 @@ LuaVolZmapSetAdvTool( lua_State* L) static int LuaVolZmapSetSawTool( lua_State* L) { - // 7 o 8 parametri : Id, sToolName, dLen, dDiam, dThick, dStemDiam, dCornR, nFlag - int nId ; - LuaCheckParam( L, 1, nId) + // 7 o 8 parametri : vIds, sToolName, dLen, dDiam, dThick, dStemDiam, dCornR, nFlag + INTVECTOR vIds ; + LuaCheckParam( L, 1, vIds) string sToolName ; LuaCheckParam( L, 2, sToolName) double dLen ; @@ -154,8 +154,8 @@ LuaVolZmapSetSawTool( lua_State* L) int nFlag = 1 ; LuaGetParam( L, 8, nFlag) ; LuaClearStack( L) ; - // imposto utensile avanzato a Zmap indicato - bool bOk = ExeVolZmapSetSawTool( nId, sToolName, dLen, dDiam, dThick, dStemDiam, dCornR, nFlag) ; + // imposto utensile avanzato a Zmap indicati + bool bOk = ExeVolZmapSetSawTool( vIds, sToolName, dLen, dDiam, dThick, dStemDiam, dCornR, nFlag) ; // restituisco il risultato LuaSetParam( L, bOk) ; return 1 ; @@ -165,9 +165,9 @@ LuaVolZmapSetSawTool( lua_State* L) static int LuaVolZmapSetGenTool( lua_State* L) { - // 3 o 4 parametri : Id, sToolName, ToolSectId, nFlag - int nId ; - LuaCheckParam( L, 1, nId) + // 3 o 4 parametri : vIds, sToolName, ToolSectId, nFlag + INTVECTOR vIds ; + LuaCheckParam( L, 1, vIds) string sToolName ; LuaCheckParam( L, 2, sToolName) int nToolSectId ; @@ -175,8 +175,8 @@ LuaVolZmapSetGenTool( lua_State* L) int nFlag = 1 ; LuaGetParam( L, 4, nFlag) ; LuaClearStack( L) ; - // imposto utensile generico a Zmap indicato - bool bOk = ExeVolZmapSetGenTool( nId, sToolName, nToolSectId, nFlag) ; + // imposto utensile generico a Zmap indicati + bool bOk = ExeVolZmapSetGenTool( vIds, sToolName, nToolSectId, nFlag) ; // restituisco il risultato LuaSetParam( L, bOk) ; return 1 ; @@ -187,8 +187,8 @@ static int LuaVolZmapSetMortiserTool( lua_State* L) { // 6 o 7 parametri : Id, sToolName, dLen, dWidth, dThick, dCornR, nFlag - int nId ; - LuaCheckParam( L, 1, nId) + INTVECTOR vIds ; + LuaCheckParam( L, 1, vIds) string sToolName ; LuaCheckParam( L, 2, sToolName) double dLen ; @@ -202,8 +202,8 @@ LuaVolZmapSetMortiserTool( lua_State* L) int nFlag = 1 ; LuaGetParam( L, 7, nFlag) ; LuaClearStack( L) ; - // imposto mortasatrice a Zmap indicato - bool bOk = ExeVolZmapSetMortiserTool( nId, sToolName, dLen, dWidth, dThick, dCornR, nFlag) ; + // imposto mortasatrice a Zmap indicati + bool bOk = ExeVolZmapSetMortiserTool( vIds, sToolName, dLen, dWidth, dThick, dCornR, nFlag) ; // restituisco il risultato LuaSetParam( L, bOk) ; return 1 ; @@ -213,9 +213,9 @@ LuaVolZmapSetMortiserTool( lua_State* L) static int LuaVolZmapSetChiselTool( lua_State* L) { - // 5 o 6 parametri : Id, sToolName, dLen, dWidth, dThick, nFlag - int nId ; - LuaCheckParam( L, 1, nId) + // 5 o 6 parametri : vIds, sToolName, dLen, dWidth, dThick, nFlag + INTVECTOR vIds ; + LuaCheckParam( L, 1, vIds) string sToolName ; LuaCheckParam( L, 2, sToolName) double dLen ; @@ -227,8 +227,8 @@ LuaVolZmapSetChiselTool( lua_State* L) int nFlag = 1 ; LuaGetParam( L, 6, nFlag) ; LuaClearStack( L) ; - // imposto scalpello a Zmap indicato - bool bOk = ExeVolZmapSetChiselTool( nId, sToolName, dLen, dWidth, dThick, nFlag) ; + // imposto scalpello a Zmap indicati + bool bOk = ExeVolZmapSetChiselTool( vIds, sToolName, dLen, dWidth, dThick, nFlag) ; // restituisco il risultato LuaSetParam( L, bOk) ; return 1 ;