Fréchet View  1.6.0
A Tool for Exploring Fréchet Distance Algorithms
frechet::poly::Algorithm::CurveData Struct Reference

Detailed Description

stores essential information about an input curve. This data is processed once for each input curve.

Definition at line 132 of file algorithm.h.

#include <algorithm.h>

Public Member Functions

 CurveData ()
 empty constructor More...
 
 ~CurveData ()
 destructor; release all memory More...
 
int n () const
 number of vertices = number of edges; start/end point is counted once (other than QPolygonF!!) More...
 
int l () const
 number of diagonal end points More...
 
int k () const
 number of c-diagonals More...
 
int d (int i) const
 map a diagonal end-point to a polygon vertex More...
 
int partitions () const
 
int calculate_c_diagonals (Segments &result)
 calculate the c-diagonals More...
 
int calculate_d_points ()
 calculate the d-points (end points of the diagonals) More...
 

Public Attributes

Curve curve
 P, resp. Q. Must be a closed curve, start and endpoint are duplicated. More...
 
Partition partition
 simplified polygon C' (containing only the end points of c-diagonals) More...
 
Segments _c_diagonals
 a list of c-diagonals More...
 
Polygon _d_points
 all end points of diagonals More...
 
Triangulation triangulation
 simplified triangulation for P, complete triangulation for Q More...
 
Triangulationdisplay_triangulation
 complete triangulation for P – only needed for visualisation; not for the algorithm as such More...
 
Polygon reflex
 reflex vertices (for Q only) More...
 
PolygonUtilitiesutils
 helper class for polygon analysis More...
 

Constructor & Destructor Documentation

◆ CurveData()

Algorithm::CurveData::CurveData ( )

empty constructor

Definition at line 51 of file algorithm.cpp.

◆ ~CurveData()

Algorithm::CurveData::~CurveData ( )

destructor; release all memory

Definition at line 59 of file algorithm.cpp.

Member Function Documentation

◆ calculate_c_diagonals()

int Algorithm::CurveData::calculate_c_diagonals ( Segments result)

calculate the c-diagonals

Parameters
resultholds the c-diagonals on return
Returns
the number of c-diagonals

Definition at line 198 of file algorithm.cpp.

◆ calculate_d_points()

int Algorithm::CurveData::calculate_d_points ( )

calculate the d-points (end points of the diagonals)

Returns
number of d-points

Definition at line 217 of file algorithm.cpp.

◆ d()

int frechet::poly::Algorithm::CurveData::d ( int  i) const
inline

map a diagonal end-point to a polygon vertex

Parameters
iindex into [0..l) modulo l
Returns
index of vertex in input curve

Definition at line 164 of file algorithm.h.

◆ k()

int frechet::poly::Algorithm::CurveData::k ( ) const
inline

number of c-diagonals

Definition at line 160 of file algorithm.h.

◆ l()

int frechet::poly::Algorithm::CurveData::l ( ) const
inline

number of diagonal end points

Definition at line 158 of file algorithm.h.

◆ n()

int frechet::poly::Algorithm::CurveData::n ( ) const
inline

number of vertices = number of edges; start/end point is counted once (other than QPolygonF!!)

Definition at line 156 of file algorithm.h.

◆ partitions()

int frechet::poly::Algorithm::CurveData::partitions ( ) const
inline
Returns
number of convex partitions (components)

Definition at line 169 of file algorithm.h.

Member Data Documentation

◆ _c_diagonals

Segments frechet::poly::Algorithm::CurveData::_c_diagonals

a list of c-diagonals

Definition at line 138 of file algorithm.h.

◆ _d_points

Polygon frechet::poly::Algorithm::CurveData::_d_points

all end points of diagonals

Definition at line 140 of file algorithm.h.

◆ curve

Curve frechet::poly::Algorithm::CurveData::curve

P, resp. Q. Must be a closed curve, start and endpoint are duplicated.

Definition at line 134 of file algorithm.h.

◆ display_triangulation

Triangulation* frechet::poly::Algorithm::CurveData::display_triangulation

complete triangulation for P – only needed for visualisation; not for the algorithm as such

Definition at line 144 of file algorithm.h.

◆ partition

Partition frechet::poly::Algorithm::CurveData::partition

simplified polygon C' (containing only the end points of c-diagonals)

Definition at line 136 of file algorithm.h.

◆ reflex

Polygon frechet::poly::Algorithm::CurveData::reflex

reflex vertices (for Q only)

Definition at line 146 of file algorithm.h.

◆ triangulation

Triangulation frechet::poly::Algorithm::CurveData::triangulation

simplified triangulation for P, complete triangulation for Q

Definition at line 142 of file algorithm.h.

◆ utils

PolygonUtilities* frechet::poly::Algorithm::CurveData::utils

helper class for polygon analysis

Definition at line 148 of file algorithm.h.


The documentation for this struct was generated from the following files: