Example #1
0
        public static void ShowVisualizer(this RulesEngine engine)
        {
            var visitor = new GraphRulesEngineVisitor();

            engine.Accept(visitor);

            RulesEngineGraph graph = visitor.Graph;

            RulesEngineDebugVisualizer.Show(graph);
        }
Example #2
0
        public void SaveGraphToFile(RulesEngineGraph data, int width, int height, string filename)
        {
            Graph gleeGraph = CreateGraph(data);

            var renderer = new GraphRenderer(gleeGraph);

            renderer.CalculateLayout();

            var bitmap = new Bitmap(width, height, PixelFormat.Format32bppArgb);

            renderer.Render(bitmap);

            bitmap.Save(filename, ImageFormat.Png);
        }
Example #3
0
        public Graph CreateGraph(RulesEngineGraph data)
        {
            var graph = new AdjacencyGraph <Vertex, Edge <Vertex> >();

            graph.AddVertexRange(data.Vertices);
            graph.AddEdgeRange(data.Edges.Select(x => new Edge <Vertex>(x.From, x.To)));

            GleeGraphPopulator <Vertex, Edge <Vertex> > glee = graph.CreateGleePopulator();

            glee.NodeAdded += NodeStyler;
            glee.EdgeAdded += EdgeStyler;
            glee.Compute();

            Graph gleeGraph = glee.GleeGraph;

            return(gleeGraph);
        }
        public override void GetData(object target, Stream outgoingData)
        {
            if (target == null)
            {
                return;
            }

            var engine = target as RulesEngine;

            if (engine == null)
            {
                return;
            }

            RulesEngineGraph rulesEngineGraph = CreateRulesEngineGraph(engine);

            base.GetData(rulesEngineGraph, outgoingData);
        }
        public void SaveGraphToFile(RulesEngineGraph data, int width, int height, string filename)
        {
            Graph gleeGraph = CreateGraph(data);

            var renderer = new GraphRenderer(gleeGraph);
            renderer.CalculateLayout();

            var bitmap = new Bitmap(width, height, PixelFormat.Format32bppArgb);
            renderer.Render(bitmap);

            bitmap.Save(filename, ImageFormat.Png);
        }
        public Graph CreateGraph(RulesEngineGraph data)
        {
            var graph = new AdjacencyGraph<Vertex, Edge<Vertex>>();

            graph.AddVertexRange(data.Vertices);
            graph.AddEdgeRange(data.Edges.Select(x => new Edge<Vertex>(x.From, x.To)));

            GleeGraphPopulator<Vertex, Edge<Vertex>> glee = graph.CreateGleePopulator();

            glee.NodeAdded += NodeStyler;
            glee.EdgeAdded += EdgeStyler;
            glee.Compute();

            Graph gleeGraph = glee.GleeGraph;

            return gleeGraph;
        }
Example #7
0
        public static void Show(RulesEngineGraph data)
        {
            var visualizerHost = new VisualizerDevelopmentHost(data, typeof(RulesEngineDebugVisualizer));

            visualizerHost.ShowVisualizer();
        }