CSharpUML.GraphViz.Dot C# (CSharp) Метод

Dot() публичный статический Метод

public static Dot ( string format, string input, string output, string extra = "" ) : void
format string
input string
output string
extra string
Результат void
        public static void Dot(string format, string input, string output, string extra="")
        {
            try {
                var info = new ProcessStartInfo (
                    "dot", "-T" + format + " -o'" + output + "' '" + input + "'" //+ " -Gdpi=300"
                );
                info.WindowStyle = ProcessWindowStyle.Hidden;
                Console.Write (".");
                using (Process exeProcess = Process.Start (info)) {
                    exeProcess.WaitForExit ();
                }

            } catch (Exception) {
            }
        }

Usage Example

Пример #1
0
        private static void Uml2Diagram(IEnumerable <string> paths, string target)
        {
            foreach (string path in paths)
            {
                Console.WriteLine(path);
                string graphdir = target.Length > 0 ? target + "/" : path + "/graphs/";

                List <IUmlObject> allObjects  = new List <IUmlObject> ();
                Action <string>   processFile = (filename) => {
                    if (!filename.Contains("graphs") && !filename.Contains("ModelDefinition"))
                    {
                        IParser parser = new UmlParser();
                        Console.WriteLine("Read: " + filename);
                        allObjects.AddRange(parser.Parse(filename));
                        //foreach (IUmlObject obj in objects) {
                        //	Console.WriteLine (obj);
                        //}
                    }
                };
                Files.SearchFiles(path, new string[] { ".uml" }, processFile);

                Console.WriteLine("Write: " + "classes.dot");
                ClassDiagram allDia = new ClassDiagram(allObjects);
                Files.WriteLines(graphdir + "classes.dot", allDia.DotCode());
                GraphViz.Dot("svg", graphdir + "classes.dot", graphdir + "classes.svg");
                GraphViz.Dot("png", graphdir + "classes.dot", graphdir + "classes.png");

                foreach (UmlClass obj in allObjects.OfType <UmlClass>())
                {
                    string filename = "class-" + obj.Name.Clean();
                    Console.WriteLine("Write: " + filename + ".svg");

                    IEnumerable <IUmlObject> relatedObjects = obj.FindRelated(allObjects);

                    // write class diagram
                    ClassDiagram dia = new ClassDiagram(relatedObjects);
                    Files.WriteLines(graphdir + filename + ".dot", dia.DotCode());
                    GraphViz.Dot("svg", graphdir + filename + ".dot", graphdir + filename + ".svg");

                    // write uml code
                    List <string> lines = new List <string> ();
                    foreach (IUmlObject relObj in relatedObjects)
                    {
                        lines.Add(relObj.ToUmlCode() + "\n");
                    }
                    Files.WriteLines(graphdir + filename + ".uml", lines);
                }
            }
        }
All Usage Examples Of CSharpUML.GraphViz::Dot