visibility graph of points in an Environment, represented by adjacency matrix
More...
#include <visilibity.hpp>
|
| Visibility_Graph () |
| default to empty
|
|
| Visibility_Graph (const Visibility_Graph &vg2) |
| copy
|
|
| Visibility_Graph (const Environment &environment, double epsilon=0.0) |
| construct the visibility graph of Environment vertices More...
|
|
| Visibility_Graph (const std::vector< Point > points, const Environment &environment, double epsilon=0.0) |
| construct the visibility graph of Points in an Environment More...
|
|
| Visibility_Graph (const Guards &guards, const Environment &environment, double epsilon=0.0) |
| construct the visibility graph of Guards in an Environment More...
|
|
bool | operator() (unsigned i1, unsigned j1, unsigned i2, unsigned j2) const |
| raw access to adjacency matrix data More...
|
|
bool | operator() (unsigned k1, unsigned k2) const |
| raw access to adjacency matrix data via flattened indices More...
|
|
unsigned | n () const |
| total number of vertices in corresponding Environment
|
|
bool & | operator() (unsigned i1, unsigned j1, unsigned i2, unsigned j2) |
| raw access to adjacency matrix data More...
|
|
bool & | operator() (unsigned k1, unsigned k2) |
| raw access to adjacency matrix data via flattened indices More...
|
|
Visibility_Graph & | operator= (const Visibility_Graph &visibility_graph_temp) |
| assignment operator
|
|
virtual | ~Visibility_Graph () |
| destructor
|
|
|
unsigned | two_to_one (unsigned i, unsigned j) const |
|
|
unsigned | n_ |
|
std::vector< unsigned > | vertex_counts_ |
|
bool ** | adjacency_matrix_ |
|
visibility graph of points in an Environment, represented by adjacency matrix
- Todo:
- Add method to prune edges for faster shortest path calculation, e.g., exclude concave vertices and only include tangent edges as described in ``Robot Motion Planning" (Ch. 4 Sec. 1) by J.C. Latombe.
◆ Visibility_Graph() [1/3]
VisiLibity::Visibility_Graph::Visibility_Graph |
( |
const Environment & |
environment, |
|
|
double |
epsilon = 0.0 |
|
) |
| |
construct the visibility graph of Environment vertices
- Author
- Karl J. Obermeyer
- Precondition
- environment must be epsilon -valid. Test with Environment::is_valid(epsilon).
◆ Visibility_Graph() [2/3]
VisiLibity::Visibility_Graph::Visibility_Graph |
( |
const std::vector< Point > |
points, |
|
|
const Environment & |
environment, |
|
|
double |
epsilon = 0.0 |
|
) |
| |
construct the visibility graph of Points in an Environment
- Precondition
- environment must be epsilon -valid. Test with Environment::is_valid(epsilon).
- Author
- Karl J. Obermeyer
◆ Visibility_Graph() [3/3]
VisiLibity::Visibility_Graph::Visibility_Graph |
( |
const Guards & |
guards, |
|
|
const Environment & |
environment, |
|
|
double |
epsilon = 0.0 |
|
) |
| |
construct the visibility graph of Guards in an Environment
- Precondition
- start and finish must be in the environment. Environment must be epsilon -valid. Test with Environment::is_valid(epsilon).
- Author
- Karl J. Obermeyer
◆ operator()() [1/4]
bool & VisiLibity::Visibility_Graph::operator() |
( |
unsigned |
i1, |
|
|
unsigned |
j1, |
|
|
unsigned |
i2, |
|
|
unsigned |
j2 |
|
) |
| |
raw access to adjacency matrix data
- Author
- Karl J. Obermeyer
- Parameters
-
i1 | Polygon index of first vertex |
j1 | index of first vertex within its Polygon |
i2 | Polygon index of second vertex |
j2 | index of second vertex within its Polygon |
- Returns
- true iff first vertex is visible from second vertex
◆ operator()() [2/4]
bool VisiLibity::Visibility_Graph::operator() |
( |
unsigned |
i1, |
|
|
unsigned |
j1, |
|
|
unsigned |
i2, |
|
|
unsigned |
j2 |
|
) |
| const |
raw access to adjacency matrix data
- Author
- Karl J. Obermeyer
- Parameters
-
i1 | Polygon index of first vertex |
j1 | index of first vertex within its Polygon |
i2 | Polygon index of second vertex |
j2 | index of second vertex within its Polygon |
- Returns
- true iff first vertex is visible from second vertex
◆ operator()() [3/4]
bool & VisiLibity::Visibility_Graph::operator() |
( |
unsigned |
k1, |
|
|
unsigned |
k2 |
|
) |
| |
raw access to adjacency matrix data via flattened indices
By flattened index is intended the label given to a vertex if you were to label all the vertices from 0 to n-1 (where n is the number of vertices representing the Environment) starting with the first vertex of the outer boundary and progressing in order through all the remaining vertices of the outer boundary and holes.
- Author
- Karl J. Obermeyer
- Parameters
-
k1 | flattened index of first vertex |
k1 | flattened index of second vertex |
- Returns
- true iff first vertex is visible from second vertex
◆ operator()() [4/4]
bool VisiLibity::Visibility_Graph::operator() |
( |
unsigned |
k1, |
|
|
unsigned |
k2 |
|
) |
| const |
raw access to adjacency matrix data via flattened indices
By flattened index is intended the label given to a vertex if you were to label all the vertices from 0 to n-1 (where n is the number of vertices representing the Environment) starting with the first vertex of the outer boundary and progressing in order through all the remaining vertices of the outer boundary and holes.
- Author
- Karl J. Obermeyer
- Parameters
-
k1 | flattened index of first vertex |
k1 | flattened index of second vertex |
- Returns
- true iff first vertex is visible from second vertex
The documentation for this class was generated from the following files: