This file is indexed.

/usr/include/tulip/GlBox.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
//-*-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_GLBOX_H
#define Tulip_GLBOX_H

#include "tulip/GlSimpleEntity.h"
#include "tulip/GlPolygon.h"

#include "tulip/Coord.h"
#include "tulip/Color.h"
#include "tulip/Size.h"

#define N_BOX_POINTS 8
#define N_BOX_FACES  6
#define N_QUAD_POINTS 4

namespace tlp {
/** \brief General class used to render boxes as GlEntity.
 *
 * This class is a generic class to render boxes as GlEntity.
 */
class TLP_GL_SCOPE GlBox : public GlSimpleEntity
{
 protected:
  Coord* position; /**< The position of the center of the box*/
  Color* color; /**< The color of the box */
  Size* size; /**< size is the "radius" of the box */
  
  Coord* points[N_BOX_POINTS]; /**< The coordinates of each of the 8 points of the box. 
				  \attention points[0] = front top left
				  \attention points[1] = front top right
				  \attention points[2] = front bottom right
				  \attention points[3] = front bottom left
				  \attention points[4] = back top left
				  \attention points[5] = back top right
				  \attention points[6] = back bottom right
				  \attention points[7] = back bottom left */

  GlPolygon* faces[N_BOX_FACES]; /**< Stores a GlPolygon per face */

  /**
   * Function used to compute the points of the box from a center and a size.
   */
  void computePoints();

  /**
   * Function used to compute the GlADQuad from the points of the box.
   */
  void computeFaces();

 public:  

  /**
   * The default constructor
   *
   * \attention It's usage is forbidden.
   */
  GlBox();

  /**
   * Constructor from size
   *
   * \param position The center of the box.
   * \param size The length of each dimension of the box.
   * \param color The color of the box.
   */
  GlBox(const Coord& position, const Size &size, const Color& color);

  /**
   * Constructor from points
   *
   * \param points Each point of the box. c.f. the variable "points" to know the placement.
   * \param color The color of the box.
   */
  GlBox(Coord points[8], const Color& color);

  /**
   * Constructor from bounding box
   *
   * \param frontTopLeft The position of the point at the front-top-left of the box (points[0]).
   * \param backbottomRight The position of the point at the back-bottom-right of the box (points[6]).
   * \param color The color of the box.
   */
  GlBox(const Coord& frontTopLeft, const Coord& backBottomRight, const Color& color);

  /**
   * Destructor.
   */
  virtual ~GlBox();

  /**
   * Virtual function used to draw the box.
   */
  virtual void draw(float lod,Camera *camera);

  /**
   * Accessor in writing to the size.
   */
  void setSize(const Size& size);

  /**
   * Accessor in writing to the position.
   */
  void setPosition(const Coord& position);

  /**
   * Accessor in reading to the size.
   */
  Size* getSize() const;

  /**
   * Translate entity
   */
  virtual void translate(const Coord& mouvement);

  /**
   * Function to export data in XML
   */
  virtual void getXML(xmlNodePtr rootNode);
  
  /**
   * Function to set data with XML
   */
  virtual void setWithXML(xmlNodePtr rootNode);
};
}
#endif