/usr/include/tulip/GlPolygon.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 137 138 139 | //-*-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 GLPOLYGON_H
#define GLPOLYGON_H
#include <vector>
#include <tulip/Color.h>
#include <tulip/Coord.h>
#include <tulip/tulipconf.h>
#include "tulip/GlSimpleEntity.h"
namespace tlp {
/**
* class to create a polygon
*/
class TLP_GL_SCOPE GlPolygon : public GlSimpleEntity {
public:
/**
* Constructor where specify if the polygon is filled, is outlines and the outline size
*/
GlPolygon(const bool filled = true,
const bool outlined= true,
const int outlineSize = 1);
/**
* Constructor with a vector of point, a vector of fill color, a vector of outline color and if the polygon is filled, is outlined and the outline size
*/
GlPolygon(const std::vector<Coord> &points,
const std::vector<Color> &fillColors,
const std::vector<Color> &outlineColors,
const bool filled,
const bool outlined,
const int outlineSize = 1);
/**
* Constructor with a number of point, a number of fill color, a number of outline color and if the polygon is filled, outlined and the ouline size
*/
GlPolygon(const unsigned int nbPoints,
const unsigned int nbFillColors,
const unsigned int nbOutlineColors,
const bool filled = true,
const bool outlined = true,
const int outlineSize = 1);
virtual ~GlPolygon();
/**
* Draw the polygon
*/
void draw(float lod,Camera *camera);
/**
* Change number of point of the polygon
*/
virtual void resizePoints(const unsigned int nbPoints);
/**
* Change number of colors of the polygon
*/
virtual void resizeColors(const unsigned int nbColors);
/**
* return the ith point
*/
virtual const Coord& point(const unsigned int i) const;
/**
* return the ith point
*/
virtual Coord& point(const unsigned int i);
/**
* Add a new point with a Coord, a fill color and an ouline color
*/
virtual void addPoint(const Coord& point, const Color& fcolor,const Color& ocolor);
/**
* return the ith color used for filling the polygon
*/
virtual const Color& fcolor(const unsigned int i) const;
/**
* return the ith color used for filling the polygon
*/
virtual Color& fcolor(const unsigned int i);
/**
* return the ith color used for outlining the polygon
*/
virtual const Color& ocolor(const unsigned int i) const;
/**
* return the ith color used for outlining the polygon
*/
virtual Color& ocolor(const unsigned int i);
/**
* Set if the polygon is filled or not
*/
void setFillMode(const bool);
/**
* Set if the polygon is outlined or not
*/
void setOutlineMode(const bool);
/**
* Translate entity
*/
virtual void translate(const Coord& mouvement);
/**
* Function to export data and type in XML
*/
virtual void getXML(xmlNodePtr rootNode);
/**
* Function to export data in XML
*/
virtual void getXMLOnlyData(xmlNodePtr rootNode);
/**
* Function to set data with XML
*/
virtual void setWithXML(xmlNodePtr rootNode);
protected:
std::vector<Coord> points;
std::vector<Color> fillColors;
std::vector<Color> outlineColors;
bool filled;
bool outlined;
int outlineSize;
};
}
#endif
|