PGROUTING  2.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
alpha_driver.cpp File Reference
#include "./alpha_driver.h"
#include <CGAL/Simple_cartesian.h>
#include <CGAL/Filtered_kernel.h>
#include <CGAL/algorithm.h>
#include <CGAL/Polygon_2.h>
#include <CGAL/Delaunay_triangulation_2.h>
#include <CGAL/Triangulation_2.h>
#include <CGAL/Triangulation_hierarchy_vertex_base_2.h>
#include <CGAL/Triangulation_hierarchy_2.h>
#include <CGAL/Triangulation_face_base_2.h>
#include <CGAL/Triangulation_euclidean_traits_2.h>
#include <CGAL/Alpha_shape_2.h>
#include <CGAL/Alpha_shape_face_base_2.h>
#include <CGAL/Alpha_shape_vertex_base_2.h>
#include <vector>
#include <list>
#include <cmath>
#include <utility>
#include <algorithm>
#include <set>
#include "./../../common/src/pgr_alloc.hpp"

Go to the source code of this file.

Typedefs

typedef
CGAL::Alpha_shape_face_base_2
< K, Tf
Af
 
typedef
Alpha_shape_2::Alpha_iterator 
Alpha_iterator
 
typedef CGAL::Alpha_shape_2< HtAlpha_shape_2
 
typedef
Alpha_shape_2::Alpha_shape_edges_iterator 
Alpha_shape_edges_iterator
 
typedef
CGAL::Triangulation_hierarchy_vertex_base_2
< Avb
Av
 
typedef
CGAL::Alpha_shape_vertex_base_2
< K
Avb
 
typedef double coord_type
 
typedef
CGAL::Delaunay_triangulation_2
< K, Tds
Dt
 
typedef
Alpha_shape_2::Face_circulator 
Face_circulator
 
typedef
CGAL::Triangulation_hierarchy_2
< Dt
Ht
 
typedef CGAL::Filtered_kernel< SCK
 
typedef K::Point_2 Point
 
typedef CGAL::Polygon_2< KPolygon_2
 
typedef CGAL::Simple_cartesian
< coord_type
SC
 
typedef K::Segment_2 Segment
 
typedef
CGAL::Triangulation_default_data_structure_2
< K, Av, Af
Tds
 
typedef
CGAL::Triangulation_face_base_2
< K
Tf
 
typedef K::Vector_2 Vector
 
typedef
Alpha_shape_2::Vertex_circulator 
Vertex_circulator
 

Functions

template<class OutputIterator >
void alpha_edges (const Alpha_shape_2 &A, OutputIterator out)
 
int alpha_shape (vertex_t *vertices, size_t count, double alpha, vertex_t **res, size_t *res_count, char **err_msg)
 
void find_next_edge (Segment s, std::vector< Segment > &segments, std::set< int > &unusedIndexes, std::vector< Polygon_2 > &rings)
 
double get_angle (Point p, Point q, Point r)
 

Variables

size_t prev_size = 0
 

Typedef Documentation

typedef CGAL::Alpha_shape_face_base_2<K, Tf> Af

Definition at line 77 of file alpha_driver.cpp.

typedef Alpha_shape_2::Alpha_iterator Alpha_iterator

Definition at line 87 of file alpha_driver.cpp.

typedef CGAL::Alpha_shape_2<Ht> Alpha_shape_2

Definition at line 82 of file alpha_driver.cpp.

typedef Alpha_shape_2::Alpha_shape_edges_iterator Alpha_shape_edges_iterator

Definition at line 88 of file alpha_driver.cpp.

typedef CGAL::Triangulation_hierarchy_vertex_base_2<Avb> Av

Definition at line 74 of file alpha_driver.cpp.

typedef CGAL::Alpha_shape_vertex_base_2<K> Avb

Definition at line 73 of file alpha_driver.cpp.

typedef double coord_type

Definition at line 64 of file alpha_driver.cpp.

typedef CGAL::Delaunay_triangulation_2<K, Tds> Dt

Definition at line 80 of file alpha_driver.cpp.

typedef Alpha_shape_2::Face_circulator Face_circulator

Definition at line 84 of file alpha_driver.cpp.

typedef CGAL::Triangulation_hierarchy_2<Dt> Ht

Definition at line 81 of file alpha_driver.cpp.

typedef CGAL::Filtered_kernel<SC> K

Definition at line 67 of file alpha_driver.cpp.

typedef K::Point_2 Point

Definition at line 68 of file alpha_driver.cpp.

typedef CGAL::Polygon_2<K> Polygon_2

Definition at line 71 of file alpha_driver.cpp.

typedef CGAL::Simple_cartesian<coord_type> SC

Definition at line 66 of file alpha_driver.cpp.

typedef K::Segment_2 Segment

Definition at line 69 of file alpha_driver.cpp.

typedef CGAL::Triangulation_default_data_structure_2<K, Av, Af> Tds

Definition at line 79 of file alpha_driver.cpp.

typedef CGAL::Triangulation_face_base_2<K> Tf

Definition at line 76 of file alpha_driver.cpp.

typedef K::Vector_2 Vector

Definition at line 70 of file alpha_driver.cpp.

typedef Alpha_shape_2::Vertex_circulator Vertex_circulator

Definition at line 85 of file alpha_driver.cpp.

Function Documentation

template<class OutputIterator >
void alpha_edges ( const Alpha_shape_2 A,
OutputIterator  out 
)

Definition at line 161 of file alpha_driver.cpp.

Referenced by alpha_shape().

int alpha_shape ( vertex_t vertices,
size_t  count,
double  alpha,
vertex_t **  res,
size_t *  res_count,
char **  err_msg 
)

Definition at line 171 of file alpha_driver.cpp.

References alpha_edges(), find_next_edge(), and pgr_alloc().

Referenced by compute_alpha_shape().

void find_next_edge ( Segment  s,
std::vector< Segment > &  segments,
std::set< int > &  unusedIndexes,
std::vector< Polygon_2 > &  rings 
)

Definition at line 106 of file alpha_driver.cpp.

References get_angle(), and prev_size.

Referenced by alpha_shape().

double get_angle ( Point  p,
Point  q,
Point  r 
)

Definition at line 92 of file alpha_driver.cpp.

Referenced by find_next_edge().

Variable Documentation

size_t prev_size = 0

Definition at line 105 of file alpha_driver.cpp.

Referenced by find_next_edge().