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;
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;
143 GlGraphRenderer *getRenderer() {
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;
Tulip OpenGL camera object.
Event is the base class for all events used in the Observation mechanism.
GlSimpleEntity used to aggregate other GlEntity.
Class use to visualize graph in OpenGL Tulip engine.
Graph * getGraph()
Return the graph used by this GlGraphComposite.
GlGraphComposite(Graph *graph, GlGraphRenderer *graphRenderer=nullptr)
Build a GlGraphComposite with the graph data.
void setRenderingParameters(const GlGraphRenderingParameters ¶meter)
Set the rendering parameters use for rendering.
GlGraphRenderingParameters * getRenderingParametersPointer()
Return a pointer on rendering parameters used for rendering.
GlGraphInputData * getInputData()
Return the inputData use by the composite.
void setWithXML(const std::string &inString, unsigned int ¤tPosition) override
Function to set data with inString (in XML format)
void getXML(std::string &outString) override
Function to export data in outString (in XML format)
GlGraphComposite(Graph *graph, GlScene *scene)
Build a GlGraphComposite with the graph data.
~GlGraphComposite() override
Destructor.
const GlGraphRenderingParameters & getRenderingParameters()
Return a copy of rendering parameters use for rendering.
Class used by GlGraphComposite to render the graph in OpenGL.
That class defines all the parameters used by GlGraphComposite to render a graph.
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...
virtual Graph * getNodeMetaInfo(const node metaNode) const =0
Gets the underlying graph of a meta node.
The Observable class is the base of Tulip's observation system.