Fréchet View  1.6.0
A Tool for Exploring Fréchet Distance Algorithms
boundary.h File Reference
#include <interval.h>
#include <linkedlist.h>

Go to the source code of this file.

Classes

struct  frechet::reach::PointerInterval
 describes l,h pointers. Both pointers are assumed to point into the same rectangle section (right-top OR bottom-left) More...
 
class  frechet::reach::BoundarySegment
 boundary interval in the reachability structure. Represents an interval on the boundary of the FreeSpace (bottom.left,top, or right) More...
 

Namespaces

 frechet
 global definitions for all algorithms.
 
 frechet::reach
 class for computing reachability structures and graphs.
 

Typedefs

typedef BoundarySegment * frechet::reach::Pointer
 (dumb) pointer to a BoundarySegment object More...
 
typedef data::LinkedList< BoundarySegment > frechet::reach::BoundaryList
 a double-linked list of reachability segments. makes up one of the four edges of a reachability structure More...
 

Enumerations

enum  frechet::reach::Type : uint8_t { frechet::reach::NON_ACCESSIBLE, frechet::reach::REACHABLE, frechet::reach::SEE_THROUGH }
 Segment Types. More...
 
enum  frechet::reach::Orientation : uint8_t { frechet::reach::HORIZONTAL =0, frechet::reach::VERTICAL =1 }
 Segment Orientation. More...
 
enum  frechet::reach::Direction : uint8_t {
  frechet::reach::FIRST =0, frechet::reach::SECOND =1, frechet::reach::BOTTOM_LEFT = FIRST, frechet::reach::RIGHT_TOP = SECOND,
  frechet::reach::FORWARD = RIGHT_TOP, frechet::reach::BACKWARD = BOTTOM_LEFT, frechet::reach::COUNTER_CLOCKWISE = RIGHT_TOP, frechet::reach::CLOCKWISE = BOTTOM_LEFT
}
 direction of a Pointer inside the reachability structure. More...
 

Functions

Orientation frechet::reach::opposite (Orientation ori)
 
Orientation & frechet::reach::operator++ (Orientation &ori)
 pre-increment an orientation variable. Note that an orientation variable can only be incremented once from HORIZONTAL to VERTICAL. Incrementing VERTICAL causes an undefined result. More...
 
Direction frechet::reach::opposite (Direction dir)
 
Direction & frechet::reach::operator++ (Direction &dir)
 pre-increment a direction variable. Note that a direction variable can only be incremented once from FIRST to SECOND. Incrementing SECOND causes an undefined result. More...
 
Pointer frechet::reach::min (const Pointer a, const Pointer b)
 minimum of two reachability intervals; compare lower bound, then upper bound More...
 
Pointer frechet::reach::min (const PointerInterval &ival)
 minimum of two reachability intervals; compare lower bound, then upper bound More...
 
Pointer frechet::reach::min (const PointerInterval &a, const PointerInterval &b)
 minimum of two reachability intervals; compare lower bound, then upper bound More...
 
Pointer frechet::reach::max (const Pointer a, const Pointer b)
 maximum of two reachability intervals; compare lower bound, then upper bound More...
 
Pointer frechet::reach::max (const PointerInterval &ival)
 maximum of two reachability intervals; compare lower bound, then upper bound More...
 
Pointer frechet::reach::max (const PointerInterval &a, const PointerInterval &b)
 maximum of two reachability intervals; compare lower bound, then upper bound More...
 
int frechet::reach::compare_interval (Pointer a, Pointer b)
 compare two pointers in the same part of a reachability structure (either right-top, or bottom-left) More...
 
int frechet::reach::compare_interval (const PointerInterval &ival)
 compare two pointers in the same part of a reachability structure (either right-top, or bottom-left) More...
 
bool frechet::reach::empty_interval (Pointer a, Pointer b)
 test intersection of intervals More...
 
bool frechet::reach::empty_interval (const PointerInterval &ival)
 test intersection of intervals More...
 
bool frechet::reach::empty_see_through_interval (Pointer p)
 test intersection of intervals. Assumes a SEE_THROUGH segment. More...
 
int frechet::reach::compare_pointers (Pointer a, Pointer b)
 compare two pointers on opposite parts of a reachability structure (eitehr left->right-top, or bottom->right-top) More...
 
std::ostream & frechet::reach::operator<< (std::ostream &out, const BoundaryList &list)
 print operator for debugging More...