20 #ifndef Tulip_GLGRAPHCOMPOSITE_H
21 #define Tulip_GLGRAPHCOMPOSITE_H
23 #include <tulip/GlComposite.h>
24 #include <tulip/Observable.h>
25 #include <tulip/GlGraphRenderingParameters.h>
26 #include <tulip/GlGraphInputData.h>
27 #include <tulip/GlScene.h>
32 class GlGraphRenderer;
98 GlGraphInputData* getInputData();
104 return inputData.getGraph();
112 virtual void acceptVisitor(GlSceneVisitor *visitor);
116 virtual void acceptVisitorOnGraph(GlSceneVisitor *visitor);
118 virtual void draw(
float lod,
Camera* camera);
120 virtual void selectEntities(
Camera *camera,RenderingEntitiesFlag type,
int x,
int y,
int w,
int h, std::vector<SelectedEntity>& selectedEntities);
125 std::set<node> &getMetaNodes() {
129 Graph *graph=inputData.getGraph();
130 Iterator<node>* nodesIterator = graph->
getNodes();
132 while (nodesIterator->hasNext()) {
133 node n=nodesIterator->next();
139 delete nodesIterator;
147 GlGraphRenderer *getRenderer() {
148 return graphRenderer;
161 virtual void getXML(std::string &outString);
166 virtual void setWithXML(
const std::string &inString,
unsigned int ¤tPosition);
172 void treatEvent(
const Event& evt);
176 GlGraphRenderingParameters parameters;
177 GlGraphInputData inputData;
180 GlGraphRenderer *graphRenderer;
183 std::set<node> metaNodes;
virtual Graph * getNodeMetaInfo(const node metaNode) const =0
Gets the underlying graph of a meta node.
Graph * getGraph()
Return the graph used by this GlGraphComposite.
The node struct represents a node in a Graph object.
Tulip OpenGL camera object.
virtual Iterator< node > * getNodes() const =0
Gets an iterator over this graph's nodes.
That class defines all the parameters used by GlGraphComposite to render a graph. ...
Class use to visualize graph in OpenGL Tulip engine.
GlSimpleEntity used to agregate other GlEntity.
The Observable class is the base of Tulip's observation system.
Class used by GlGraphComposite to render the graph in OpenGL.