refactor programmable modules
This commit is contained in:
@@ -91,9 +91,8 @@ public abstract partial class BaseBoard : Panel, IBaseBoard
|
||||
module.Board = this;
|
||||
AddChild(module.AsNode);
|
||||
if (module is ICompositeModule compositeModule)
|
||||
foreach (IBaseModule subModule in compositeModule.SubModules())
|
||||
foreach (IBaseModule subModule in compositeModule.SubModules)
|
||||
subModule.Board = this;
|
||||
|
||||
module.Position = pos;
|
||||
Modules.Add(module);
|
||||
}
|
||||
|
||||
@@ -1,25 +1,37 @@
|
||||
using Enigmos.Modules.InterlayerModules;
|
||||
using Enigmos.Modules.Other;
|
||||
using Enigmos.Modules.ProgrammableModules.FilterModule;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Modules.InterlayerModules;
|
||||
using Nocturnis.GlobalManagement.Constants;
|
||||
|
||||
namespace Enigmos.Boards;
|
||||
public partial class FilterModuleBoard : BaseBoard
|
||||
{
|
||||
public IInterlayerDataOutModule[] Outputs { get; set; } = Array.Empty<IInterlayerDataOutModule>();
|
||||
public IterativeOutputModule? IterativeOutput { get; set; }
|
||||
public IndicateInputModule? Indicate { get; set; }
|
||||
public IFilterModule? FilterModule { get; set; }
|
||||
|
||||
public override void Init()
|
||||
public FilterInputProviderModule? InputProvider { get; set; }
|
||||
|
||||
public IInterlayerDataOutModule[] FilterInputProxy { get; set; } = Array.Empty<IInterlayerDataOutModule>();
|
||||
//public IInterlayerDataOutModule[] Outputs { get; set; } = Array.Empty<IInterlayerDataOutModule>();
|
||||
|
||||
//public XIterativeOutputModule? IterativeOutput { get; set; }
|
||||
//public IDataInPort? Indicate { get; set; }
|
||||
//public IndicateInputModule? Indicate { get; set; }
|
||||
public FilterIndicateModule? Indicate { get; set; }
|
||||
|
||||
public void Init(IFilterModule filterModule)
|
||||
{
|
||||
base.Init();
|
||||
Outputs = new IInterlayerDataOutModule[3];
|
||||
FilterModule = filterModule;
|
||||
FilterInputProxy = new IInterlayerDataOutModule[3];
|
||||
InputProvider = GetModule<FilterInputProviderModule>("InputProvider");
|
||||
InputProvider.Init(this);
|
||||
for (int i = 1; i <= 3; i++)
|
||||
Outputs[i-1] = GetModule<InterlayerDataOutModule>($"IO{i}");
|
||||
FilterInputProxy[i - 1] = GetModule<InterlayerDataOutModule>($"IO{i}");
|
||||
base.Init();
|
||||
IterativeOutput = GetModule<IterativeOutputModule>("IterativeOutput");
|
||||
Indicate = GetModule<IndicateInputModule>("Indicate");
|
||||
Indicate.Input!.SetDataType(EnigmosConstant.DataPortTypes.Bit);
|
||||
//IterativeOutput = GetModule<XIterativeOutputModule>("IterativeOutput");
|
||||
Indicate = GetModule<FilterIndicateModule>("Indicate");
|
||||
Indicate.Indicate!.SetDataType(EnigmosConstant.DataPortTypes.Bit);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
using Enigmos.Modules.InterlayerModules;
|
||||
using Enigmos.Modules.Other;
|
||||
using Enigmos.Modules.ProgrammableModules.OptimizationModule;
|
||||
using Nocturnis.GlobalManagement.Constants;
|
||||
|
||||
namespace Enigmos.Boards;
|
||||
|
||||
public partial class OptimizationModuleBoard : BaseBoard
|
||||
{
|
||||
public IterativeOutputModule? IterOut { get; set; }
|
||||
public OptimizationValueInputModule? ValueIn { get; set; }
|
||||
public OptimizationModule? OptimizationModule { get; set; }
|
||||
|
||||
public OptimizationInputProviderModule? InputProvider { get; set; }
|
||||
public OptimizationSelectorModule? Selector { get; set; }
|
||||
public InterlayerDataOutModule[] ImplicitDataOuts { get; set; } = Array.Empty<InterlayerDataOutModule>();
|
||||
public override void Init()
|
||||
{
|
||||
@@ -16,9 +19,8 @@ public partial class OptimizationModuleBoard : BaseBoard
|
||||
base.Init();
|
||||
for (int i = 0; i < 3; i++)
|
||||
ImplicitDataOuts[i] = GetModule<InterlayerDataOutModule>($"IO{i + 1}");
|
||||
IterOut = GetModule<IterativeOutputModule>("IterOut");
|
||||
ValueIn = GetModule<OptimizationValueInputModule>("ValueIn");
|
||||
IterOut.Output!.SetDataType(EnigmosConstant.DataPortTypes.Real);
|
||||
ValueIn.DataIn.SetDataType(EnigmosConstant.DataPortTypes.Real);
|
||||
InputProvider = GetModule<OptimizationInputProviderModule>("InputProvider");
|
||||
Selector = GetModule<OptimizationSelectorModule>("Selector");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user