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;
99 GlGraphInputData *getInputData();
105 return inputData.getGraph();
113 void acceptVisitor(GlSceneVisitor *visitor)
override;
117 virtual void acceptVisitorOnGraph(GlSceneVisitor *visitor);
119 void draw(
float lod,
Camera *camera)
override;
121 virtual void selectEntities(
Camera *camera, RenderingEntitiesFlag type,
int x,
int y,
int w,
122 int h, std::vector<SelectedEntity> &selectedEntities);
127 std::set<node> &getMetaNodes() {
131 Graph *graph = inputData.getGraph();
133 for (
auto n : graph->
nodes()) {
137 nodesModified =
false;
144 return graphRenderer;
158 void getXML(std::string &outString)
override;
163 void setWithXML(
const std::string &inString,
unsigned int ¤tPosition)
override;
168 void treatEvent(
const Event &evt)
override;
173 GlGraphInputData inputData;
179 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.
virtual const std::vector< node > & nodes() const =0
Return a const reference on the vector of nodes of the graph It is the fastest way to access to nodes...
Tulip OpenGL camera object.
That class defines all the parameters used by GlGraphComposite to render a graph. ...
Event is the base class for all events used in the Observation mechanism.
Class use to visualize graph in OpenGL Tulip engine.
GlSimpleEntity used to aggregate other GlEntity.
The Observable class is the base of Tulip's observation system.
Class used by GlGraphComposite to render the graph in OpenGL.