Fréchet View  1.6.0
A Tool for Exploring Fréchet Distance Algorithms
frechet::data Namespace Reference

Detailed Description

customized data containers.

Classes

class  Array2D
 A simple two-dimensional array of fixed size. More...
 
class  BitSet
 A simple bit vector of fixed size. More...
 
class  BLinkedList
 abstract base class for LinkedList More...
 
class  BLinkedListElement
 base class for elements of a BLinkedList More...
 
class  Interval
 an interval of two double values. More...
 
class  IntervalPair
 a pair of horizonal / vertical intervals. More...
 
class  LinkedList
 An intrusive double-linked list, similar to boost::intrusive. More...
 
class  LinkedListElement
 base template for elements of a LinkedList More...
 
class  MatrixPool
 memory pool for matrix objects (M4RI matrices mzd_t* and OpenCL matrices clm4rm_t*) More...
 
struct  Rect
 a very simple Rectangle structure, with integer boundaries. More...
 
class  Spirolator
 an integer iterator that goes in "spirals", like this: More...
 

Typedefs

typedef QPointF Point
 a point in the plane; with double floating point precision. This type is heavily used throughout all Fréchet distance algorithms. More...
 
typedef QPolygonF Curve
 a polygonal curve in the plane; with double floating point precision. This type is heavily used throughout all Fréchet distance algorithms. More...
 
typedef QVector< CurveCurveList
 a list of polygonal curves More...
 
typedef unsigned int component_id_t
 used as identifier for free-space components More...
 

Functions

std::ostream & operator<< (std::ostream &stream, const frechet::data::Interval &ival)
 operator for printing debug info to a std::ostream More...
 
std::ostream & operator<< (std::ostream &stream, const frechet::data::IntervalPair &ival)
 operator for printing debug info to a std::ostream More...
 
mzd_t * new_mzd (int rows, int cols, MatrixPool *pool)
 allocate a new mzd_t structure (a matrix for the M4RI algorithms) More...
 
clmatrix_tnew_clmatrix (int rows, int cols, MatrixPool *pool, clm4rm_conditions *cond)
 allocate a new clmatrix_t structure (a matrix for the CLM4RM algorithms) More...
 
void reclaim (mzd_t *m, MatrixPool *pool)
 reclaim an object (i.e. put it into the recycling list) More...
 
void reclaim (clmatrix_t *clm, MatrixPool *pool)
 reclaim an object (i.e. put it into the recycling list) More...
 

Typedef Documentation

◆ component_id_t

typedef unsigned int frechet::data::component_id_t

used as identifier for free-space components

Definition at line 74 of file types.h.

◆ Curve

typedef QPolygonF frechet::data::Curve

a polygonal curve in the plane; with double floating point precision. This type is heavily used throughout all Fréchet distance algorithms.

Definition at line 20 of file types.h.

◆ CurveList

typedef QVector<Curve> frechet::data::CurveList

a list of polygonal curves

Definition at line 24 of file types.h.

◆ Point

typedef QPointF frechet::data::Point

a point in the plane; with double floating point precision. This type is heavily used throughout all Fréchet distance algorithms.

Definition at line 14 of file types.h.

Function Documentation

◆ new_clmatrix()

clmatrix_t * frechet::data::new_clmatrix ( int  rows,
int  cols,
MatrixPool pool,
clm4rm_conditions cond 
)

allocate a new clmatrix_t structure (a matrix for the CLM4RM algorithms)

Parameters
poola memory pool, optional, may be nullptr
rowsnumber of matrix rows
colsnumber of matrix columns
condkeeps track of OpenCL working queue
Returns
a clmatrix_t object, preferrably a recycled one

Definition at line 116 of file matrix_pool.cpp.

◆ new_mzd()

mzd_t * frechet::data::new_mzd ( int  rows,
int  cols,
MatrixPool pool 
)

allocate a new mzd_t structure (a matrix for the M4RI algorithms)

Parameters
poola memory pool, optional, may be nullptr
rowsnumber of matrix rows
colsnumber of matrix columns
Returns
a mzd_t object, preferrably a recycled one

Definition at line 109 of file matrix_pool.cpp.

◆ operator<<() [1/2]

std::ostream & frechet::data::operator<< ( std::ostream &  stream,
const frechet::data::Interval ival 
)

operator for printing debug info to a std::ostream

Definition at line 79 of file interval.cpp.

◆ operator<<() [2/2]

std::ostream & frechet::data::operator<< ( std::ostream &  stream,
const frechet::data::IntervalPair ival 
)

operator for printing debug info to a std::ostream

Definition at line 84 of file interval.cpp.

◆ reclaim() [1/2]

void frechet::data::reclaim ( mzd_t *  m,
MatrixPool pool 
)

reclaim an object (i.e. put it into the recycling list)

Parameters
ma matrix in M4RI format
poola memory pool, optional, may be nullptr

Definition at line 128 of file matrix_pool.cpp.

◆ reclaim() [2/2]

void frechet::data::reclaim ( clmatrix_t clm,
MatrixPool pool 
)

reclaim an object (i.e. put it into the recycling list)

Parameters
clma matrix structure
poola memory pool, optional, may be nullptr

Definition at line 135 of file matrix_pool.cpp.