![]() |
Fréchet View
1.6.0
A Tool for Exploring Fréchet Distance Algorithms
|
classes for computing the Fréchet Distance on simple polygons.
Classes | |
class | Algorithm |
base class for algorithm for simple polygons. More... | |
class | AlgorithmMultiCore |
Multi-Core implementaion. Uses Intel TBB to perform some parallel computation. More... | |
class | AlgorithmSingleCore |
Sequential implementation for a single processor core. More... | |
class | AlgorithmTopoSort |
implementation with a sorted call-graph. More... | |
class | CgalPoint |
a polygon vertex to be used with CGAL::Polygon_2. Derives from CGAL::Point_2 but is convertible to an from QPoint (which is used troughout the rest of the program). Also stores the index of the polygon vertex. More... | |
class | DecideWorkerJob |
worker job for executing the decision variant of the algorithm for simple polygons. More... | |
class | DoubleEndedQueue |
A double ended queue, or "Funnel". Used by the algorithm for Shortest Paths Trees (Guibas et al.). More... | |
struct | DummyTDS |
Dummy class acting as a default for template arguments (required by CGAL::Triangulation_data_structure_2) More... | |
class | OptimiseCurveWorkerJob |
worker job for executing the optimisation variant, or approximation variant, on curves (not on simple polygons). More... | |
class | OptimisePolyWorkerJob |
worker job for executing the optimisation variant, or approximation variant, of the algorithm for simple polygons. More... | |
struct | PartitionTraits |
type traits for a polygon partition Defines the type for Points and Polygons More... | |
class | PolygonFSPath |
a feasible-path for simple polygons. More... | |
class | PolygonShortestPaths |
compute Shortest-Paths-Tree on a polygon More... | |
class | PolygonShortestPathsFS |
Guibas' Algorithm with additional Free-Space computation. More... | |
struct | PolygonTraits |
type traits for CgalPolygon. Defines the type for Points. More... | |
class | PolygonUtilities |
a helper class for polygon analysis. More... | |
class | PolygonWorkerJob |
Abstract base class for executing the algorithm for simple polygons in a background thread. As any worker job, it may be interrupted by the user. More... | |
class | Segment |
Represents a polygon line segment from node i to j. More... | |
class | Triangulation |
Wrapper for CGAL::Triangulation_Data_Structure https://doc.cgal.org/latest/TDS_2/index.html. More... | |
class | Vertex_base |
base class for vertexes in a Triangulation Data Structure. More... | |
Typedefs | |
typedef CGAL::Exact_predicates_inexact_constructions_kernel | Kernel |
typedef CGAL::Polygon_2< PolygonTraits > | CgalPolygon |
CGAL::Polygon_2 built upon custom type. More... | |
typedef std::list< CgalPolygon > | CgalPolygonList |
a list of CgalPolygons More... | |
typedef std::vector< int > | Polygon |
Polygon a sub-set of vertex indexes. More... | |
typedef std::set< Segment > | Segments |
a set of Segment objects More... | |
typedef std::list< Polygon > | Partition |
a partitioning of a polygon, that is a list of sub-sets More... | |
Functions | |
Algorithm::ptr | newPolyAlgorithm (bool topo) |
factory method for creating a new algorithm object. Choose the appropriate implementation based on availability of multi-core and GPGPU processors. More... | |
std::ostream & | operator<< (std::ostream &out, const frechet::poly::CgalPolygon &poly) |
print operator (for debugging) More... | |
std::ostream & | operator<< (std::ostream &out, const frechet::poly::CgalPolygonList &polys) |
print operator (for debugging) More... | |
std::ostream & | operator<< (std::ostream &out, const Segment &seg) |
print operator; for debuggin More... | |
print operators for debugging | |
std::ostream & | operator<< (std::ostream &out, const Triangulation &tri) |
std::ostream & | operator<< (std::ostream &out, const Triangulation::Vertex_handle &v) |
std::ostream & | operator<< (std::ostream &out, const Triangulation::Face_handle &f) |
std::ostream & | operator<< (std::ostream &out, const Triangulation::Edge &e) |
std::ostream & | operator<< (std::ostream &out, const Triangulation::Edge_iterator &e) |
Variables | |
static const int | SOUTH_POLE_INDEX = -2 |
artifical vertex used by Triangulation More... | |
typedef CGAL::Polygon_2<PolygonTraits> frechet::poly::CgalPolygon |
CGAL::Polygon_2 built upon custom type.
Definition at line 95 of file poly_utils.h.
typedef std::list<CgalPolygon> frechet::poly::CgalPolygonList |
a list of CgalPolygons
Definition at line 97 of file poly_utils.h.
typedef CGAL::Exact_predicates_inexact_constructions_kernel frechet::poly::Kernel |
CGAL computation kernel; predicates are exact, constructions are bound to have roundoff errors (we can't avoid those anyway)
Definition at line 25 of file poly_utils.h.
typedef std::list<Polygon> frechet::poly::Partition |
typedef std::vector<int> frechet::poly::Polygon |
typedef std::set<Segment> frechet::poly::Segments |
Algorithm::ptr frechet::poly::newPolyAlgorithm | ( | bool | topo | ) |
factory method for creating a new algorithm object. Choose the appropriate implementation based on availability of multi-core and GPGPU processors.
topo | use implementaion with topological sorting |
Definition at line 11 of file parallel.cpp.
std::ostream & frechet::poly::operator<< | ( | std::ostream & | out, |
const Segment & | seg | ||
) |
print operator; for debuggin
out | output stream |
seg | a Segment object |
Definition at line 672 of file algorithm.cpp.
std::ostream & frechet::poly::operator<< | ( | std::ostream & | out, |
const frechet::poly::CgalPolygon & | poly | ||
) |
print operator (for debugging)
Definition at line 338 of file poly_utils.cpp.
std::ostream & frechet::poly::operator<< | ( | std::ostream & | out, |
const frechet::poly::CgalPolygonList & | polys | ||
) |
print operator (for debugging)
Definition at line 351 of file poly_utils.cpp.
std::ostream & frechet::poly::operator<< | ( | std::ostream & | out, |
const Triangulation & | tri | ||
) |
Definition at line 697 of file triangulation.cpp.
std::ostream& frechet::poly::operator<< | ( | std::ostream & | out, |
const Triangulation::Vertex_handle & | v | ||
) |
std::ostream & frechet::poly::operator<< | ( | std::ostream & | out, |
const Triangulation::Face_handle & | f | ||
) |
Definition at line 709 of file triangulation.cpp.
std::ostream & frechet::poly::operator<< | ( | std::ostream & | out, |
const Triangulation::Edge & | e | ||
) |
Definition at line 717 of file triangulation.cpp.
std::ostream & frechet::poly::operator<< | ( | std::ostream & | out, |
const Triangulation::Edge_iterator & | e | ||
) |
Definition at line 729 of file triangulation.cpp.
|
static |
artifical vertex used by Triangulation