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) ...