Tulip  4.6.0
Better Visualization Through Research
tlp::GlGraphRenderer Class Reference

#include <GlGraphRenderer.h>

List of all members.

Public Member Functions

 GlGraphRenderer (const GlGraphInputData *inputData)
virtual ~GlGraphRenderer ()
virtual void draw (float lod, Camera *camera)=0
virtual void selectEntities (Camera *camera, RenderingEntitiesFlag type, int x, int y, int w, int h, std::vector< SelectedEntity > &selectedEntities)=0
void setGraphModified (bool graphModified)
virtual void visitGraph (GlSceneVisitor *visitor, bool visitHiddenEntities=false)

Protected Member Functions

void visitEdges (Graph *graph, GlSceneVisitor *visitor, bool visitHiddenEntities=false)
void visitNodes (Graph *graph, GlSceneVisitor *visitor, bool visitHiddenEntities=false)

Protected Attributes

bool graphModified
const GlGraphInputData * inputData
unsigned int * selectionCurrentId
bool selectionDrawActivate
std::map< unsigned int,
SelectedEntity > * 
selectionIdMap
RenderingEntitiesFlag selectionType

Detailed Description

Class used by GlGraphComposite to render the graph in OpenGL.

To create a graph renderer, you have to implement two functions : draw() and selectEntities()

See also:
GlGraphComposite

Definition at line 39 of file GlGraphRenderer.h.


Constructor & Destructor Documentation

tlp::GlGraphRenderer::GlGraphRenderer ( const GlGraphInputData *  inputData)

Constructor.

Parameters:
inputData: GlGraphInputData used by renderer to display the graph (in input data you have pointers on properties used to render nodes/edges
parameters: GlGraphRenderingParameters used by renderer to display the graph
virtual tlp::GlGraphRenderer::~GlGraphRenderer ( ) [inline, virtual]

Destructor.

Definition at line 53 of file GlGraphRenderer.h.


Member Function Documentation

virtual void tlp::GlGraphRenderer::draw ( float  lod,
Camera camera 
) [pure virtual]

This function is call by GlGraphComposite to draw the graph.

If you reimplement this function you have to render nodes/edges. It's the most important function of GlGraphRenderer

Parameters:
lod: lod used to this Rendering
camera: camera used to this rendering
virtual void tlp::GlGraphRenderer::selectEntities ( Camera camera,
RenderingEntitiesFlag  type,
int  x,
int  y,
int  w,
int  h,
std::vector< SelectedEntity > &  selectedEntities 
) [pure virtual]

This function is call by GlGraphComposite to selected entities into the graph.

Parameters:
type: type of selected entities
x: x of the selected zone
y: y of the selected zone
w: width of the selected zone
h: height of the selected zone
selectedEntities: you have to put selected entities into this vector
void tlp::GlGraphRenderer::setGraphModified ( bool  graphModified) [inline]

This function set if the content of the graph is modified.

Definition at line 84 of file GlGraphRenderer.h.

virtual void tlp::GlGraphRenderer::visitGraph ( GlSceneVisitor *  visitor,
bool  visitHiddenEntities = false 
) [virtual]

You can use this funtion if you want to inject a visitor on the graph.

 All Classes Files Functions Variables Enumerations Enumerator Properties