Aggiunta DeepCopy libreria Config delle strategie
This commit is contained in:
+10
-8
@@ -571,29 +571,31 @@ local function GetFeatureForcedStrategy( Proc)
|
||||
if sStrategyId then
|
||||
-- eseguo file config con i parametri di default
|
||||
local StrategyData = require( sStrategyId .. '\\' .. sStrategyId .. 'Config')
|
||||
|
||||
|
||||
-- se ID strategia non esiste oppure ID letto in NGE è differente da quello letto nella strategia, esco subito
|
||||
if not StrategyData or StrategyData.sStrategyId ~= sStrategyId then
|
||||
return nil
|
||||
end
|
||||
|
||||
|
||||
-- si copiano i dati
|
||||
local UpdatedParamList = BeamLib.TableCopyDeep( StrategyData)
|
||||
-- salvo che questa strategia è stata forzata, e che quindi ho già letto il file config con i parametri di default
|
||||
-- quando si calcolerà la lavorazione non servirà leggere/riverificare i parametri di default
|
||||
StrategyData.bForcedStrategy = true
|
||||
UpdatedParamList.bForcedStrategy = true
|
||||
|
||||
-- cerco e aggiorno i parametri come sono settati nel processing
|
||||
for i = 1, #StrategyData.Parameters do
|
||||
local sParameterToRead = StrategyData.sStrategyId .. '_' .. StrategyData.Parameters[i].sNameNge
|
||||
for i = 1, #UpdatedParamList.Parameters do
|
||||
local sParameterToRead = UpdatedParamList.sStrategyId .. '_' .. UpdatedParamList.Parameters[i].sNameNge
|
||||
local sForcedParameterForProc = EgtGetInfo( Proc.id, sParameterToRead, 's')
|
||||
-- se ho trovato il valore, lo sovrascrivo al default
|
||||
if sForcedParameterForProc then
|
||||
StrategyData.Parameters[i].sValue = sForcedParameterForProc
|
||||
UpdatedParamList.Parameters[i].sValue = sForcedParameterForProc
|
||||
end
|
||||
end
|
||||
|
||||
-- ritorno la lista strategia con parametri
|
||||
local StrategyToProc = {}
|
||||
table.insert( StrategyToProc, StrategyData)
|
||||
table.insert( StrategyToProc, UpdatedParamList)
|
||||
return StrategyToProc
|
||||
end
|
||||
return nil
|
||||
@@ -783,7 +785,7 @@ local function GetFeatureInfoAndDependency( vProcSingleRot, Part)
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
-- TODO contemplare anche strategie speciali
|
||||
-- caricamento librerie strategie (standard o speciali) se presenti nella Proc come strategie disponibili per questo Processing
|
||||
local function RunStrategyLibraries( sStrategyId)
|
||||
local StrategyConfigName = sStrategyId .. '\\' .. sStrategyId .. 'Config'
|
||||
local StrategyScriptName = sStrategyId .. '\\' .. sStrategyId
|
||||
|
||||
Reference in New Issue
Block a user