The abstract class that specifies the structure of a distance evaluator component. More...
#include <base.h>
Public Member Functions | |
virtual int | de_update_insert_vertex (vertex_t *vertex_in)=0 |
Update function for vertex insertion. | |
virtual int | de_update_insert_edge (edge_t *edge_in)=0 |
Update function for edge insertion. | |
virtual int | de_update_delete_vertex (vertex_t *vertex_in)=0 |
Update function for vertex deletion. | |
virtual int | de_update_delete_edge (edge_t *edge_in)=0 |
Update function for edge insertion. | |
virtual int | find_nearest_vertex (state_t *state_in, void **data_out)=0 |
Abstract function that provides the nearest vertex. | |
virtual int | find_near_vertices_r (state_t *state_in, double radius_in, list< void * > *list_data_out)=0 |
Abstract function that provides the set of near vertices within a certain ball. | |
virtual int | find_near_vertices_k (state_t *state_in, int k_in, list< void * > *list_data_out)=0 |
Abstract function that provides the set of near vertices that are the k nearest to the query state. |
The abstract class that specifies the structure of a distance evaluator component.
A distance evaluator component provides functions for computing the nearest and near vertices. There two ways to compute the nearest vertices, the radius and the k-nearest methods, both of which should be implemented by a derived class.
virtual int smp::distance_evaluator_base< typeparams >::de_update_delete_edge | ( | edge_t * | edge_in | ) | [pure virtual] |
Update function for edge insertion.
This function is called by the planner whenever an edge is delete from the graph. A pointer to the edge is given as an argument.
edge_in | A pointer to deleted edge. |
Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.
virtual int smp::distance_evaluator_base< typeparams >::de_update_delete_vertex | ( | vertex_t * | vertex_in | ) | [pure virtual] |
Update function for vertex deletion.
This function is called by the planner whenever a vertex is deleted from the graph. A pointer to the vertex is given as an argument.
vertex_in | A pointer to deleted vertex. |
Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.
virtual int smp::distance_evaluator_base< typeparams >::de_update_insert_edge | ( | edge_t * | edge_in | ) | [pure virtual] |
Update function for edge insertion.
This function is called by the planner whenever a new edge is added to the graph. A pointer to the new edge is given as an argument.
edge_in | A pointer to the new edge. |
Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.
virtual int smp::distance_evaluator_base< typeparams >::de_update_insert_vertex | ( | vertex_t * | vertex_in | ) | [pure virtual] |
Update function for vertex insertion.
This function is called by the planner whenever a new vertex is added to the graph. A pointer to the new vertex is given as an argument.
vertex_in | A pointer to the new vertex. |
Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.
virtual int smp::distance_evaluator_base< typeparams >::find_near_vertices_k | ( | state_t * | state_in, |
int | k_in, | ||
list< void * > * | list_data_out | ||
) | [pure virtual] |
Abstract function that provides the set of near vertices that are the k nearest to the query state.
Returns the set of k-nearest vertices to the query state.
state_in | The query state. |
k_in | The number k. |
list_data_out | Data that is associated with each vertex in the near set organized into a list. |
Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.
virtual int smp::distance_evaluator_base< typeparams >::find_near_vertices_r | ( | state_t * | state_in, |
double | radius_in, | ||
list< void * > * | list_data_out | ||
) | [pure virtual] |
Abstract function that provides the set of near vertices within a certain ball.
Returns the set of all vertices that lie within the Euclidean ball of radius given by the radius_in argument and centered at the state given by the state_in argument.
state_in | The query state. |
radius_in | The radius of the ball. |
list_data_out | Data that is associated with each vertex in the near set organized into a list. |
Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.
virtual int smp::distance_evaluator_base< typeparams >::find_nearest_vertex | ( | state_t * | state_in, |
void ** | data_out | ||
) | [pure virtual] |
Abstract function that provides the nearest vertex.
Returns the vertex with state that is closest to the query state given by the state_in argument. The data associated with the nearest vertex is output with the data_out argument.
state_in | The query state. |
data_out | Data that is associated with the nearest vertex (usually this data is basically a pointer to the nearest vertex itself. |
Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.