Пример #1
0
                public void Init()
                {
                    var assembly = BuildAssembly();

                    var mat = assembly.Materialize(Attributes.None, assembly.Stages.Select(s => s.Module).ToArray(),
                                                   new Dictionary <IModule, object>(), s => { });
                    var inHandlers  = mat.Item1;
                    var outHandlers = mat.Item2;
                    var logics      = mat.Item3;
                    var interpreter = new GraphInterpreter(assembly, NoMaterializer.Instance, _logger, inHandlers, outHandlers, logics, (l, o, a) => {}, false);

                    var i = 0;

                    foreach (var upstream in _upstreams)
                    {
                        interpreter.AttachUpstreamBoundary(i++, upstream.Item1);
                    }
                    i = 0;
                    foreach (var downstream in _downstreams)
                    {
                        interpreter.AttachDownstreamBoundary((i++) + _upstreams.Count + _connections.Count, downstream.Item2);
                    }
                    interpreter.Init(null);
                    _interpreterSetter(interpreter);
                }
Пример #2
0
        private static Graph PrepareGraphWithColoringParameters(string path, out int[] startValues)
        {
            GraphInterpreter graphInterpreter = new GraphInterpreter(path);
            Graph            graph            = graphInterpreter.GetGraph;

            startValues = graph.Vertexes.ToArray();
            return(graph);
        }
Пример #3
0
            public void ManualInit(GraphAssembly assembly)
            {
                var mat = assembly.Materialize(Attributes.None, assembly.Stages.Select(s => s.Module).ToArray(),
                                               new Dictionary <IModule, object>(), s => { });
                var inHandlers  = mat.Item1;
                var outHandlers = mat.Item2;
                var logics      = mat.Item3;

                _interpreter = new GraphInterpreter(assembly, NoMaterializer.Instance, _logger, inHandlers, outHandlers, logics, (l, o, a) => {}, false);
            }
Пример #4
0
 public AssemblyBuilder Builder(params IGraphStageWithMaterializedValue <Shape, object>[] stages)
 {
     return(new AssemblyBuilder(_logger, interpreter => _interpreter = interpreter, stages));
 }