smp::collision_checker_base< typeparams > Class Template Reference

An abstract collision checker. More...

#include <base.h>

Inheritance diagram for smp::collision_checker_base< typeparams >:
smp::collision_checker_mu_calculus< typeparams, NUM_DIMENSIONS > smp::collision_checker_standard< typeparams, NUM_DIMENSIONS >

List of all members.

Public Member Functions

virtual int cc_update_insert_vertex (vertex_t *vertex_in)=0
 Update function for vertex insertion.
virtual int cc_update_insert_edge (edge_t *edge_in)=0
 Update function for edge insertion.
virtual int cc_update_delete_vertex (vertex_t *vertex_in)=0
 Update function for vertex deletion.
virtual int cc_update_delete_edge (edge_t *edge_in)=0
 Update function for edge insertion.
virtual int check_collision_state (state_t *state_in)=0
 Checks whether a given state is collision free.
virtual int check_collision_trajectory (trajectory_t *trajectory_in)=0
 Checks whether a given trajectory is collision free.

Detailed Description

template<class typeparams>
class smp::collision_checker_base< typeparams >

An abstract collision checker.

The collision checker function provides the following two functions: check whether a given state is collision-free, and check whether a given trajectory is collision free. The collision check function can be thought of as a generic check as to whether or not the new trajectory is suitable to be included in the graph.


Member Function Documentation

template<class typeparams >
virtual int smp::collision_checker_base< typeparams >::cc_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::collision_checker_mu_calculus< typeparams, NUM_DIMENSIONS >, and smp::collision_checker_standard< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
virtual int smp::collision_checker_base< typeparams >::cc_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::collision_checker_mu_calculus< typeparams, NUM_DIMENSIONS >, and smp::collision_checker_standard< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
virtual int smp::collision_checker_base< typeparams >::cc_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::collision_checker_mu_calculus< typeparams, NUM_DIMENSIONS >, and smp::collision_checker_standard< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
virtual int smp::collision_checker_base< typeparams >::cc_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::collision_checker_mu_calculus< typeparams, NUM_DIMENSIONS >, and smp::collision_checker_standard< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
virtual int smp::collision_checker_base< typeparams >::check_collision_state ( state_t *  state_in) [pure virtual]

Checks whether a given state is collision free.

Parameters:
state_inThe state that will be checked for collision.
Returns:
Returns 1 if the trajectory is collision-free, 0 if the trajectory collides with an obstacle, and a non-positive if error.

Implemented in smp::collision_checker_mu_calculus< typeparams, NUM_DIMENSIONS >, and smp::collision_checker_standard< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
virtual int smp::collision_checker_base< typeparams >::check_collision_trajectory ( trajectory_t trajectory_in) [pure virtual]

Checks whether a given trajectory is collision free.

Parameters:
trajectory_inThe trajectory that will be checked for collision.
Returns:
Returns 1 if the trajectory is collision-free, 0 if the trajectory collides with an obstacle, and a non-positive if error.

Implemented in smp::collision_checker_mu_calculus< typeparams, NUM_DIMENSIONS >, and smp::collision_checker_standard< typeparams, NUM_DIMENSIONS >.


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