![]() |
Fréchet View
1.6.0
A Tool for Exploring Fréchet Distance Algorithms
|
Display k-Frechet intervals, i.e. projections of connected components to the domain axes.
Overlapping intervals are stacked.
Definition at line 33 of file intervalview.h.
#include <intervalview.h>
Inherits QGraphicsItemGroup.
Public Types | |
| enum | Orientation { HORIZONTAL, VERTICAL } |
| orientation: horizontal or vertical More... | |
Public Member Functions | |
| IntervalView (Grid::ptr grid, Orientation orient, Palette *palette, double pen_width, QGraphicsItem *parent=0) | |
| constructor More... | |
| void | clear () |
| remove all intervals More... | |
| void | add (const Interval &ival, size_t component) |
| add an interval More... | |
| void | add (const k::MappedInterval &mval) |
| add an interval More... | |
| void | addAll (const k::IntervalMap &mvals) |
| add a set of intervals More... | |
| void | showResult (const frechet::data::BitSet *resultSet) |
| highlight result set of a k-Frechet algorithm. All intervals that are not part of the result set are grayed. More... | |
| double | extent () const |
Public Attributes | |
| enum frechet::view::IntervalView::Orientation | orientation |
| double | ROW_HEIGHT |
| height of a row More... | |
Private Types | |
| typedef boost::icl::interval_set< double > | boost_ivalset |
| set of intervals More... | |
| typedef boost::icl::continuous_interval< double > | boost_ival |
| what's this? More... | |
Private Member Functions | |
| QLineF | insert (const boost_ival &ival) |
| insert an interval More... | |
| int | findRow (const boost_ival &ival) |
| place a new interval in a free space More... | |
| QGraphicsLineItem * | createItem () |
| create a line item More... | |
| void | releaseItem (QGraphicsItem *) |
| release item More... | |
| void | setItemColor (QGraphicsLineItem *item, QColor col) |
| update ttem color More... | |
Private Attributes | |
| Grid::ptr | grid |
| coordinate grid More... | |
| std::vector< boost_ivalset > | stack |
| stack of intervals More... | |
| int | stack_watermark |
| stack watermark More... | |
| Palette * | palette |
| color palette More... | |
| QQueue< QGraphicsLineItem * > | itemPool |
| pool of unused QGraphicsItems More... | |
| QPen | LINE_PEN |
| pen for drawing lines More... | |
|
private |
what's this?
Definition at line 45 of file intervalview.h.
|
private |
set of intervals
Definition at line 43 of file intervalview.h.
orientation: horizontal or vertical
| Enumerator | |
|---|---|
| HORIZONTAL | |
| VERTICAL | |
Definition at line 37 of file intervalview.h.
| IntervalView::IntervalView | ( | Grid::ptr | grid, |
| Orientation | orient, | ||
| Palette * | palette, | ||
| double | pen_width, | ||
| QGraphicsItem * | parent = 0 |
||
| ) |
constructor
| grid | free-space grid |
| orient | orientation of intervals (horizonral or vertical) |
| palette | a color palette |
| pen_width | pen width |
| parent | parent item |
Definition at line 15 of file intervalview.cpp.
| void IntervalView::add | ( | const Interval & | ival, |
| size_t | component | ||
| ) |
add an interval
| ival | interval |
| component | associated component; determines color |
Definition at line 53 of file intervalview.cpp.
| void frechet::view::IntervalView::add | ( | const k::MappedInterval & | mval | ) |
add an interval
| mval | an interval and a component ID |
| void IntervalView::addAll | ( | const k::IntervalMap & | mvals | ) |
add a set of intervals
| mvals | a set of intervals and associated component IDs |
Definition at line 80 of file intervalview.cpp.
| void IntervalView::clear | ( | ) |
remove all intervals
Definition at line 30 of file intervalview.cpp.
|
private |
|
inline |
Definition at line 104 of file intervalview.h.
|
private |
place a new interval in a free space
| ival | interval |
Definition at line 121 of file intervalview.cpp.
|
private |
insert an interval
| ival | interval |
Definition at line 107 of file intervalview.cpp.
|
private |
release item
Definition at line 45 of file intervalview.cpp.
|
private |
update ttem color
| item | a line item |
| col | new color |
Definition at line 88 of file intervalview.cpp.
| void IntervalView::showResult | ( | const frechet::data::BitSet * | resultSet | ) |
highlight result set of a k-Frechet algorithm. All intervals that are not part of the result set are grayed.
| resultSet | set of component IDs. |
Definition at line 95 of file intervalview.cpp.
|
private |
coordinate grid
Definition at line 48 of file intervalview.h.
|
private |
pool of unused QGraphicsItems
Definition at line 56 of file intervalview.h.
|
private |
pen for drawing lines
Definition at line 58 of file intervalview.h.
| enum frechet::view::IntervalView::Orientation frechet::view::IntervalView::orientation |
|
private |
color palette
Definition at line 54 of file intervalview.h.
| double frechet::view::IntervalView::ROW_HEIGHT |
height of a row
Definition at line 39 of file intervalview.h.
|
private |
stack of intervals
Definition at line 50 of file intervalview.h.
|
private |
stack watermark
Definition at line 52 of file intervalview.h.