Tulip  4.4.0
Better Visualization Through Research
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Groups Pages
tlp Namespace Reference

Classes

struct  _TLP_IT
 Encapsulation of a Tulip Iterator intended to be allocated on the stack instead of the heap, so it gets deleted when out of scope. More...
 
class  AbstractProperty
 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  AcyclicTest
 This class provides tests for acyclicity on a graph. Results are cached in a map of graphs and result. This class observes the graphs that have been tested to remove the result from this graph if it is modified. This forces the use of the singleton pattern instead of simply using static functions/members. More...
 
class  AdditionalGlSceneAnimation
 A class which encapsulate a Tulip OpenGL scene animation This class aims to encapsulate a Tulip OpenGL scene animation. Derive it if you want to add extra animations to the Tulip OpenGL scene while a Zoom and Pan is performed. More...
 
class  Algorithm
 This abstract class describes a basic algorithm plugin. More...
 
class  AlgorithmContext
 Parameters structure for a tlp::Algorithm. More...
 
struct  Array
 Fixed-size array encapsulation.In debug mode, a bound check is performed at each access. Stream operators implementations are provided. More...
 
class  BiconnectedTest
 Performs a test of biconnexity on the graph, and provides a function to make a graph biconnected. From Wikipedia: "A biconnected graph is connected and nonseparable, meaning that if any vertex were to be removed, the graph will remain connected.". More...
 
class  BooleanAlgorithm
 The boolean algorithm takes a graph as input and output its results as a tlp::BooleanProperty. More...
 
class  BooleanProperty
 A graph property that maps a boolean value to graph elements. More...
 
class  BooleanVectorProperty
 A graph property that maps a std::vector<bool> value to graph elements. More...
 
struct  BoundingBox
 This class represents the 3D bounding box of an object. It is mostly used to determine whether or not two object are in a state of collision. More...
 
class  Camera
 Tulip OpenGL camera object. More...
 
class  ColorAlgorithm
 The color algorithm takes a graph as input and output its results as a tlp::ColorProperty. More...
 
class  ColorProperty
 A graph property that maps a tlp::Color value to graph elements. More...
 
class  ColorVectorProperty
 A graph property that maps a std::vector<tlp::Color> value to graph elements. More...
 
class  ConnectedTest
 Performs a test of connexity on the graph, and provides a function to make a graph connected. From Wikipedia: "A graph is said to be connected if every pair of vertices in the graph are connected." (i.e. there is a path between every pair of vertices). More...
 
class  CoordVectorProperty
 A graph property that maps a std::vector<tlp::Coord> value to graph elements. More...
 
class  DataSet
 A container that can store data from any type. More...
 
struct  DataType
 Describes a value of any type. More...
 
struct  Dependency
 Represents a plugin's dependency to another plugin. In addition to maganing plugin registration, Tulip also handles a dependency mechanism between plugins. Every Tulip plugin inherits from the tlp::WithDependency interface which allows to declare that another plugin should be loaded in order for this plugin to run. When declaring a dependency, a plugin state the name and the version of the dependecy. This is done by calling tlp::WithDependency::addDependency() More...
 
class  DoubleAlgorithm
 The double algorithm takes a graph as input and output its results as a tlp::DoubleProperty. More...
 
class  DoubleProperty
 A graph property that maps a double value to graph elements. More...
 
class  DoubleVectorProperty
 A graph property that maps a std::vector<double> value to graph elements. More...
 
struct  edge
 The edge struct represents an edge in a Graph object. More...
 
class  Event
 Event is the base class for all events used in the Observation mechanism. More...
 
class  FactoryInterface
 The base class for plugin factories. More...
 
class  Gl2DRect
 Create a 2D rectangle. More...
 
class  GlAbstractPolygon
 class to create a abstract polygon More...
 
class  GlAxis
 A base class to draw an axis with graduations. More...
 
class  GlBezierCurve
 A class to draw Bezier curves. More...
 
class  GlBox
 General class used to render boxes as GlSimpleEntity. More...
 
class  GlCatmullRomCurve
 A class to draw a Catmull-Rom curve. More...
 
class  GlCircle
 Class used to render circles as GlEntity. More...
 
class  GlComplexPolygon
 Class to create a complex polygon (concave polygon or polygon with hole) If you want to create a complex polygon you have 4 constructors : Constructors with vector of coords : to create a complex polygon without hole. More...
 
class  GlComposite
 GlSimpleEntity used to agregate other GlEntity. More...
 
class  GlDefaultSelectionColorManager
 Class to get the default selection color. More...
 
class  GlGraphComposite
 Class use to visualize graph in OpenGL Tulip engine. More...
 
class  GlGraphRenderer
 Class used by GlGraphComposite to render the graph in OpenGL. More...
 
class  GlGraphRenderingParameters
 That class defines all the parameters used by GlGraphComposite to render a graph. More...
 
class  GlGrid
 General class used to render grids as GlSimpleEntity. More...
 
class  GlHexagon
 class to create an hexagon in Tulip 3D Engine More...
 
class  GLInteractorComponent
 The GLInteractorComponent class is an InteractorComponent that can do OpenGL rendering on a GlMainWidget. More...
 
class  GLInteractorComposite
 The GLInteractorComposite class behaves like a InteractorComposite but is meant to store GLInteractorComponent. More...
 
class  GlLabel
 Create a label into Tulip 3D engine. More...
 
class  GlLayer
 A GlLayer is like an 2D drawing software layer system. More...
 
class  GlMainView
 An abstract view that displays a GlMainWidget as its central widget. More...
 
class  GlMainWidget
 This widget provide a simple system to visualize data/graph with OpenGL 3D engine. More...
 
class  GlOpenUniformCubicBSpline
 A class to draw open uniform cubic B-splines. More...
 
class  GlPentagon
 class to create an pentagon More...
 
class  GlPolygon
 Class to create a polygon GlEntity. More...
 
class  GlRect
 This is a general class for the rendering of 2D rectangles. More...
 
class  GlRegularPolygon
 class to create a regular polygon More...
 
class  GlScene
 Tulip scene class. More...
 
class  GlSceneZoomAndPan
 A convenient class to perform Zoom and Pan animation on Tulip OpenGL scene. More...
 
class  GlSimpleEntity
 Base class for all Tulip OpenGL entities. More...
 
class  GlSphere
 Class to create a sphere with GlEntity system. More...
 
class  GlStar
 class to create a star More...
 
class  GlTriangle
 Class to create a triangle. More...
 
class  Graph
 
class  GraphEvent
 
class  GraphNeedsSavingObserver
 The GraphNeedsSavingObserver class will observe a graph and tells if it has been modified. More...
 
class  GraphProperty
 A graph property that maps a tlp::Graph* value to graph elements. More...
 
class  IntegerAlgorithm
 The integer algorithm takes a graph as input and output its results as a tlp::IntegerProperty. More...
 
class  Interactor
 Interactor provides a way to handle user inputs over a view. Basically, The interactor class is an overlay to the Qt's event filtering mechanism. It adds several features like the ability to define priorities, custom cursors, etc. More...
 
class  InteractorComposite
 
class  InteractorLister
 The InteractorLister class lists compatible interactors for a given tlp::View. More...
 
class  LayoutAlgorithm
 The layout algorithm takes a graph as input and output its results as a tlp::LayoutProperty. More...
 
class  LayoutProperty
 A graph property that maps a tlp::Coord value to graph nodes and std::vector<tlp::Coord> for edges. More...
 
class  MinMaxProperty
 Abstracts the computation of minimal and maximal values on node and edge values of properties. More...
 
struct  node
 The node struct represents a node in a Graph object. More...
 
class  NodeLinkDiagramComponentInteractor
 Tulip interactor abstract class for NodeLinkDiagramComponent. More...
 
class  NumericProperty
 Interface all numerical properties. Property values are always returned as double. More...
 
class  Observable
 The Observable class is the base of Tulip's observation system. More...
 
class  ObservableException
 ObservableException is the base class of all exceptions sent by the Observable/Listener/Observer system. More...
 
class  ObserverHolder
 The ObserverHolder class is a convenience class to automatically hold and unhold observers. It performs a call to Observable::holdObserver() at its creation and a call to Observable::unholdObserver() at its destruction. You can use it if you have to hold observers in a function with multiple return points to avoid to call Observable::unholdObserver() for each of them. More...
 
class  ParameterDescription
 Describes a plugin's parameter. More...
 
struct  ParameterDescriptionList
 This class describes parameters taken by a plugin. More...
 
class  Perspective
 A Perspective is a Tulip plugin that completely re-defines the user interface. More...
 
class  PerspectiveContext
 A context data structure for tlp::Perspective instances. More...
 
class  Plugin
 Top-level interface for plug-ins. More...
 
class  PluginContext
 Contains runtime parameters for a plugin. More...
 
class  PluginLibraryLoader
 This class takes care of the actual loading of the libraries. You can use it to load a single plugin (loadPluginLibrary) or all the plugins in a given folder (loadPlugins).0. More...
 
class  PluginLister
 The PluginLister class is a singleton used to list plugins currently loaded into Tulip and retrieve information about them. More...
 
struct  PluginLoader
 A callback class when loading plugins into Tulip. More...
 
struct  PluginLoaderTxt
 A simple implementation of tlp::PluginLoader to display load state into the console. More...
 
class  PluginProgress
 PluginProcess subclasses are meant to notify about the progress state of some process (typically a plugin) More...
 
class  ProgressPreviewHandler
 The ProgressPreviewHandler class handles the way a process handled by a PluginProgress is handled. More...
 
class  PropertyAlgorithm
 A non-template interface for tlp::TemplateAlgorithm. More...
 
class  PropertyEvent
 Contains additional information about events on a property, such as the property it happened on, the node/edge eventually concerned and such. It also contains the detailed type of the event. More...
 
class  PropertyInterface
 PropertyInterface describes the interface of a graph property. More...
 
class  QtGlSceneZoomAndPanAnimator
 A convenient class to perform a Zoom and Pan animation on a GlMainWidget. More...
 
struct  SelectedEntity
 Structure to store selected entities. More...
 
struct  SelfLoops
 Stores all the added information on self loops. More...
 
class  SizeAlgorithm
 The size algorithm takes a graph as input and output its results as a tlp::SizeProperty. More...
 
class  SizeProperty
 A graph property that maps a tlp::Size value to graph elements. More...
 
class  SizeVectorProperty
 A graph property that maps a std::vector<tlp::Size> value to graph elements. More...
 
class  StringAlgorithm
 The string algorithm takes a graph as input and output its results as a tlp::StringProperty. More...
 
class  StringProperty
 A graph property that maps a std::string value to graph elements. More...
 
class  StringVectorProperty
 A graph property that maps a std::vector<std::string> value to graph elements. More...
 
class  TemplateAlgorithm
 The TemplateAlgorithm class describes a plugin that can operate on a single graph's property. More...
 
class  TulipProject
 The TulipProject object handles the content of a Tulip project. More...
 
class  View
 View plugins provide a way to dynamically add to a Tulip plateform various ways to visualize a graph. More...
 
class  ViewWidget
 ViewWidget provides convenience functions to allow the user to build a view plugin that displays a QWidget as its main element. More...
 
class  WithDependency
 Describes the dependencies of a plug-in on other plug-ins, identified by their name and their version number. More...
 
struct  WithParameter
 This class describes parameters on a plug-in. More...
 

Typedefs

typedef AbstractProperty
< tlp::ColorType,
tlp::ColorType > 
AbstractColorProperty
 
typedef AbstractProperty
< tlp::GraphType,
tlp::EdgeSetType > 
AbstractGraphProperty
 
typedef AbstractProperty
< tlp::PointType,
tlp::LineType > 
AbstractLayoutProperty
 
typedef AbstractProperty
< tlp::SizeType, tlp::SizeType > 
AbstractSizeProperty
 
typedef AbstractProperty
< tlp::StringType,
tlp::StringType > 
AbstractStringProperty
 
typedef MinMaxProperty
< tlp::DoubleType,
tlp::DoubleType,
tlp::NumericProperty
DoubleMinMaxProperty
 
typedef MinMaxProperty
< tlp::PointType,
tlp::LineType > 
LayoutMinMaxProperty
 
typedef CoordVectorProperty LayoutVectorProperty
 

Enumerations

enum  ElementType { NODE = 0, EDGE = 1 }
 
enum  ParameterDirection { IN_PARAM =0, OUT_PARAM = 1, INOUT_PARAM = 2 }
 
enum  ProgressState { TLP_CONTINUE, TLP_CANCEL, TLP_STOP }
 

Functions

 _DEPRECATED_TYPEDEF (ObserverHolder, ObserverLocker)
 
template<typename TYPE >
bool _tlp_if_test (TYPE &n, _TLP_IT< TYPE > &_it)
 
void CALLBACK beginCallback (GLenum which, GLvoid *polygonData)
 
QColor colorToQColor (const Color &color)
 
void CALLBACK combineCallback (GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut, GLvoid *polygonData)
 
void convexHull (const std::vector< Coord > &points, std::vector< unsigned int > &convexHull)
 
void convexHull (const std::vector< Coord > &points, std::vector< std::vector< unsigned int > > &convexHullFacets, std::vector< std::vector< unsigned int > > &facetNeighbors)
 
void copyToGraph (Graph *outG, const Graph *inG, BooleanProperty *inSelection=NULL, BooleanProperty *outSelection=NULL)
 
TLP_PYTHON_SCOPE void decrefPyObject (PyObject *obj)
 
std::string demangleClassName (const char *className, bool hideTlp=false)
 
std::string demangleTlpClassName (const char *className)
 
void CALLBACK endCallback (GLvoid *polygonData)
 
void CALLBACK errorCallback (GLenum errorCode)
 
bool exportGraph (Graph *graph, std::ostream &outputStream, const std::string &format, DataSet &dataSet, PluginProgress *progress=NULL)
 
bool getColorDialog (const QColor &color, QWidget *parent, const QString &title, QColor &result)
 
std::istream * getIgzstream (const char *name, int open_mode=std::ios::in)
 
std::string getMajor (const std::string &release)
 
std::string getMinor (const std::string &release)
 
std::ostream * getOgzstream (const char *name, int open_mode=std::ios::out)
 
QString getPluginLocalInstallationDir ()
 
QString getPluginPackageName (const QString &pluginName)
 
QString getPluginStagingDirectory ()
 
GraphimportGraph (const std::string &format, DataSet &dataSet, PluginProgress *progress=NULL, Graph *newGraph=NULL)
 
void initTulipLib (const char *appDirPath=NULL)
 
void initTulipSoftware (PluginLoader *loader=NULL, bool removeDiscardedPlugins=false)
 
GraphloadGraph (const std::string &filename, tlp::PluginProgress *progress=NULL)
 
QString localPluginsPath ()
 
GraphnewCloneSubGraph (Graph *graph, std::string name="unnamed")
 
GraphnewGraph ()
 
GraphnewSubGraph (Graph *graph, std::string name="unnamed")
 
template<typename Obj , unsigned int SIZE>
std::ostream & operator<< (std::ostream &os, const Array< Obj, SIZE > &array)
 
template<typename Obj , unsigned int SIZE>
std::istream & operator>> (std::istream &is, Array< Obj, SIZE > &array)
 
QString propertyInterfaceToPropertyTypeLabel (const tlp::PropertyInterface *const property)
 
std::string propertyTypeLabelToPropertyType (const QString &typeNameLabel)
 
QString propertyTypeToPropertyTypeLabel (const std::string &typeName)
 
Color QColorToColor (const QColor &color)
 
bool QStringCaseCmp (const QString &s1, const QString &s2)
 
std::string QStringToTlpString (const QString &toConvert)
 
void redirectDebugOutputToQDebug ()
 
void redirectErrorOutputToQCritical ()
 
void redirectWarningOutputToQWarning ()
 
void removeFromGraph (Graph *ioG, BooleanProperty *inSelection=NULL)
 
bool saveGraph (Graph *graph, const std::string &filename, tlp::PluginProgress *progress=NULL)
 
QString tlpStringToQString (const std::string &toConvert)
 
void CALLBACK vertexCallback (GLvoid *vertex, GLvoid *polygonData)
 

Variables

static const std::string ALGORITHM_CATEGORY = "Algorithm"
 
static const std::string BOOLEAN_ALGORITHM_CATEGORY = "Selection"
 
static const std::string COLOR_ALGORITHM_CATEGORY = "Coloring"
 
static const std::string DOUBLE_ALGORITHM_CATEGORY = "Measure"
 
static const std::string INTEGER_ALGORITHM_CATEGORY = "Measure"
 
static const std::string INTERACTOR_CATEGORY = "Interactor"
 
static const std::string LAYOUT_ALGORITHM_CATEGORY = "Layout"
 
const char PATH_DELIMITER
 
static const std::string PERSPECTIVE_CATEGORY = "Perspective"
 
static const std::string PROPERTY_ALGORITHM_CATEGORY = "Property"
 
static const std::string SIZE_ALGORITHM_CATEGORY = "Resizing"
 
static const std::string STRING_ALGORITHM_CATEGORY = "Labeling"
 
std::string TulipBitmapDir
 
std::string TulipLibDir
 
std::string TulipPluginsPath
 
std::string TulipShareDir
 
static const std::string VIEW_CATEGORY = "Panel"
 

Detailed Description

This file is part of Tulip (www.tulip-software.org)

Authors: David Auber and the Tulip development Team from LaBRI, University of Bordeaux 1 and Inria Bordeaux - Sud Ouest

Tulip is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Tulip is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Enumeration Type Documentation

Enumerator:
NODE 

This element describes a node

EDGE 

This element describes an edge

Definition at line 46 of file Graph.h.

Function Documentation

void tlp::convexHull ( const std::vector< Coord > &  points,
std::vector< unsigned int > &  convexHull 
)

function for computing a 2D convex hull

Computes a 2D convex hull using the Qhull library (www.qhull.org)

Computes the 2D convex hull and returns a list of indexes for the points on the convex hull in counterclockwise order.

The convexHull vector is automatically cleared.

void tlp::convexHull ( const std::vector< Coord > &  points,
std::vector< std::vector< unsigned int > > &  convexHullFacets,
std::vector< std::vector< unsigned int > > &  facetNeighbors 
)

function for computing a 2D/3D convex hull

Computes a 2D/3D convex hull using the Qhull library (www.qhull.org)

Computes a 2D/3D convex hull and returns a list of the hull facets (segments for 2D, triangles for 3D) and a list of neighbors facets for each facet. A facet is defined by a list of indexes in the points vector. The neighbors facets of a facet are defined by a list of indexes in the convexHullFacets vector (facetNeighbors[i] stores the neighbors of facet convexHullFacets[i]).

The convexHullFacets and facetNeighbors vectors are automatically cleared.

TLP_PYTHON_SCOPE void tlp::decrefPyObject ( PyObject *  obj)

This file is part of Tulip (www.tulip-software.org)

Authors: David Auber and the Tulip development Team from LaBRI, University of Bordeaux 1 and Inria Bordeaux - Sud Ouest

Tulip is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Tulip is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

std::istream* tlp::getIgzstream ( const char *  name,
int  open_mode = std::ios::in 
)

Returns an istream to read from a gzipped file (uses gzstream lib). The stream has to be deleted after use.

Parameters
nameThe name of the file to read from.
open_modeThe mode to open the file with. Defaults to std::ios::in.
Returns
istream gzipped input stream from a file.
std::ostream* tlp::getOgzstream ( const char *  name,
int  open_mode = std::ios::out 
)

Returns an ostream to write to a gzipped file (uses gzstream lib). The stream has to be deleted after use.

Warning
Don't forget to check the stream with ios::bad()!
Parameters
nameThe name of the file to write to.
open_modeThe mode to open the file with. Defaults to std::ios::out.
Returns
ostream gzipped output stream to a file.
QString tlp::getPluginPackageName ( const QString &  pluginName)

Gets the name of the package to retrieve for this version of tulip. The package name uses the Tulip release, platform (windows, unix, ...), architecture (x86, x86_64), and compiler used (GCC, Clang, MSVC) to determine which package this version can use.

Parameters
pluginNameThe name of the plugin for which we want the package name.
void tlp::initTulipSoftware ( PluginLoader *  loader = NULL,
bool  removeDiscardedPlugins = false 
)

Sets up environment when creating an executable using Tulip libraries This method performs basic operations when starting a software using Tulip: .

  • It initializes the tulip library
  • it checks plugins to be discarded and uninstalls them
  • It loads plugins from the application path
Examples:
graph_display/graph_display.cpp.
template<typename Obj , unsigned int SIZE>
std::ostream & tlp::operator<< ( std::ostream &  os,
const Array< Obj, SIZE > &  array 
)

operator << stream operator to easily print an array, or save it to a file.

Parameters
osThe stream to output to.
arrayThe array to output.
Returns
The stream to output to, to chain calls.

Definition at line 34 of file Array.cxx.

template<typename Obj , unsigned int SIZE>
std::istream & tlp::operator>> ( std::istream &  is,
tlp::Array< Obj, SIZE > &  outA 
)

operator >> stream operator to easily read an array

Parameters
isThe stream to read from.
arrayA reference to an array, that will be written to.
Returns
The stream to read from, to chain calls.

Definition at line 58 of file Array.cxx.

QString tlp::propertyInterfaceToPropertyTypeLabel ( const tlp::PropertyInterface *const  property)
inline

Get the string to display as property type for the given property. The property type label is the string to display in the GUI instead of the property type string. By example for a property of type "double" the label displayed in the GUI will be "Metric".

Definition at line 79 of file TlpQtTools.h.

std::string tlp::propertyTypeLabelToPropertyType ( const QString &  typeNameLabel)

Convert the label of a property type to it's corresponding property type. The property type label is the string to display in the GUI instead of the property type string. By example for a property of type "double" the label displayed in the GUI will be "Metric".

QString tlp::propertyTypeToPropertyTypeLabel ( const std::string &  typeName)

Convert the property type string to a label to display in the GUI. The property type label is the string to display in the GUI instead of the basic property type string. By example for a property of type "double" the label displayed in the GUI will be "Metric".

bool tlp::QStringCaseCmp ( const QString &  s1,
const QString &  s2 
)
inline

Case insensitive comparison of two QStrings.

Definition at line 61 of file TlpQtTools.h.

std::string tlp::QStringToTlpString ( const QString &  toConvert)
inline

Convert a string from Tulip to QString.

Definition at line 48 of file TlpQtTools.h.

void tlp::redirectDebugOutputToQDebug ( )

redirect tlp::debug() to qDebug()

void tlp::redirectErrorOutputToQCritical ( )

redirect tlp::error() to qCritical()

void tlp::redirectWarningOutputToQWarning ( )

redirect tlp::warning() to qWarning()

QString tlp::tlpStringToQString ( const std::string &  toConvert)
inline

Convert a QString to tulip string.

Definition at line 54 of file TlpQtTools.h.