Tulip  4.6.0
Better Visualization Through Research
Graph model

Classes

class  tlp::AbstractProperty< Tnode, Tedge, Tprop >
 This class extends upon PropertyInterface, and adds type-safe methods to get and set the node and edge values, through the magic of template programming. More...
class  tlp::BooleanProperty
 A graph property that maps a boolean value to graph elements. More...
class  tlp::BooleanVectorProperty
 A graph property that maps a std::vector<bool> value to graph elements. More...
class  tlp::ColorProperty
 A graph property that maps a tlp::Color value to graph elements. More...
class  tlp::ColorVectorProperty
 A graph property that maps a std::vector<tlp::Color> value to graph elements. More...
class  tlp::CoordVectorProperty
 A graph property that maps a std::vector<tlp::Coord> value to graph elements. More...
class  tlp::DoubleProperty
 A graph property that maps a double value to graph elements. More...
class  tlp::DoubleVectorProperty
 A graph property that maps a std::vector<double> value to graph elements. More...
struct  tlp::edge
 The edge struct represents an edge in a Graph object. More...
class  tlp::Graph
class  tlp::GraphProperty
 A graph property that maps a tlp::Graph* value to graph elements. More...
class  tlp::LayoutProperty
 A graph property that maps a tlp::Coord value to graph nodes and std::vector<tlp::Coord> for edges. More...
struct  tlp::node
 The node struct represents a node in a Graph object. More...
class  tlp::PropertyInterface
 PropertyInterface describes the interface of a graph property. More...
class  tlp::SizeProperty
 A graph property that maps a tlp::Size value to graph elements. More...
class  tlp::SizeVectorProperty
 A graph property that maps a std::vector<tlp::Size> value to graph elements. More...
class  tlp::StringProperty
 A graph property that maps a std::string value to graph elements. More...
class  tlp::StringVectorProperty
 A graph property that maps a std::vector<std::string> value to graph elements. More...
class  tlp::VectorPropertyInterface
 VectorPropertyInterface describes the interface of a graph property whose holded value is a vector (std::vector) More...

Functions

void tlp::copyToGraph (Graph *outG, const Graph *inG, BooleanProperty *inSelection=NULL, BooleanProperty *outSelection=NULL)
bool tlp::exportGraph (Graph *graph, std::ostream &outputStream, const std::string &format, DataSet &dataSet, PluginProgress *progress=NULL)
Iterator< Graph * > * tlp::getRootGraphs ()
Graph * tlp::importGraph (const std::string &format, DataSet &dataSet, PluginProgress *progress=NULL, Graph *newGraph=NULL)
Graph * tlp::loadGraph (const std::string &filename, tlp::PluginProgress *progress=NULL)
Graph * tlp::newGraph ()
void tlp::removeFromGraph (Graph *ioG, BooleanProperty *inSelection=NULL)
bool tlp::saveGraph (Graph *graph, const std::string &filename, tlp::PluginProgress *progress=NULL)

Detailed Description

Tulip graphs manipulation system Classes in this group are related to the core system of Graph manipulation.


Function Documentation

void tlp::copyToGraph ( Graph *  outG,
const Graph *  inG,
BooleanProperty *  inSelection = NULL,
BooleanProperty *  outSelection = NULL 
)

Appends the selected part of the graph inG (properties, nodes and edges) into the graph outG. If no selection is done (inSel=NULL), the whole inG graph is appended. The output selection is used to select the appended nodes & edges

Warning:
The input selection is extended to all selected edge ends.
bool tlp::exportGraph ( Graph *  graph,
std::ostream &  outputStream,
const std::string &  format,
DataSet &  dataSet,
PluginProgress *  progress = NULL 
)

Exports a graph using the specified export plugin with parameters stored in the DataSet.

You determine the destination, whether by using a fstream, or by saving the contents of the stream to the destination of your choice.

Parameters:
graphThe graph to export.
outputStreamThe stream to export to. Can be a standard ostream, an ofstream, or even a gzipped ostream.
formatThe format to use to export the Graph.
dataSetThe parameters to pass to the export plugin (e.g. additional data, options for the format)
progressA PluginProgress to report the progress of the operation, as well as final state. Defaults to NULL.
Returns:
bool Whether the export was successfull or not.
Iterator<Graph*>* tlp::getRootGraphs ( )

Gets an iterator over the root graphs. That is all the currently existing graphs which have been created using the tlp::newGraph, tlp::loadGraph or tlp::importGraph functions and are the root graphs of an existing graph hierarchy.

Returns:
An iterator over all the root graphs. The caller of this function is responsible of the deletion of the returned iterator.
Graph* tlp::importGraph ( const std::string &  format,
DataSet &  dataSet,
PluginProgress *  progress = NULL,
Graph *  newGraph = NULL 
)

Imports a graph using the specified import plugin with the parameters stored in the DataSet.

If no graph is passed, then a new graph will be created. You can pass a graph in order to import data into it. Returns the graph with imported data, or NULL if the import failed. In this case, the Pluginprogress should have an error that can be displayed.

Parameters:
formatThe format to use to import the graph.
dataSetThe parameters to pass to the import plugin (file to read, ...)
progressA PluginProgress to report the progress of the operation, as well as final state. Defaults to NULL.
newGraphThe graph to import the data into. This can be usefull to import data into a subgraph. Defaults to NULL.
Returns:
:Graph* The graph containing the imported data, or NULL in case of failure.
Examples:
clique_import/cliqueimport.cpp.
Graph* tlp::loadGraph ( const std::string &  filename,
tlp::PluginProgress progress = NULL 
)

Loads a graph in the tlp format from a file (extension can be .tlp or .tlp.gz). This function uses the "TLP Import" import plugin, and will fail if it is not loaded (By default this plugin is linked into the library and should be loaded).

If the import fails (no such file, parse error, ...) NULL is returned.

Parameters:
filenameThe file in tlp format to parse.
Returns:
:Graph* The imported Graph, NULL if the import failed.
Examples:
graph_display/graph_display.cpp.
Graph* tlp::newGraph ( )

Creates a new, empty graph.

This is a simple method factory to create a Graph implementation (remember, Graph is only an interface).

This is the recommended way to create a new Graph.

Returns:
:Graph* A new, empty graph.
Examples:
graph_display/graph_display.cpp.
void tlp::removeFromGraph ( Graph *  ioG,
BooleanProperty *  inSelection = NULL 
)

Removes the selected part of the graph ioG (properties values, nodes and edges). If no selection is done (inSel=NULL), the whole graph is reseted to default value.

Warning:
The selection is extended to all selected edge ends.
bool tlp::saveGraph ( Graph *  graph,
const std::string &  filename,
tlp::PluginProgress progress = NULL 
)

Saves the corresponding graph and all its subgraphs to a file using the tlp format. Extension of the file can be either .tlp (human-readable text file) or .tlp.gz (gzipped text file).

This function checks the file name for the '.gz' extension and uses a compressed output if found.

This function uses the "TLP Export" export plugin, and will fail if it is not loaded (by default this plugin is linked into the library and should be loaded).

Parameters:
graphthe graph to save.
filenamethe file to save the graph to.
Returns:
bool Whether the export was successfull or not.
 All Classes Files Functions Variables Enumerations Enumerator Properties