/usr/include/tulip/GlSphere.h is in libtulip-dev 4.8.0dfsg-2build2.
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 | /*
*
* This file is part of Tulip (www.tulip-software.org)
*
* Authors: David Auber and the Tulip development Team
* from LaBRI, University of Bordeaux
*
* Tulip is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation, either version 3
* of the License, or (at your option) any later version.
*
* Tulip is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
*/
#ifndef Tulip_GLSPHERE_H
#define Tulip_GLSPHERE_H
#include <tulip/tulipconf.h>
#include <tulip/Coord.h>
#include <tulip/Color.h>
#include <tulip/GlSimpleEntity.h>
namespace tlp {
/**
* @ingroup OpenGL
* @brief Class to create a sphere with GlEntity system
*/
class TLP_GL_SCOPE GlSphere : public GlSimpleEntity {
public:
/**
* @brief Constructor
*
* @warning Don't use this constructor
*/
GlSphere() {}
~GlSphere();
/**
* @brief Create a sphere with a position, a radius a fill color and multiple rotation (if you want)
*/
GlSphere(const Coord &position,float radius,const Color &color=Color(0,0,0,255),float rotX=0,float rotY=0,float rotZ=0);
/**
* @brief Create a sphere with a position, a radius, a texture, an alphe and multiple rotation (if you want)
*/
GlSphere(const Coord &position,float radius,const std::string& textureFile,int alpha=255,float rotX=0,float rotY=0,float rotZ=0);
/**
* @brief Draw the sphere
*/
virtual void draw(float lod,Camera *camera);
/**
* @brief Translate entity
*/
virtual void translate(const Coord& mouvement);
/**
* @brief Get absolute position
*/
const Coord& getPosition() const {
return position;
}
/**
* @brief Set absolute position
*/
void setPosition(const Coord& pos) {
position = pos;
}
/**
* @brief Set the texture name
*/
virtual void setTexture(const std::string &texture) {
textureFile=texture;
}
/**
* @brief Get the color
*/
const Color& getColor() const {
return color;
}
/**
* @brief Set the color
*/
void setColor(const Color &newColor) {
color = newColor;
}
/**
* @brief Function to export data in outString (in XML format)
*/
virtual void getXML(std::string &outString);
/**
* @brief Function to set data with inString (in XML format)
*/
virtual void setWithXML(const std::string &inString, unsigned int ¤tPosition);
private:
void generateBuffers(int space);
Coord position;
float radius;
Color color;
std::string textureFile;
Coord rot;
std::vector<unsigned int > buffers;
std::vector<float> vertices;
std::vector<float> texturesCoord;
std::vector<unsigned short> indices;
unsigned int verticesCount;
};
}
#endif // Tulip_GLSCENE_H
|