## SYNOPSIS

#include <TreeTest.h>

Inherits **tlp::GraphObserver**.

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

## Detailed Description

Class for testing if the graph is a 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]

## Author

Generated automatically by Doxygen for Tulip Graph Library from the source code.