![]() |
Fréchet View
1.6.0
A Tool for Exploring Fréchet Distance Algorithms
|
| ▼Nfrechet | Global definitions for all algorithms |
| ▼Napp | Classes for running the Qt application; multi-core and GPGPU support |
| CConcurrencyContext | Singleton class managing concurrency settings for the application |
| CFileEntry | Entry in the recently opened file list |
| CFileHistory | Keeps track of recently used files |
| CFrechetViewApplication | Application singleton |
| CInterruptedException | Thrown by long-runner tasks |
| CWorkerJob | Background job to run long-runner tasks in a seperate thread |
| CWorkerJobHandle | Thread safe access to a WorkerJob |
| ▼Ndata | Customized data containers |
| ▼CArray2D | A simple two-dimensional array of fixed size |
| Citerator | Array2D iterator |
| ▼CBitSet | A simple bit vector of fixed size |
| Citerator | Iterator over a BitSet |
| CBLinkedList | Abstract base class for LinkedList |
| CBLinkedListElement | Base class for elements of a BLinkedList |
| CInterval | Interval of two double values |
| CIntervalPair | Pair of horizonal / vertical intervals |
| CLinkedList | An intrusive double-linked list, similar to boost::intrusive |
| CLinkedListElement | Base template for elements of a LinkedList |
| CMatrixPool | Memory pool for matrix objects (M4RI matrices mzd_t* and OpenCL matrices clm4rm_t*) |
| CRect | Very simple Rectangle structure, with integer boundaries |
| CSpirolator | Integer iterator that goes in "spirals", like this: |
| ▼Nfs | Classes for computing the free-space diagram |
| CCell | Holds data for one cell of the free-space diagram |
| CComponents | Free-Space connected components and their projections to the domain axes |
| CFreeSpace | Models the Free-Space Diagram calculated from two curves |
| CGrid | Performs mappings to and from the free-space grid |
| CGridAxis | Grid axis maps the segments of the input curve to an axis of the free-space diagram |
| ▼Ninput | Classes for reading files from disk |
| CDataPath | Location of input data in an XML file |
| ▼CInputReader | Reads input data from a file |
| CXmlMessageHandler | Handles XML parse errors; used for debugging only |
| ▼Nk | Classes for computing the k-Fréchet Distance |
| ▼CkAlgorithm | The k-Frechet algorithm |
| CBruteForce | Results of the brute-force algorithm |
| CGreedy | Results of the Greedy algorithm |
| CWorkingSet | Current working set of mapped intervals. Horizontal intervals are mapped to the range [0..n] Vertical intervals are mapped to the range [n..n+m] |
| CKWorkerJob | Background worker job for running the k-Frechet brute-force algorithm |
| CMappedInterval | Attaches a component ID to an interval |
| ▼Npoly | Classes for computing the Fréchet Distance on simple polygons |
| ▼CAlgorithm | Base class for algorithm for simple polygons |
| CCurveData | Stores essential information about an input curve. This data is processed once for each input curve |
| CAlgorithmMultiCore | Multi-Core implementaion. Uses Intel TBB to perform some parallel computation |
| CAlgorithmSingleCore | Sequential implementation for a single processor core |
| CAlgorithmTopoSort | Implementation with a sorted call-graph |
| CCgalPoint | 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 |
| CDecideWorkerJob | Worker job for executing the decision variant of the algorithm for simple polygons |
| ▼CDoubleEndedQueue | A double ended queue, or "Funnel". Used by the algorithm for Shortest Paths Trees (Guibas et al.) |
| CFrame | Stack frame that tracks the necessary information for backtracking |
| CDummyTDS | Dummy class acting as a default for template arguments (required by CGAL::Triangulation_data_structure_2) |
| COptimiseCurveWorkerJob | Worker job for executing the optimisation variant, or approximation variant, on curves (not on simple polygons) |
| COptimisePolyWorkerJob | Worker job for executing the optimisation variant, or approximation variant, of the algorithm for simple polygons |
| CPartitionTraits | Type traits for a polygon partition Defines the type for Points and Polygons |
| CPolygonFSPath | Feasible-path for simple polygons |
| CPolygonShortestPaths | Compute Shortest-Paths-Tree on a polygon |
| CPolygonShortestPathsFS | Guibas' Algorithm with additional Free-Space computation |
| CPolygonTraits | Type traits for CgalPolygon. Defines the type for Points |
| CPolygonUtilities | Helper class for polygon analysis |
| CPolygonWorkerJob | 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 |
| CSegment | Represents a polygon line segment from node i to j |
| ▼CTriangulation | Wrapper for CGAL::Triangulation_Data_Structure https://doc.cgal.org/latest/TDS_2/index.html |
| CEdge_iterator | Edge iterator. Traverses all edges of the triangulation. Derives from TDS::Edge_iterator and supplies some additional information |
| ▼CVertex_base | Base class for vertexes in a Triangulation Data Structure |
| CRebind_TDS | Template re-bind to resolve cyclic dependcies |
| ▼Nreach | Class for computing reachability structures and graphs |
| CBoundarySegment | Boundary interval in the reachability structure. Represents an interval on the boundary of the FreeSpace (bottom.left,top, or right) |
| CBoundsIndex | Mapping within a GraphModel |
| CCalculateTask | Sub-task, computing a region of the reachability structure |
| CFSPath | Calculates a feasible path in the Free-Space given a start point (0,0) and an end point (n-1,m-1) |
| ▼CGraph | Represents a Reachability Graph. Vertices correspond to intervals in the reachability structure, broken down to the most fine-grained intervals |
| COrigin | How was this graph constructed? This info is useful for visualisation & debugging. And for constructing a topologoically sorted list of tasks. (see frechet::poly::AlgorithmTopoSort) |
| CGraphCL | Reachability Graph with additional storage in GPU memory |
| CGraphModel | Model the mapping of free-space intervals to nodes in a frechet::reach::Graph |
| CGraphModelAxis | Manages a mapping between free-space intervals (continous, floating point) to reachability graph nodes (discrete, integer) |
| CIndexRange | Range of node indices in a Reachability Graph |
| CMergeTask | Sub-taks, performing the merging of two reachability structures |
| CPlacement | Placement of a diagonal point in free-space diagram When calculating valid placements in [buchin06] |
| CPointerInterval | Describes l,h pointers. Both pointers are assumed to point into the same rectangle section (right-top OR bottom-left) |
| ▼CStructure | The Reachability Structure; maintains a list of intervals on the border of Free Space, along with pointers to reachable intervals on the opposite side |
| CSingleCellAuxData | Aux. data structure that is used to construct an initial reachability cell |
| CStructureIterator | The StructureIterator class |
| CStructureTask | Task object for parallel execution. When the reachability structur is computed in parallel threads, we create a tree of task objects that are distributed over threads |
| ▼Nview | Visible parts of the Qt application: windows and widgets |
| CBaseView | Base class for view widgets |
| CCellView | Displays one cell of the free-space diagram |
| CControlPanel | Control Panel |
| CCurveView | Displays input curves P and Q |
| CFreeSpaceView | Display the free-space diagram |
| CGraphicsHoverLineItem | QGraphicsLitem that can handle mouse hover events. It is used to highlight mouse sensitve polygon segments |
| CGraphicsView | QGraphicsView with additional support for mouse and gesture events. re-implements a couple of event handling routines |
| CIntervalView | Display k-Frechet intervals, i.e. projections of connected components to the domain axes |
| CMainWindow | The single application window |
| CPalette | Color map |
| Cclm4rm_conditions | Manages OpenCL event dependencies; necessary when the queue is out-of-order; dependencies must be established through cl_event |
| Cclm4rm_event_list | List of cl_events; used by clm4rm_conditions to keep track of schedules jobs in the OpenCL queue |
| Cclmatrix_t | OpenCL boolean matrix data structure. Data is arranged in 32 bit words |
| CPath | Represents a polygonal curve |