Biorithm  1.1
 All Classes Functions Variables Typedefs Friends
Public Member Functions
Graphwhiz::Geewhiz Class Reference

List of all members.

Public Member Functions

void addFunctionTypeDefinition (string functionId, MyColor colour, string url="")
 Add a definition for a function type.
void addFunctionTypeDefinition (string id, const FunctionType &ftype)
 Add a definition for a function type.
void addNodeInfo (const NodeInfo &info)
 Add the information for the node named in info.
void setClusterNodes ()
bool getClusterNodes () const
void setIsDirected ()
bool getIsDirected () const
 Return true if and only if the graph is directed,.
void getFunctionTypeDefinition (string id, FunctionType &type) const
 Get the definition of the function type with a given name.
bool getPrintEdgeLabels () const
 Return true iff printing of edge labels is turned on.
void setPrintEdgeLabels ()
 Turn on the printing of edge labels.
void unsetPrintEdgeLabels ()
 Turn off the printing of edge labels.
void setUndirectedLayoutProgramme (string prog)
 Set the name of the Graphviz layout programme for undirected graphs.
string getUndirectedLayoutProgramme () const
 Return the name of the Graphviz layout programme for undirected graphs.
void setDirectedLayoutProgramme (string prog)
 Set the name of the Graphviz layout programme for directed graphs.
string getDirectedLayoutProgramme () const
 Return the name of the Graphviz layout programme for undirected graphs.
void layout (string outfile, const set< string > &formats, ostream &logStream, bool runGraphviz=true)
void printDot (string outfile)
 Print the graph to be laid out in graphviz format.
void readEdges (string file)
 Read the edges of the graph to be laid out from file.
void readEdgeTypeDefinitions (string file)
 Read the definition of the type of each edge type.
void readNodeInfo (string file)
 Read the nodes and node types of the graph to be laid out from file.
void readNodeTypeDefinitions (string file)
 Read the definition of the type of each node type.
void readParameters (string filename)
 Read node, edge, and function type definitions from our own idiosyncratic "params" file.
void setGraph (const MyGraph &graph)
 Set the graph to be laid out.

Member Function Documentation

void Graphwhiz::Geewhiz::layout ( string  outfile,
const set< string > &  formats,
ostream &  logStream,
bool  runGraphviz = true 
)

Layout the graph.

Parameters:
[in]outfile,thestem of the files to output the layouts to. In other words, this parameter should not contain an extension. The method will determine what extensions to add.
[in]format,theset of formats to create the layout in. By default, the method will first create a layout in dot format.
[out]logStream,afile to print logging information to, e.g., the complete graphviz command used to create a layout.
[in]runGraphviz,invokeGraphviz commands only if this argument is true.
Note:
For an example of how to programmatically set up the graph to be laid out, look at MyOneVersusAllGainAlgo::visualiseCut().
void Graphwhiz::Geewhiz::readParameters ( string  filename)

Read node, edge, and function type definitions from our own idiosyncratic "params" file.

Cluster the nodes in the graph by type.

Geewhiz will consider the graph to be directed and use "dot" to lay out the graph.

Note:
Since the MyGraph class does not support directed graphs, for this option to work meaningfully, you must insert edges into the graph such that the first argument of MyGraph::addEdge() is the head and the second argument is the tail.
void Graphwhiz::Geewhiz::setGraph ( const MyGraph graph) [inline]

Set the graph to be laid out.

Note:
Use this method in lieu of reading the graph from a file if you already have an instane of MyGraph that you want to lay out.
If you use this method, the graph should contain correct edge labels and weights. You also need to add information on how to draw each node using calls to GeeWhiz::addNodeInfo(). You may also need to invoke GeeWhiz::readParameters().

Declare the graph to be directed.

Geewhiz will consider the graph to be directed and use "dot" to lay out the graph.

Note:
Since the MyGraph class does not support directed graphs, for this option to work meaningfully, you must insert edges into the graph such that the first argument of MyGraph::addEdge() is the head and the second argument is the tail.

The documentation for this class was generated from the following files:
 All Classes Functions Variables Typedefs Friends