Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
|
Algorithm constructing the medial axis of an union of balls. More...
#include <Union_of_balls_medial_axis_3_builder.hpp>
Functor | |
void | operator() (UnionOfBallsMedialAxis3 &medial_axis) |
Functor constructing the medial axis of an union of balls. More... | |
Accessors | |
const Delaunay_facet_to_vertex_map & | get_crossing_edges (void) const |
Return the map from crossing-edges to the incident alpha-shape vertices. More... | |
const Delaunay_facet_to_edge_map & | get_alpha_complex_edges (void) const |
Return the map from alpha-shape edges to the corresponding edges in the alpha-shape. More... | |
const Delaunay_cell_to_locate_map & | get_cells_location (void) const |
Return the map from dual of Voronoi vertices to their location wrt the alpha-shape. More... | |
Algorithm constructing the medial axis of an union of balls.
The medial axis of a closed surface is the set of centers of empty balls which touch the surface at more than one point. For an union of balls B, the medial axis is the intersection of the alpha-shape of B for alpha = 0, with the Voronoi diagram of the intersection points at the boundary of B.
The method for computing this medial axis follows the article The medial axis of a union of balls from Amenta et al in 2001. It consists on 8 steps:
Note that all intermediate data structures are stored during the process and the class provides accessors for these data structures.
Kernel | Geometric kernel for constant size objects, predicates and constructions from the CGAL library |
RealType | Representation of a real number for Delaunay computation |
|
inline |
Return the map from alpha-shape edges to the corresponding edges in the alpha-shape.
|
inline |
Return the map from dual of Voronoi vertices to their location wrt the alpha-shape.
|
inline |
Return the map from crossing-edges to the incident alpha-shape vertices.
|
inline |
Functor constructing the medial axis of an union of balls.
Given a set of spheres in the range [begin, end), this functor computes the medial axis of their union and store it in a data structure via the output iterator out. It is possible to set an output stream to collect high level information during the processing.