Tulip  5.0.0
Large graphs analysis and drawing
GlVertexArrayVisitor.h
1 /*
2  *
3  * This file is part of Tulip (www.tulip-software.org)
4  *
5  * Authors: David Auber and the Tulip development Team
6  * from LaBRI, University of Bordeaux
7  *
8  * Tulip is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License
10  * as published by the Free Software Foundation, either version 3
11  * of the License, or (at your option) any later version.
12  *
13  * Tulip is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  * See the GNU General Public License for more details.
17  *
18  */
19 ///@cond DOXYGEN_HIDDEN
20 
21 #ifndef Tulip_GLVERTEXARRAYVISITOR_H
22 #define Tulip_GLVERTEXARRAYVISITOR_H
23 #ifndef DOXYGEN_NOTFOR_DEVEL
24 
25 #include <tulip/GlSceneVisitor.h>
26 
27 namespace tlp {
28 
29 class GlGraphInputData;
30 
31 /** \brief Visitor to collect edges/nodes vertex array data
32  *
33  * Visitor to collect edges/nodes vertex array data
34  */
35 class TLP_GL_SCOPE GlVertexArrayVisitor : public GlSceneVisitor {
36 
37 public:
38 
39  /**
40  * Constructor
41  */
42  GlVertexArrayVisitor(const GlGraphInputData* inputData):inputData(inputData) {
43  threadSafe=true;
44  }
45 
46  /**
47  * Method used for GlSimpleEntity
48  */
49  virtual void visit(GlSimpleEntity*) {}
50  /**
51  * Method used for GlNodes (and GlMetaNodes)
52  */
53  virtual void visit(GlNode *glNode);
54  /**
55  * Method used for GlEdges
56  */
57  virtual void visit(GlEdge *glEdge);
58 
59 private:
60 
61  const GlGraphInputData* inputData;
62 
63 };
64 
65 }
66 
67 #endif // DOXYGEN_NOTFOR_DEVEL
68 
69 #endif // Tulip_GLVERTEXARRAYVISITOR_H
70 ///@endcond