Overview | Modules | Class Hierarchy | Classes | Members

Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Slots
tlp::GlMainWidget Class Reference
Tulip_Widgets

Widget of visualisation. More...

`#include <GlMainWidget.h>`

Collaboration diagram for tlp::GlMainWidget:
[legend]

List of all members.

## Public Types

- enum RenderingOption { RenderGraph = 0x1, SwapBuffers = 0x2 }
    Configure the rendering process ( see render function) More...

## Public Slots

- void draw (bool graphChanged=true)
- void redraw ()
- void closeEvent (QCloseEvent *e)
- void centerScene ()
    Convinience function that call center function on the current scene and draw the view. Same thing than.

## Signals

- void closing (GlMainWidget *, QCloseEvent *)
- void graphRedrawn (GlMainWidget *glWidget, bool graphChanged)
- void viewRedrawn (GlMainWidget *glWidget)
- void viewDrawn (GlMainWidget *glWidget, bool graphChanged)

## Public Member Functions

- GlMainWidget (QWidget *parent, View *view=NULL)
- ~GlMainWidget ()
- QSize sizeHint () const
- void setData (Graph *graph, DataSet dataSet)
- DataSet getData ()
- void setGraph (Graph *graph)
- Graph * getGraph ()
- View * getView ()
- tlp::GlScene * getScene ()
- void addForegroundEntity (ForegroundEntity *entity)
- void removeForegrounEntity (ForegroundEntity *entity)
    Remove the given ForegroundEntity. If the entity don't exisits do nothing.
- void doSelect (const int x, const int y, const int width, const int height, std::vector< tlp::node > &sNode, std::vector< tlp::edge > &sEdge, tlp::GlLayer *layer=NULL)
    select nodes and edges in a region of the screen
- bool doSelect (const int x, const int y, tlp::ElementType &type, tlp::node &, tlp::edge &, tlp::GlLayer *layer=NULL)
    select a node or edge at a point select either a node or edge at point (x,y)
- unsigned char * getImage ()
- bool outputEPS (int size, int doSort, const char *filename)
- bool outputSVG (int size, const char *filename)
- void getTextureShift (int width, int height, float &xTextureShift, float &yTextureShift)
- QGLFramebufferObject * createTexture (const std::string &textureName, int width, int height)
- void createPicture (const std::string &pictureName, int width, int height, bool center=true, int zoom=1, int xDec=0, int yDec=0)
- QImage createPicture (int width, int height, bool center=true, int zoom=1, int xDec=0, int yDec=0)
- bool selectGlEntities (const int x, const int y, const int width, const int height, std::vector< tlp::GlSimpleEntity * > &pickedEntities, tlp::GlLayer *layer=NULL)
- bool selectGlEntities (const int x, const int y, std::vector< tlp::GlSimpleEntity * > &pickedEntities, tlp::GlLayer *layer=NULL)
- _DEPRECATED bool selectGlEntities (const int x, const int y, const int width, const int height, std::vector< tlp::GlEntity * > &pickedEntities, tlp::GlLayer *layer=NULL)
- _DEPRECATED bool selectGlEntities (const int x, const int y, std::vector< tlp::GlEntity * > &pickedEntities, tlp::GlLayer *layer=NULL)
- virtual QImage grabFrameBuffer (bool withAlpha=false)
- void setViewLabel (bool viewLabel)
- virtual void makeCurrent ()
- void resizeGL (int w, int h)
- void computeInteractors ()
- void drawInteractors ()
- void drawForegroundEntities ()
- void useHulls (bool hasHulls)
- bool hasHulls () const
- void render (RenderingOptions options=RenderingOptions(RenderGraph|SwapBuffers))
    This function performs all the rendering process of the graph. Use this function only for advanced purpose, if you want to perform simple rendering use the draw or redraw functions instead.

## Static Public Member Functions

- static void getTextureRealSize (int width, int height, int &textureRealWidth, int &textureRealHeight)
- static QGLWidget * getFirstQGLWidget ()

## Protected Slots

- void paintEvent (QPaintEvent *)
- void viewDrawnSlot (GlMainWidget *glWidget, bool graphChanged)

## Detailed Description

Widget of visualisation.

This widget provide a simple system to display visualisation If you only want to visualise a graph, you can call the setGraph function But in other cases you can directly use the GlScene of the GlMainWidget

See also:
  GlScene

After scene construction you can perform some operation on GlMainWidgte :

- Selection with doSelect() and selectGlEntities()
- Image output with getImage(), createPicture(), outputSVG() and outputEPS()
- Texture output with createTexture()
- others operation on GlScene and QGlWidget

## Member Enumeration Documentation

enum tlp::GlMainWidget::RenderingOption

Configure the rendering process ( see render function)

See also:
  render

Enumerator:

  RenderGraph |
  SwapBuffers | Force to render the graph even if there is a previous buffered render. You need to call this option if the graph is updated to regenerate the buffer. If not set try to use the last buffered graph render, if there is no valid buffer this flag is forced.

Tulip Software by LaBRI Visualization Team 2001 - 2012