/usr/include/tulip/GlGraphComposite.h is in libtulip-ogl-dev 3.1.2-2.3ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | //-*-c++-*-
/**
Authors: David Auber, Patrick Mary, Morgan Mathiaut
from the LaBRI Visualization Team
Email : auber@tulip-software.org
Last modification : 13/03/2009
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
*/
#ifndef Tulip_GLGRAPHCOMPOSITE_H
#define Tulip_GLGRAPHCOMPOSITE_H
#include "tulip/GlComposite.h"
#include <vector>
#include <tulip/Graph.h>
#include <tulip/ObservableGraph.h>
#include "tulip/GlGraphRenderingParameters.h"
#include "tulip/GlGraphInputData.h"
#include "tulip/GlNode.h"
#include "tulip/GlEdge.h"
#include "tulip/GlMetaNode.h"
namespace tlp {
/** \brief Class use to represent a graph
*
* GlComposite use to represent a graph with nodes, metanodes and edges
*/
class TLP_GL_SCOPE GlGraphComposite : public GlComposite, public GraphObserver {
public:
/**
* Build a GlGraphComposite with the graph data
*/
GlGraphComposite(Graph* graph);
~GlGraphComposite();
/**
* Return the rendering parameters use for rendering
*/
const GlGraphRenderingParameters& getRenderingParameters();
/**
* Set the rendering parameters use for rendering
*/
void setRenderingParameters(const GlGraphRenderingParameters ¶meter);
/**
* Return the inputData use by the composite
*/
GlGraphInputData* getInputData();
/**
* Function used to visit composite's children
*/
virtual void acceptVisitor(GlSceneVisitor *visitor);
/**
* Function use by the GraphObserver when a node is create in the graph
*/
virtual void addNode(Graph *,const node ){
haveToSort=true;
}
/**
* Function use by the GraphObserver when an edge is create in the graph
*/
virtual void addEdge(Graph *,const edge ){
haveToSort=true;
}
/**
* Function use by the GraphObserver when a node is delete in the graph
*/
virtual void delNode(Graph *,const node ){
haveToSort=true;
}
/**
* Function use by the GraphObserver when an edge is delete in the graph
*/
virtual void delEdge(Graph *,const edge ){
haveToSort=true;
}
/**
* Function use by the GraphObserver when the graph is delete
*/
virtual void destroy(Graph *) {}
/**
* Get the data in XML form
*/
void getXML(xmlNodePtr rootNode);
/**
* Set the data with XML
*/
void setWithXML(xmlNodePtr rootNode);
//Delegate
void setDisplayNodes(bool display) {parameters.setDisplayNodes(display);}
void setDisplayMetaNodes(bool display) {parameters.setDisplayMetaNodes(display);}
void setDisplayEdges(bool display) {parameters.setDisplayEdges(display);}
void setDisplayNodesLabel(bool display) {parameters.setViewNodeLabel(display);}
void setDisplayMetaNodesLabel(bool display) {parameters.setViewMetaLabel(display);}
void setDisplayEdgesLabel(bool display) {parameters.setViewEdgeLabel(display);}
void setSelectedNodesStencil(int stencil) {parameters.setSelectedNodesStencil(stencil);}
void setSelectedMetaNodesStencil(int stencil) {parameters.setSelectedMetaNodesStencil(stencil);}
void setSelectedEdgesStencil(int stencil) {parameters.setSelectedEdgesStencil(stencil);}
void setNodesStencil(int stencil) {parameters.setNodesStencil(stencil);}
void setMetaNodesStencil(int stencil) {parameters.setMetaNodesStencil(stencil);}
void setEdgesStencil(int stencil) {parameters.setEdgesStencil(stencil);}
void setNodesLabelStencil(int stencil) {parameters.setNodesLabelStencil(stencil);}
void setMetaNodesLabelStencil(int stencil) {parameters.setMetaNodesLabelStencil(stencil);}
void setEdgesLabelStencil(int stencil) {parameters.setEdgesLabelStencil(stencil);}
bool isDisplayNodes() {return parameters.isDisplayNodes();}
bool isDisplayMetaNodes() {return parameters.isDisplayMetaNodes();}
bool isDisplayEdges() {return parameters.isDisplayEdges();}
bool isDisplayNodesLabel() {return parameters.isViewNodeLabel();}
bool isDisplayMetaNodesLabel() {return parameters.isViewMetaLabel();}
bool isDisplayEdgesLabel() {return parameters.isViewEdgeLabel();}
int getSelectedNodesStencil() {return parameters.getSelectedNodesStencil();}
int getSelectedMetaNodesStencil() {return parameters.getSelectedMetaNodesStencil();}
int getSelectedEdgesStencil() {return parameters.getSelectedEdgesStencil();}
int getNodesStencil() {return parameters.getNodesStencil();}
int getMetaNodesStencil() {return parameters.getMetaNodesStencil();}
int getEdgesStencil() {return parameters.getEdgesStencil();}
int getNodesLabelStencil() {return parameters.getNodesLabelStencil();}
int getMetaNodesLabelStencil() {return parameters.getMetaNodesLabelStencil();}
int getEdgesLabelStencil() {return parameters.getEdgesLabelStencil();}
protected:
void buildSortedList();
GlGraphRenderingParameters parameters;
GlGraphInputData inputData;
bool haveToSort;
std::list<node> sortedNodes;
std::list<edge> sortedEdges;
};
}
#endif
|