![]() |
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.