Tulip  4.6.0
Better Visualization Through Research
library/tulip-ogl/include/tulip/GlVertexArrayVisitor.h
00001 /*
00002  *
00003  * This file is part of Tulip (www.tulip-software.org)
00004  *
00005  * Authors: David Auber and the Tulip development Team
00006  * from LaBRI, University of Bordeaux
00007  *
00008  * Tulip is free software; you can redistribute it and/or modify
00009  * it under the terms of the GNU Lesser General Public License
00010  * as published by the Free Software Foundation, either version 3
00011  * of the License, or (at your option) any later version.
00012  *
00013  * Tulip is distributed in the hope that it will be useful,
00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00016  * See the GNU General Public License for more details.
00017  *
00018  */
00019 ///@cond DOXYGEN_HIDDEN
00020 
00021 #ifndef Tulip_GLVERTEXARRAYVISITOR_H
00022 #define Tulip_GLVERTEXARRAYVISITOR_H
00023 #ifndef DOXYGEN_NOTFOR_DEVEL
00024 
00025 #include <tulip/GlSceneVisitor.h>
00026 
00027 namespace tlp {
00028 
00029 class GlGraphInputData;
00030 
00031 /** \brief Visitor to collect edges/nodes vertex array data
00032  *
00033  * Visitor to collect edges/nodes vertex array data
00034  */
00035 class TLP_GL_SCOPE GlVertexArrayVisitor : public GlSceneVisitor {
00036 
00037 public:
00038 
00039   /**
00040    * Constructor
00041    */
00042   GlVertexArrayVisitor(const GlGraphInputData* inputData):inputData(inputData) {
00043     threadSafe=true;
00044   }
00045 
00046   /**
00047    * Method used for GlSimpleEntity
00048    */
00049   virtual void visit(GlSimpleEntity*) {}
00050   /**
00051    * Method used for GlNodes (and GlMetaNodes)
00052    */
00053   virtual void visit(GlNode *glNode);
00054   /**
00055    * Method used for GlEdges
00056    */
00057   virtual void visit(GlEdge *glEdge);
00058 
00059 private:
00060 
00061   const GlGraphInputData* inputData;
00062 
00063 };
00064 
00065 }
00066 
00067 #endif // DOXYGEN_NOTFOR_DEVEL
00068 
00069 #endif // Tulip_GLVERTEXARRAYVISITOR_H
00070 ///@endcond
 All Classes Files Functions Variables Enumerations Enumerator Properties