Overview | Modules | Class Hierarchy | Classes | Members

Public Member Functions | Static Public Member Functions | Static Public Attributes
tlp::AlgorithmPlugin Class Reference
Plugins

A class for algorithm plug-ins The factory the registers itself in the Tulip plug-in system (through the static initFactory() method when the library is loaded.. The actual registration is delegated to a TemplateFactory for code factorization. More...

`#include <Algorithm.h>`

Inheritance diagram for tlp::AlgorithmPlugin:
[legend]
Collaboration diagram for tlp::AlgorithmPlugin:
[legend]

List of all members.

## Public Member Functions

- virtual ~AlgorithmPlugin ()
- virtual Algorithm * createPluginObject (const AlgorithmContext &context)=0
    Creates a new Algorithm object.
- virtual std::string getTulipRelease () const
    The version of Tulip this plug-in was built with. Tulip versions are X.Y.Z, X eing the major, Y the minor, and Z the patch.
- virtual std::string getMajor () const
    Only the major of the plug-in version. A version should be X.Y, X being the major.
- virtual std::string getMinor () const
    Only the minor of the plug-in version. A version should be X.Y, Y being the major.
- virtual std::string getTulipMajor () const
- virtual std::string getTulipMinor () const
- virtual std::string getClassName () const =0
- virtual std::string getName () const =0
    Returns the name of the plug-in, as registered in the Tulip plug-in system. This name must be unique, and if multiple plug-ins have the same name, only the latest encountered will be considered.
- virtual std::string getGroup () const =0
    Returns the name of the group this plug-in belongs to. Groups and sub-groups are separated by two colons. e.g. trees::planar trees.
- virtual std::string getAuthor () const =0
    The name of the author of this plug-in.
- virtual std::string getDate () const =0
    The creation date of the plug-in. This date is in a free format, but most Tulip plug-ins use a DD/MM/YYYY.
- virtual std::string getInfo () const =0
    Informations about the plug-in, from the plug-in author. These informations can contains anything, and the developer is completely free to put anything here. Most plug-ins by the Tulip team use an html format to generate help from these informations.
- virtual std::string getRelease () const =0
    The release version of the plug-in, including major and minor. The version should be X.Y, X being the major, and Y the minor.

## Static Public Member Functions

- static void initFactory (bool initing=false)
    This static initialization is called when the plug-in library is loaded, and registers the new plug-in in the Tulip plug-in system.

## Static Public Attributes

- static TLP_SCOPE
  TemplateFactory
  < AlgorithmPlugin, Algorithm,
  AlgorithmContext > * factory
    A static factory that is initialized when the library is loaded.

## Detailed Description

A class for algorithm plug-ins The factory the registers itself in the Tulip plug-in system (through the static initFactory() method when the library is loaded.. The actual registration is delegated to a TemplateFactory for code factorization.

## Constructor & Destructor Documentation

virtual tlp::AlgorithmPlugin::~AlgorithmPlugin | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

virtual Algorithm* tlp::AlgorithmPlugin::createPluginObject | ( | const AlgorithmContext & | context | ) | `[pure virtual]`

Creates a new Algorithm object.

Returns:
  Algorithm A newly created algorithm plug-in.

virtual std::string tlp::AlgorithmPlugin::getAuthor | ( |  | ) | const`[pure virtual]`

The name of the author of this plug-in.

Returns:
  the name of the author.

Implements tlp::PluginInfoInterface.

virtual std::string tlp::AlgorithmPlugin::getClassName | ( |  | ) | const`[pure virtual]`

virtual std::string tlp::AlgorithmPlugin::getDate | ( |  | ) | const`[pure virtual]`

The creation date of the plug-in. This date is in a free format, but most Tulip plug-ins use a DD/MM/YYYY.

Returns:
  the creation date.

Implements tlp::PluginInfoInterface.

virtual std::string tlp::AlgorithmPlugin::getGroup | ( |  | ) | const`[pure virtual]`

Returns the name of the group this plug-in belongs to. Groups and sub-groups are separated by two colons. e.g. trees::planar trees.

Returns:
  the group name of this plug-in.

Implements tlp::PluginInfoInterface.

virtual std::string tlp::AlgorithmPlugin::getInfo | ( |  | ) | const`[pure virtual]`

Informations about the plug-in, from the plug-in author. These informations can contains anything, and the developer is completely free to put anything here. Most plug-ins by the Tulip team use an html format to generate help from these informations.

Returns:
  string The informations associated with this plug-in.

Implements tlp::PluginInfoInterface.

virtual std::string tlp::AlgorithmPlugin::getMajor | ( |  | ) | const`[inline, virtual]`

Only the major of the plug-in version. A version should be X.Y, X being the major.

Returns:
  The major part of the plug-in version.

Implements tlp::PluginInfoInterface.

virtual std::string tlp::AlgorithmPlugin::getMinor | ( |  | ) | const`[inline, virtual]`

Only the minor of the plug-in version. A version should be X.Y, Y being the major.

Returns:
  The minor part of the plug-in version.

Implements tlp::PluginInfoInterface.

virtual std::string tlp::AlgorithmPlugin::getName | ( |  | ) | const`[pure virtual]`

Returns the name of the plug-in, as registered in the Tulip plug-in system. This name must be unique, and if multiple plug-ins have the same name, only the latest encountered will be considered.

Returns:
  string the name of the plug-in.

Implements tlp::PluginInfoInterface.

virtual std::string tlp::AlgorithmPlugin::getRelease | ( |  | ) | const`[pure virtual]`

The release version of the plug-in, including major and minor. The version should be X.Y, X being the major, and Y the minor.

Returns:
  string The release version.

Implements tlp::PluginInfoInterface.

virtual std::string tlp::AlgorithmPlugin::getTulipMajor | ( |  | ) | const`[inline, virtual]`

Returns:
  The major Tulip version the plug-in was built with.

Implements tlp::PluginInfoInterface.

virtual std::string tlp::AlgorithmPlugin::getTulipMinor | ( |  | ) | const`[inline, virtual]`

Returns:
  Return the minor Tulip version this plug-in was built with.

Implements tlp::PluginInfoInterface.

virtual std::string tlp::AlgorithmPlugin::getTulipRelease | ( |  | ) | const`[inline, virtual]`

The version of Tulip this plug-in was built with. Tulip versions are X.Y.Z, X eing the major, Y the minor, and Z the patch.

Returns:
  The Tulip version the plug-in was built with.

Implements tlp::PluginInfoInterface.

static void tlp::AlgorithmPlugin::initFactory | ( | bool | initing = `false` | ) | `[inline, static]`

This static initialization is called when the plug-in library is loaded, and registers the new plug-in in the Tulip plug-in system.

## Member Data Documentation

TLP_SCOPE TemplateFactory<AlgorithmPlugin, Algorithm, AlgorithmContext >* tlp::AlgorithmPlugin::factory`[static]`

A static factory that is initialized when the library is loaded.

Tulip Software by LaBRI Visualization Team 2001 - 2012