32 #ifndef _GRAPH_WRAPPER_H_ 
   33 #define _GRAPH_WRAPPER_H_ 
   36 #include <graphviz/gvc.h> 
   37 #include <graphviz/graph.h> 
   38 #include <boost/lexical_cast.hpp> 
   44 using namespace boost;
 
   66                 GVGraph(
string name,
double node_size=50);
 
   83                 void addNode(
const string& name);
 
   91                 void addNodes(vector<string>& names);
 
  102                 void removeNode(
const string& name);
 
  118                 Agnode_t*selectNode(
string&name);
 
  120                 Agedge_t*selectEdge(
string&source,
string&target);
 
  130                 int setNodeAttribute(
string name,
string attribute,
string value);
 
  132                 int setEdgeAttribute(
string source,
string target,
string attribute,
string value);
 
  141                 void addEdge(
const string& source, 
const string& target);
 
  151                 void removeEdge(
const string& source, 
const string& target);
 
  160                 void removeEdge(
const pair<string, string>& key);
 
  168                 void setRootNode(
const string& name);
 
  198                 GVC_t*getGVCcontext(
void);
 
  208                 Agraph_t* _agopen(
string name,
int kind);
 
  217                 Agsym_t* _agnodeattr(
string name,
string value);
 
  226                 Agsym_t* _agedgeattr(
string name,
string value);
 
  237                 string _agget(
void*
object,
string attr,
string alt=
string());
 
  248                 int _agset(
void*
object,
string attr,
string value);
 
  257                 Agnode_t* _agnode(
string name);
 
  268                 int _gvLayout(GVC_t*gvc,graph_t*graph,
string engine);           
 
  280                 map<pair<string,string>, Agedge_t*> 
_edges;
 
An object containing a libgraph graph and its associated nodes and edges. . 
 
Agraph_t * _graph
Agraph main object. 
 
GVC_t * _context
GV context main variable. 
 
map< pair< string, string >, Agedge_t * > _edges
Edge map, used for edge tracking. 
 
map< string, Agnode_t * > _nodes
Node map, used for node tracking. 
 
static const double DotDefaultDPI
Default DPI value used by dot (which uses points instead of pixels for coordinates) ...