4 namespace TSnapDetail {
8 GvPath =
"C:\\Prog\\GraphViz\\bin\\";
13 IAssert(Ext==
".ps" || Ext==
".gif" || Ext==
".png");
15 Ext.CStr()+1, GraphInFNm.
CStr(), OutFNm.
CStr());
17 if (system(ExeCmd.
CStr())==0) {
return; }
19 if (system(
TStr::Fmt(
".\\%s", ExeCmd.
CStr()).CStr())==0) {
return; }
21 if (system(
TStr::Fmt(
"./%s", ExeCmd.
CStr()).CStr())==0) {
return; }
23 if (system(
TStr::Fmt(
"%s%s", GvPath.CStr(), ExeCmd.
CStr()).CStr())==0) {
return; }
24 fprintf(stderr,
"[%s:%d] Cannot find GraphViz (%s). Set the PATH.\n", __FILE__, __LINE__, ExeCmd.
CStr());
32 case gvlDot :
return "dot";
void GVizDoLayout(const TStr &GraphInFNm, TStr OutFNm, const TGVizLayout &Layout)
Runs GraphViz layout engine over a graph saved in the file GraphInFNm with output saved to OutFNm...
static TStr Fmt(const char *FmtStr,...)
enum TGVizLayout_ TGVizLayout
GraphViz Layout Engines.
TStr GVizGetLayoutStr(const TGVizLayout &Layout)
Generates the GraphViz command string based on the selected Layout engine.