smp::distance_evaluator_base< typeparams > Class Template Reference

The abstract class that specifies the structure of a distance evaluator component. More...

#include <base.h>

Inheritance diagram for smp::distance_evaluator_base< typeparams >:
smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >

List of all members.

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.

Detailed Description

template<class typeparams>
class smp::distance_evaluator_base< typeparams >

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.


Member Function Documentation

template<class typeparams >
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.

Parameters:
edge_inA pointer to deleted edge.
Returns:
Return 1 for success, a non-positive value to indiacate error.

Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
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.

Parameters:
vertex_inA pointer to deleted vertex.
Returns:
Return 1 if success, a non-positive value to indiacate error.

Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
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.

Parameters:
edge_inA pointer to the new edge.
Returns:
Return 1 for success, a non-positive value to indiacate error.

Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
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.

Parameters:
vertex_inA pointer to the new vertex.
Returns:
Return 1 if success, a non-positive value to indiacate error.

Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
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.

Parameters:
state_inThe query state.
k_inThe number k.
list_data_outData that is associated with each vertex in the near set organized into a list.
Returns:
Returns 1 for success, a non-positive number for failure.

Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
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.

Parameters:
state_inThe query state.
radius_inThe radius of the ball.
list_data_outData that is associated with each vertex in the near set organized into a list.
Returns:
Returns 1 for success, a non-positive number for failure.

Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
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.

Parameters:
state_inThe query state.
data_outData that is associated with the nearest vertex (usually this data is basically a pointer to the nearest vertex itself.
Returns:
Returns 1 for success, a non-positive number for failure.

Implemented in smp::distance_evaluator_kdtree< typeparams, NUM_DIMENSIONS >.


The documentation for this class was generated from the following file: