Overview     Modules     Class Hierarchy     Classes     Members  
tlp::Algorithm Class Reference

This abstract class describes a basic algorithm plugin. It inherits on WithParameter and WithDependency for convenience. Basic functionality consists in checking the algorithm can run on the current Graph (e.g. is the graph simple ?), running the algorithm and resetting the algorithm to re-apply it. The algorithm can and should report progress and which task it is performing if it is decomposed in multiple phases (e.g. layouting the graph, coloring it, ...). More...

#include <Algorithm.h>

Inheritance diagram for tlp::Algorithm:
Collaboration diagram for tlp::Algorithm:

List of all members.

Public Member Functions

  • Algorithm (const AlgorithmContext &context)
    Constructs an algorithm and initializes members from the AlgorithmContext.
  • virtual ~Algorithm ()
  • virtual bool run ()
    Runs the algorithm on the context that was specified during construction.
  • virtual bool check (std::string &)
    Checks if the algorithm can run on the context it was given.

Public Attributes

  • Graph * graph
    The graph this algorithm will be run on. Retrieved from the context at construction.
  • PluginProgress * pluginProgress
    A PluginProgress to give feedback to the user, retrieved from the context. It can be a NULL pointer, so use with caution.
  • DataSet * dataSet
    A DataSet containing parameters for this algorithm, if any. Retrieved from the context at construction.

Detailed Description

This abstract class describes a basic algorithm plugin. It inherits on WithParameter and WithDependency for convenience. Basic functionality consists in checking the algorithm can run on the current Graph (e.g. is the graph simple ?), running the algorithm and resetting the algorithm to re-apply it. The algorithm can and should report progress and which task it is performing if it is decomposed in multiple phases (e.g. layouting the graph, coloring it, ...).


Constructor & Destructor Documentation

tlp::Algorithm::Algorithm ( const AlgorithmContext context) [inline]

Constructs an algorithm and initializes members from the AlgorithmContext.

Parameters:
contextThe context this algorithm runs in, containing the graph, a DataSet for the parameters, and a PluginProgress to give feedback to the user about the tasks the algorithm is performing.
virtual tlp::Algorithm::~Algorithm ( ) [inline, virtual]

Member Function Documentation

virtual bool tlp::Algorithm::check ( std::string &  ) [inline, virtual]

Checks if the algorithm can run on the context it was given.

Returns:
Whether the algorithm can be applied or not.
virtual bool tlp::Algorithm::run ( ) [inline, virtual]

Runs the algorithm on the context that was specified during construction.

Returns:
bool Whether the algorithm was successful or not.

Member Data Documentation

A DataSet containing parameters for this algorithm, if any. Retrieved from the context at construction.

The graph this algorithm will be run on. Retrieved from the context at construction.

A PluginProgress to give feedback to the user, retrieved from the context. It can be a NULL pointer, so use with caution.



Tulip Software by LaBRI Visualization Team    2001 - 2012