/usr/include/tulip/GlConvexHull.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 | //-*-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 GL_CONVEX_HULL_H
#define GL_CONVEX_HULL_H
#include <vector>
#include <tulip/BoundingBox.h>
#include <tulip/Graph.h>
#include <tulip/Color.h>
#include <tulip/Coord.h>
#include "tulip/GlComposite.h"
namespace tlp {
class ConvexHullItem;
/** \brief Class used to represent ConvexHull
*
* Class used to represent ConvexHull. GlHierarchyConvexHull class use this to create all convexHull of the graph
*/
class TLP_GL_SCOPE GlConvexHull: public GlComposite {
public:
/**
* Default constructor
*/
GlConvexHull() {}
/**
* Build a Polygon with the convex hull of points
*/
GlConvexHull(const std::vector<Coord> &points,
const std::vector<Color> &fillColors,
const std::vector<Color> &outlineColors,
const bool filled,
const bool outlined,
const std::string &name,
bool computeHull=true);
virtual ~GlConvexHull() {}
/**
* Function used to visit composite's children
*/
virtual void acceptVisitor(GlSceneVisitor *visitor) {
visitor->visit(this);
GlComposite::acceptVisitor(visitor);
}
/**
* Retrun the name of this convex hull
*/
std::string getName() {return _name;}
/**
* Draw the convexHull
*/
virtual void draw(float lod,Camera *camera);
/**
* Static function who build a hierarchy of convexHull with the given graph
*/
static ConvexHullItem *buildConvexHullsFromHierarchy(Graph *graph,
std::vector<Color> fColors,
std::vector<Color> oColors,
bool deduceFromChilds = true,
Graph *root = 0,
unsigned int depth = 0);
/**
* Translate entity
*/
virtual void translate(const Coord& mouvement);
/**
* Get the data in XML form
*/
void getXML(xmlNodePtr rootNode);
/**
* Set the data with XML
*/
void setWithXML(xmlNodePtr rootNode);
protected:
std::vector<Coord> _points;
std::vector<Color> _fillColors;
std::vector<Color> _outlineColors;
bool _filled;
bool _outlined;
std::string _name;
};
struct ConvexHullItem {
GlConvexHull* hull;
std::string name;
std::vector<ConvexHullItem *> children;
};
}
#endif
|