![]() |
Tulip
4.6.0
Better Visualization Through Research
|
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 TULIPGPU_H 00022 #define TULIPGPU_H 00023 00024 #include <tulip/tulipconf.h> 00025 00026 namespace tlp { 00027 00028 // create a GpuGraph from a Tulip graph 00029 TLP_GL_SCOPE GpuGraph* genGpuGraph(const tlp::Graph& graph); 00030 00031 // associate a Tulip Property to a gpu property variable 00032 // and compute the needed infos 00033 // return NULL if there is no texture image unit available 00034 // BooleanProperty 00035 TLP_GL_SCOPE GpuProperty* genGpuProperty(tlp::BooleanProperty& property, 00036 const tlp::Graph& graph, 00037 GpuValueType type = NODE_VALUES, 00038 bool outputOnly = false); 00039 // ColorProperty 00040 TLP_GL_SCOPE GpuProperty* genGpuProperty(tlp::ColorProperty& property, 00041 const tlp::Graph& graph, 00042 GpuValueType type = NODE_VALUES, 00043 bool outputOnly = false); 00044 // DoubleProperty 00045 TLP_GL_SCOPE GpuProperty* genGpuProperty(tlp::DoubleProperty& property, 00046 const tlp::Graph& graph, 00047 GpuValueType type = NODE_VALUES, 00048 bool outputOnly = false); 00049 // IntegerProperty 00050 TLP_GL_SCOPE GpuProperty* genGpuProperty(tlp::IntegerProperty& property, 00051 const tlp::Graph& graph, 00052 GpuValueType type = NODE_VALUES, 00053 bool outputOnly = false); 00054 // LayoutProperty (node values only) 00055 TLP_GL_SCOPE GpuProperty* genGpuProperty(tlp::LayoutProperty& property, 00056 const tlp::Graph& graph, 00057 bool outputOnly = false); 00058 // SizeProperty 00059 TLP_GL_SCOPE GpuProperty* genGpuProperty(tlp::SizeProperty& property, 00060 const tlp::Graph& graph, 00061 GpuValueType type = NODE_VALUES, 00062 bool outputOnly = false); 00063 00064 // set a parameter of a GpuProgram with a Tulip specific object 00065 // Color 00066 TLP_GL_SCOPE bool setGpuParameter(const std::string& pName, const tlp::Color& val); 00067 // Coord 00068 TLP_GL_SCOPE bool setGpuParameter(const std::string& pName, const tlp::Coord& val); 00069 // Size 00070 TLP_GL_SCOPE bool setGpuParameter(const std::string& pName, const tlp::Size& val); 00071 00072 // these are for the update of a Tulip property with the out property 00073 // BooleanProperty 00074 TLP_GL_SCOPE bool getGpuOutPropertyValues(tlp::BooleanProperty& prop, const tlp::Graph&); 00075 // ColorProperty 00076 TLP_GL_SCOPE bool getGpuOutPropertyValues(tlp::ColorProperty& prop, const tlp::Graph&); 00077 // DoubleProperty 00078 TLP_GL_SCOPE bool getGpuOutPropertyValues(tlp::DoubleProperty& prop, const tlp::Graph&); 00079 // IntegerProperty 00080 TLP_GL_SCOPE bool getGpuOutPropertyValues(tlp::IntegerProperty& prop, const tlp::Graph&); 00081 // LayoutProperty 00082 TLP_GL_SCOPE bool getGpuOutPropertyValues(tlp::LayoutProperty& prop, const tlp::Graph&); 00083 // SizeProperty 00084 TLP_GL_SCOPE bool getGpuOutPropertyValues(tlp::SizeProperty& prop, const tlp::Graph&); 00085 00086 } 00087 00088 #endif 00089 ///@endcond