34 #include <QApplication> 
   35 #include <QDesktopWidget> 
   39 #include "../model/State.h" 
   40 #include "../model/Transition.h" 
   45     QObject(), id(workerId), graphvizContext(gvContext), name(name)
 
   47     m_graph = std::make_shared<LockableGraph>();
 
   48     std::unique_lock lock(m_graph->mutex);
 
   49     m_graph->graph = agopen(name.toLatin1().data(), Agdirected, NULL);
 
   50     ARMARX_INFO_S << m_graph->graph << 
" Creating Graph with name " << name.toLatin1().data();
 
   52     int dpiX = qApp->desktop()->logicalDpiX();
 
   60     agattr(m_graph->graph, AGRAPH, (
char*)
"bb", (
char*)
"0,0,1210,744");
 
   61     agattr(m_graph->graph, AGRAPH, (
char*)
"size", (
char*)
"5,5");
 
   62     agattr(m_graph->graph, AGRAPH, (
char*)
"overlap", (
char*)
"prism");
 
   63     agattr(m_graph->graph, AGRAPH, (
char*)
"splines", (
char*)
"true");
 
   64     agattr(m_graph->graph, AGRAPH, (
char*)
"pad", (
char*)
"0.2");
 
   65     agattr(m_graph->graph, AGRAPH, (
char*)
"nodesep", (
char*)
"0.4");
 
   66     agattr(m_graph->graph, AGRAPH, (
char*)
"sep", (
char*)
"1");
 
   67     agattr(m_graph->graph, AGRAPH, (
char*)
"overlap_shrink", (
char*)
"true");
 
   68     agattr(m_graph->graph, AGRAPH, (
char*)
"rankdir", (
char*)
"LR");
 
   69     agattr(m_graph->graph, AGRAPH, (
char*)
"ratio", (
char*)
"compress");
 
   81     agattr(m_graph->graph, AGNODE, (
char*)
"margin", (
char*)
"0,0");
 
   82     agattr(m_graph->graph, AGNODE, (
char*)
"fontsize", (
char*)
"7");
 
   83     agattr(m_graph->graph, AGEDGE, (
char*)
"fontsize", (
char*)
"14");
 
   87     double test1 = atof(agget(m_graph->graph, (
char*)
"dpi"));
 
   89     QString nodePtsWidth = QString(
"%1").arg(node_size / test1);
 
   95     agattr(m_graph->graph, AGEDGE, 
const_cast<char*
>(
"label"), 
const_cast<char*
>(
""));
 
   96     agattr(m_graph->graph, AGEDGE, 
const_cast<char*
>(
"fontsize"), 
const_cast<char*
>(
"25"));
 
  102     std::unique_lock lock(m_graph->mutex);
 
  103     agclose(m_graph->graph);
 
  115     auto start = IceUtil::Time::now();
 
  117     if (
true || layoutAll)
 
  120         layoutWithAlgo(
"dot");
 
  126         layoutWithAlgo(
"nop"); 
 
  130                   << (IceUtil::Time::now() - start).toMilliSecondsDouble();
 
  132     emit layoutingFinished();
 
  140         emit buildGraph(m_graph);
 
  145 armarx::LayoutWorker::layoutWithAlgo(std::string algorithm)
 
  147     std::unique_lock lock(m_graph->mutex);
 
  152     gvLayout(graphvizContext, m_graph->graph, algorithm.c_str());
 
  156     attach_attrs(m_graph->graph);
 
  159     gvFreeLayout(graphvizContext, m_graph->graph);