NAME
Basic -
Classes
struct tlp::Array< Obj, SIZE >
class for array encapsulation
struct tlp::Circle< Obj >
class for circle
class tlp::VoronoiDiagram
class tlp::Matrix< Obj, SIZE >
class for mathematical square matrix
struct tlp::Rectangle< Obj >
class for rectangle
class tlp::Vector
class for mathematical vector
Functions
template<typename Obj , unsigned int SIZE> std::ostream &
tlp::operator<< (std::ostream &os, const Array< Obj, SIZE > &)
template<typename Obj , unsigned int SIZE> std::istream &
tlp::operator>> (std::istream &is, Array< Obj, SIZE > &)
template<typename Obj > Circle< Obj > tlp::enclosingCircle (const
Circle< Obj > &, const Circle< Obj > &)
template<typename Obj > Circle< Obj > tlp::enclosingCircle (const
std::vector< Circle< Obj > > &circles)
template<typename Obj > Circle< Obj > tlp::lazyEnclosingCircle (const
std::vector< Circle< Obj > > &circles)
template<typename Obj > std::ostream & tlp::operator<< (std::ostream
&os, const Circle< Obj > &)
TLP_SCOPE void tlp::convexHull (const std::vector< Coord > &points,
std::vector< unsigned int > &convexHull)
function for convex hull manipulation
TLP_SCOPE void tlp::mergeHulls (const std::vector< Coord > &points,
const std::vector< unsigned int > &hull1, const std::vector<
unsigned int > &hull2, std::vector< unsigned int >
&mergedConvexHull)
TLP_SCOPE void tlp::intersectHulls (std::vector< Coord > &points, const
std::vector< unsigned int > &hull1, const std::vector< unsigned int
> &hull2, std::vector< unsigned int > &intersection)
TLP_SCOPE double tlp::areaOfHull (const std::vector< Coord > &points,
const std::vector< unsigned int > &hull)
TLP_SCOPE bool tlp::insideHull (const std::vector< Coord > &points,
const std::vector< unsigned int > &hull, const Coord &point)
TLP_SCOPE void tlp::delaunayTriangulation (const std::vector< Coord >
&points, std::vector< std::pair< unsigned int, unsigned int > >
&edges)
functions for Delaunay Triangulations
void tlp::delaunayTriangulation (const std::vector< Coord > &points,
std::vector< tlp::Array< unsigned int, 3 > > &triangles)
void tlp::delaunayTriangulation (const std::vector< Coord > &points,
std::vector< std::pair< unsigned int, unsigned int > > &edges,
std::vector< tlp::Array< unsigned int, 3 > > &triangles)
void tlp::voronoiDiagram (const std::vector< Coord > &points,
VoronoiDiagram &voronoiDiagram, bool returnVoronoiEdgeList=false)
template<typename Obj , unsigned int SIZE> MATRIX tlp::operator* (const
MATRIX &mat, const Obj &obj)
template<typename Obj , unsigned int SIZE> MATRIX tlp::operator* (const
MATRIX &mat1, const MATRIX &mat2)
template<typename Obj , unsigned int SIZE> Vector< Obj, SIZE >
tlp::operator* (const Vector< Obj, SIZE > &vec, const tlp::Matrix<
Obj, SIZE > &)
template<typename Obj , unsigned int SIZE> Vector< Obj, SIZE >
tlp::operator* (const Matrix< Obj, SIZE > &, const Vector< Obj,
SIZE > &vec)
TEMPLATEVECTOR VECTOR tlp::operator* (const VECTOR &, const VECTOR &)
TEMPLATEVECTOR VECTOR tlp::operator* (const VECTOR &, const Obj &)
Function Documentation
TLP_SCOPE double tlp::areaOfHull (const std::vector< Coord > & points,
const std::vector< unsigned int > & hull) Computes the area of the
convex ’hull’ which is a list of indexes into the vector of Coord
’points’.
TLP_SCOPE void tlp::convexHull (const std::vector< Coord > & points,
std::vector< unsigned int > & convexHull)
function for convex hull manipulation Contains functions for computing,
merging, intersecting, and testing convex hulls.
Author:
: Daniel Archambault archam@cs.ubc.ca,
Version:
0.0.3 26/06/2006 Compute the convex hull and return a list of
indexes for the points on the convex hull in counterclockwise
order. The convexHull vector is automatically cleared. The
algorithm runs in O(nlgn) time.
void tlp::delaunayTriangulation (const std::vector< Coord > & points,
std::vector< std::pair< unsigned int, unsigned int > > & edges,
std::vector< tlp::Array< unsigned int, 3 > > & triangles) Compute the
delaunay triangulation and return the set of edges in the vector edge
and triangles of the triangulation in the vector triangles. Triangles
are defined using a triple indexes into the original set of points.
void tlp::delaunayTriangulation (const std::vector< Coord > & points,
std::vector< tlp::Array< unsigned int, 3 > > & triangles) Compute the
delaunay triangulation and return the set of triangles of the
triangulation in the vector triangles. Triangles are defined using a
triple indexes into the original set of points.
TLP_SCOPE void tlp::delaunayTriangulation (const std::vector< Coord > &
points, std::vector< std::pair< unsigned int, unsigned int > > & edges)
functions for Delaunay Triangulations Used to triangulate a set of
points in the plane
Author:
: David Auber/Daniel Archambault : auber@tulip-software.org
Version:
0.0.1 02/06/2005 Compute the delaunay triangulation and return the
set of edges of the triangulation in the vector edges. Edges are
defined using a pair of indexes into the original set of points.
template<typename Obj > Circle<Obj> tlp::enclosingCircle (const
std::vector< Circle< Obj > > & circles) [inline] Compute the optimum
enclosing circle of a set of circles.
template<typename Obj > Circle<Obj> tlp::enclosingCircle (const Circle< Obj
> &, const Circle< Obj > &) [inline] Compute the optimum enclosing
circle of 2 circles.
TLP_SCOPE bool tlp::insideHull (const std::vector< Coord > & points, const
std::vector< unsigned int > & hull, const Coord & point) Returns true
if ’point’ is inside ’hull’. Hull is a list of indexes into the vector
of Coord ’points.’
TLP_SCOPE void tlp::intersectHulls (std::vector< Coord > & points, const
std::vector< unsigned int > & hull1, const std::vector< unsigned int >
& hull2, std::vector< unsigned int > & intersection) Intersects two
convex hulls using the algorithm of O’Rourke, Chien, Olson, and Naddor,
1982. Code inspired by Computational Geometry in C by Joseph O’Rourke
pp 243 -- 251. and code on his website:
http://maven.smith.edu/~orourke/books/compgeom.html Provide a full list
of points involved in the convex hull computation in ’points’. The
vectors hull1 and hull2 contain a list of indexes into the points
vector that define the vertices of the convex hull. The indices
corresponding to the points on the intersecting hull are returned in
’intersection’. Node that several points may be inserted into the
’points’ list. These points correspond to the points generated when
edges of hull1 and hull2 intersect.
template<typename Obj > Circle<Obj> tlp::lazyEnclosingCircle (const
std::vector< Circle< Obj > > & circles) [inline] Compute an enclosing
circle of a set of circles, this algorithm is an aproximation of the
smallest enclosing circle.
TLP_SCOPE void tlp::mergeHulls (const std::vector< Coord > & points, const
std::vector< unsigned int > & hull1, const std::vector< unsigned int >
& hull2, std::vector< unsigned int > & mergedConvexHull) Merges two
convex hulls hull1 and hull2 using the rotating calipers method of
Pirzadeh and Touissaint. The mergedConvexHull vector is automatically
cleared and the vertices of the hulls must be specified in counter
clockwise order. Provide a full list of all points involved in the
convex hull computation in the vector points. The vectors hull1 and
hull2 contain a list of indexes into the points vector that define the
vertices of the convex hull. The indexes into points of the verticies
on the merged convex hull are returned in the vector mergedConvexHull.
TEMPLATEVECTOR VECTOR tlp::operator* (const VECTOR &, const Obj &) [inline]
TEMPLATEVECTOR VECTOR tlp::operator* (const VECTOR &, const VECTOR &)
[inline]
template<typename Obj , unsigned int SIZE> Vector<Obj,SIZE> tlp::operator*
(const Matrix< Obj, SIZE > &, const Vector< Obj, SIZE > & vec) [inline]
Returns a new vector equal to the multiplication of the matrix by a
vector"
template<typename Obj , unsigned int SIZE> Vector<Obj,SIZE> tlp::operator*
(const Vector< Obj, SIZE > & vec, const tlp::Matrix< Obj, SIZE > &)
[inline] Returns a new vector equal to the multiplication of the vector
by a matrix,(the vector is automatically transposed to do the
multiplication)"
template<typename Obj , unsigned int SIZE> MATRIX tlp::operator* (const
MATRIX & mat1, const MATRIX & mat2) [inline] Returns a new matrix equal
to the multiplication of the matrix by another matrix"
template<typename Obj , unsigned int SIZE> MATRIX tlp::operator* (const
MATRIX & mat, const Obj & obj) [inline] Returns a new matrix equal to
the multiplication of the matrix by obj"
template<typename Obj > std::ostream& tlp::operator<< (std::ostream & os,
const Circle< Obj > &) [inline] Write circle in a stream
template<typename Obj , unsigned int SIZE> std::ostream& tlp::operator<<
(std::ostream & os, const Array< Obj, SIZE > &) [inline] Write array in
a stream
template<typename Obj , unsigned int SIZE> std::istream& tlp::operator>>
(std::istream & is, Array< Obj, SIZE > &) [inline]
void tlp::voronoiDiagram (const std::vector< Coord > & points,
VoronoiDiagram & voronoiDiagram, bool returnVoronoiEdgeList = false)
Compute the voronoi diagram of a set of points. The set of input points
are given in points. The resultant voronoi diagram is returned in
voronoiDiagram. It automatically computes the set of all voronoi
vertices, rays, and returns the set of cells in counterclockwise order.
If a voronoi edge list is required set returnVoronoiEdgeList to true.
Author
Generated automatically by Doxygen for Tulip Graph Library from the
source code.