Classes | Namespaces | Functions
psimpl.h File Reference
#include <queue>
#include <stack>
#include <numeric>
#include <algorithm>
#include <cmath>
Include dependency graph for psimpl.h:

Go to the source code of this file.

Classes

class  psimpl::PolylineSimplification< DIM, InputIterator, OutputIterator >::DPHelper
 Douglas-Peucker approximation helper class. More...
 
struct  psimpl::PolylineSimplification< DIM, InputIterator, OutputIterator >::DPHelper::KeyInfo
 Defines the key of a polyline. More...
 
class  psimpl::PolylineSimplification< DIM, InputIterator, OutputIterator >
 Provides various simplification algorithms for n-dimensional simple polylines. More...
 
class  psimpl::util::scoped_array< T >
 A smart pointer for holding a dynamically allocated array. More...
 
struct  psimpl::math::Statistics
 POD structure for storing several statistical values. More...
 
struct  psimpl::PolylineSimplification< DIM, InputIterator, OutputIterator >::DPHelper::SubPoly
 Defines a sub polyline. More...
 
struct  psimpl::PolylineSimplification< DIM, InputIterator, OutputIterator >::DPHelper::SubPolyAlt
 Defines a sub polyline including its key. More...
 

Namespaces

 psimpl
 Root namespace of the polyline simplification library.
 
 psimpl::math
 Contains functions for calculating statistics and distances between various geometric entities.
 
 psimpl::util
 Contains utility functions and classes.
 

Functions

template<unsigned DIM, class ForwardIterator >
math::Statistics psimpl::compute_positional_error_statistics (ForwardIterator original_first, ForwardIterator original_last, ForwardIterator simplified_first, ForwardIterator simplified_last, bool *valid=0)
 Computes statistics for the positional errors between a polyline and its simplification. More...
 
template<unsigned DIM, class ForwardIterator , class OutputIterator >
OutputIterator psimpl::compute_positional_errors2 (ForwardIterator original_first, ForwardIterator original_last, ForwardIterator simplified_first, ForwardIterator simplified_last, OutputIterator result, bool *valid=0)
 Computes the squared positional error between a polyline and its simplification. More...
 
template<class InputIterator >
Statistics psimpl::math::compute_statistics (InputIterator first, InputIterator last)
 Computes various statistics for the range [first, last) More...
 
template<unsigned DIM, class InputIterator >
std::iterator_traits< InputIterator >::value_type psimpl::math::dot (InputIterator v1, InputIterator v2)
 Computes the dot product of two vectors. More...
 
template<unsigned DIM, class InputIterator >
bool psimpl::math::equal (InputIterator p1, InputIterator p2)
 Determines if two points have the exact same coordinates. More...
 
template<unsigned DIM, class InputIterator , class OutputIterator >
OutputIterator psimpl::math::interpolate (InputIterator p1, InputIterator p2, float fraction, OutputIterator result)
 Peforms linear interpolation between two points. More...
 
template<unsigned DIM, class InputIterator >
std::iterator_traits< InputIterator >::value_type psimpl::math::line_distance2 (InputIterator l1, InputIterator l2, InputIterator p)
 Computes the squared distance between an infinite line (l1, l2) and a point p. More...
 
template<unsigned DIM, class InputIterator , class OutputIterator >
OutputIterator psimpl::math::make_vector (InputIterator p1, InputIterator p2, OutputIterator result)
 Creates a vector from two points. More...
 
template<unsigned DIM, class InputIterator1 , class InputIterator2 >
std::iterator_traits< InputIterator1 >::value_type psimpl::math::point_distance2 (InputIterator1 p1, InputIterator2 p2)
 Computes the squared distance of two points. More...
 
template<unsigned DIM, class InputIterator >
std::iterator_traits< InputIterator >::value_type psimpl::math::ray_distance2 (InputIterator r1, InputIterator r2, InputIterator p)
 Computes the squared distance between a ray (r1, r2) and a point p. More...
 
template<unsigned DIM, class InputIterator >
std::iterator_traits< InputIterator >::value_type psimpl::math::segment_distance2 (InputIterator s1, InputIterator s2, InputIterator p)
 Computes the squared distance between a line segment (s1, s2) and a point p. More...
 
template<unsigned DIM, class ForwardIterator , class OutputIterator >
OutputIterator psimpl::simplify_douglas_peucker (ForwardIterator first, ForwardIterator last, typename std::iterator_traits< ForwardIterator >::value_type tol, OutputIterator result)
 Performs Douglas-Peucker polyline simplification (DP). More...
 
template<unsigned DIM, class ForwardIterator , class OutputIterator >
OutputIterator psimpl::simplify_douglas_peucker_n (ForwardIterator first, ForwardIterator last, unsigned count, OutputIterator result)
 Performs a variant of Douglas-Peucker polyline simplification (DPn). More...
 
template<unsigned DIM, class BidirectionalIterator , class OutputIterator >
OutputIterator psimpl::simplify_lang (BidirectionalIterator first, BidirectionalIterator last, typename std::iterator_traits< BidirectionalIterator >::value_type tol, unsigned look_ahead, OutputIterator result)
 Performs Lang polyline simplification (LA). More...
 
template<unsigned DIM, class ForwardIterator , class OutputIterator >
OutputIterator psimpl::simplify_nth_point (ForwardIterator first, ForwardIterator last, unsigned n, OutputIterator result)
 Performs the nth point routine (NP). More...
 
template<unsigned DIM, class ForwardIterator , class OutputIterator >
OutputIterator psimpl::simplify_opheim (ForwardIterator first, ForwardIterator last, typename std::iterator_traits< ForwardIterator >::value_type min_tol, typename std::iterator_traits< ForwardIterator >::value_type max_tol, OutputIterator result)
 Performs Opheim polyline simplification (OP). More...
 
template<unsigned DIM, class ForwardIterator , class OutputIterator >
OutputIterator psimpl::simplify_perpendicular_distance (ForwardIterator first, ForwardIterator last, typename std::iterator_traits< ForwardIterator >::value_type tol, OutputIterator result)
 Performs the perpendicular distance routine (PD). More...
 
template<unsigned DIM, class ForwardIterator , class OutputIterator >
OutputIterator psimpl::simplify_perpendicular_distance (ForwardIterator first, ForwardIterator last, typename std::iterator_traits< ForwardIterator >::value_type tol, unsigned repeat, OutputIterator result)
 Repeatedly performs the perpendicular distance routine (PD). More...
 
template<unsigned DIM, class ForwardIterator , class OutputIterator >
OutputIterator psimpl::simplify_radial_distance (ForwardIterator first, ForwardIterator last, typename std::iterator_traits< ForwardIterator >::value_type tol, OutputIterator result)
 Performs the (radial) distance between points routine (RD). More...
 
template<unsigned DIM, class ForwardIterator , class OutputIterator >
OutputIterator psimpl::simplify_reumann_witkam (ForwardIterator first, ForwardIterator last, typename std::iterator_traits< ForwardIterator >::value_type tol, OutputIterator result)
 Performs Reumann-Witkam polyline simplification (RW). More...
 
template<typename T >
void psimpl::util::swap (scoped_array< T > &a, scoped_array< T > &b)
 


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:25