Overview | Modules | Class Hierarchy | Classes | Members

# tlp::TreeTest Class Reference
[Graph_test]

`#include <TreeTest.h>`

Inherits tlp::GraphObserver.

Inheritance diagram for tlp::TreeTest:

[legend]
Collaboration diagram for tlp::TreeTest:

[legend]
List of all members.

## Detailed Description

Class for testing if the graph is a tree.

## Static Public Member Functions

- static bool isTree (Graph *graph)
- static bool isFreeTree (Graph *graph)
- static void makeRootedTree (Graph *freeTree, node root)
- static void makeDirectedTree (Graph *freeTree, node root)
- static Graph * computeTree (Graph *graph, Graph *rootGraph=0, bool isConnected=false, PluginProgress *pluginProgress=0)
- static void cleanComputedTree (Graph *graph, Graph *tree)

## Member Function Documentation

static void tlp::TreeTest::cleanComputedTree | ( | Graph * | graph,
|  | Graph * | tree
| ) | `[static]`

| Clean the graph from a tree previously computed with the computeRootedTree function

static Graph* tlp::TreeTest::computeTree | ( | Graph * | graph,
|  | Graph * | rootGraph = `0`,
|  | bool | isConnected = `false`,
|  | PluginProgress * | pluginProgress = `0`
| ) | `[static]`

Compute a rooted tree from the graph. The algorithm is the following

- if the graph is a rooted tree, return the graph
- if the graph is a free tree, return a rooted copy
- if the graph is connected, make a copy return a rooted spanning tree of that copy
- if the graph is not connected, make a copy, compute a tree for each of its connected components, add a simple source and return the copy.

static bool tlp::TreeTest::isFreeTree | ( | Graph * | graph | ) | `[static]`

static bool tlp::TreeTest::isTree | ( | Graph * | graph | ) | `[static]`

static void tlp::TreeTest::makeDirectedTree | ( | Graph * | freeTree,
|  | node | root
| ) | `[inline, static]`

static void tlp::TreeTest::makeRootedTree | ( | Graph * | freeTree,
|  | node | root
| ) | `[static]`

Tulip Software by LaBRI Visualization Team 2001 - 2010