![]() |
Fréchet View
1.6.0
A Tool for Exploring Fréchet Distance Algorithms
|
base class for vertexes in a Triangulation Data Structure.
Vertexes are derived from TDS vertex class, but carry additional information, namely
TDS | a Triangulation Data Structure |
Definition at line 40 of file triangulation.h.
#include <triangulation.h>
Inherits Point, and Triangulation_ds_vertex_base_2< TDS >.
Classes | |
struct | Rebind_TDS |
template re-bind to resolve cyclic dependcies More... | |
Public Member Functions | |
Vertex_base () | |
empty constructore; creates an invalid vertex More... | |
Vertex_base (const Point &p, int i) | |
constructor from polygon vertex More... | |
Vertex_base (const Point &p, int i, double offset) | |
constructor from polygon edge More... | |
~Vertex_base () | |
destructor (empty, actually) More... | |
void | setPoint (const Point &p) |
assign a point in the plane More... | |
void | clearTarget () |
reset target info (used by PolygonShortestPaths algorithm) More... | |
Vertex_base & | setData (const Vertex_base &that) |
copy properties of derived class (anything but base class info) More... | |
Vertex_base & | setData (const Point &p, int pindex, int dindex, double offset) |
set properties of derived class (anything but base class info) More... | |
QLineF | treeEdge () const |
bool | assertEquals (const Vertex_base &that) |
debug assertion More... | |
Public Attributes | |
int | pindex |
Index of polygon vertex (if this object refers to a polygon vertex; invalid for extra points) More... | |
int | dindex |
Index of diagonal vertex (points into CurveData::d_points); invalid for other points. More... | |
double | offset |
Aux. data used by PolygonShortestPaths | |
The algorithm for shortest-paths stores extra info at the triangulation vertexes for:
| |
Vertex_base * | prev |
const frechet::reach::Placement * | target |
Interval | L |
Free-Space intervals L,B,R (usually part of a FreeSpace object) L,B,R is calculated from [Guibas-start diagonal d] x [prev..this]. More... | |
Interval | B |
Interval | R |
Interval | LR |
Reachable Free-Space intervals LR,BR,RR (usually part of an FSPath object) More... | |
Interval | BR |
Interval | RR |
Vertex_base::Vertex_base | ( | ) |
empty constructore; creates an invalid vertex
Definition at line 584 of file triangulation.cpp.
frechet::poly::Vertex_base< TDS >::Vertex_base | ( | const Point & | p, |
int | i | ||
) |
constructor from polygon vertex
p | one of the polygon's vertexes |
i | index of polygon vertex |
frechet::poly::Vertex_base< TDS >::Vertex_base | ( | const Point & | p, |
int | i, | ||
double | offset | ||
) |
constructor from polygon edge
p | a point on the edge of a polygon curve |
i | index of neighbor polygon vertex |
offset | offset into polygon curve |
Vertex_base::~Vertex_base | ( | ) |
destructor (empty, actually)
Definition at line 600 of file triangulation.cpp.
bool Vertex_base::assertEquals | ( | const Vertex_base< TDS > & | that | ) |
debug assertion
that | objet to compare with |
Definition at line 684 of file triangulation.cpp.
|
inline |
reset target info (used by PolygonShortestPaths algorithm)
Definition at line 81 of file triangulation.h.
Vertex_base< TDS > & frechet::poly::Vertex_base< TDS >::setData | ( | const Vertex_base< TDS > & | that | ) |
copy properties of derived class (anything but base class info)
that | object to copy from |
Definition at line 606 of file triangulation.h.
Vertex_base< TDS > & frechet::poly::Vertex_base< TDS >::setData | ( | const Point & | p, |
int | pindex, | ||
int | dindex, | ||
double | offset | ||
) |
set properties of derived class (anything but base class info)
p | a point in the plane |
pindex | index of polygon vertex (optional) |
dindex | index of diagonal vertex (optional) |
offset | offset into polygon curve |
Definition at line 626 of file triangulation.h.
void frechet::poly::Vertex_base< TDS >::setPoint | ( | const Point & | p | ) |
|
inline |
Definition at line 142 of file triangulation.h.
Interval frechet::poly::Vertex_base< TDS >::B |
Definition at line 129 of file triangulation.h.
Interval frechet::poly::Vertex_base< TDS >::BR |
Definition at line 134 of file triangulation.h.
int frechet::poly::Vertex_base< TDS >::dindex |
Index of diagonal vertex (points into CurveData::d_points); invalid for other points.
Definition at line 102 of file triangulation.h.
Interval frechet::poly::Vertex_base< TDS >::L |
Free-Space intervals L,B,R (usually part of a FreeSpace object) L,B,R is calculated from [Guibas-start diagonal d] x [prev..this].
Definition at line 129 of file triangulation.h.
Interval frechet::poly::Vertex_base< TDS >::LR |
Reachable Free-Space intervals LR,BR,RR (usually part of an FSPath object)
Definition at line 134 of file triangulation.h.
double frechet::poly::Vertex_base< TDS >::offset |
offset on polygon edge. For polygon vertexes, there is offset==pindex for intermediate points on the edges, there is i <= offset <= i+1
Definition at line 105 of file triangulation.h.
int frechet::poly::Vertex_base< TDS >::pindex |
Index of polygon vertex (if this object refers to a polygon vertex; invalid for extra points)
Definition at line 100 of file triangulation.h.
Vertex_base* frechet::poly::Vertex_base< TDS >::prev |
backlink for PolygonShortestPaths algorithm. (prev,this) describes an edge in the shortest-paths tree
Definition at line 119 of file triangulation.h.
Interval frechet::poly::Vertex_base< TDS >::R |
Definition at line 129 of file triangulation.h.
Interval frechet::poly::Vertex_base< TDS >::RR |
Definition at line 134 of file triangulation.h.
const frechet::reach::Placement* frechet::poly::Vertex_base< TDS >::target |
Definition at line 124 of file triangulation.h.