The abstract class that specifies the structure of the extender component. More...
#include <base.h>
Public Member Functions | |
virtual int | ex_update_insert_vertex (vertex_t *vertex_in)=0 |
Update function for vertex insertion. | |
virtual int | ex_update_insert_edge (edge_t *edge_in)=0 |
Update function for edge insertion. | |
virtual int | ex_update_delete_vertex (vertex_t *vertex_in)=0 |
Update function for vertex deletion. | |
virtual int | ex_update_delete_edge (edge_t *edge_in)=0 |
Update function for edge insertion. | |
virtual int | extend (state_t *state_from_in, state_t *state_towards_in, int *exact_connection_out, trajectory_t *trajectory_out, list< state_t * > *intermediate_vertices_out)=0 |
Abstract function that generates a trajectory connecting two given states. |
The abstract class that specifies the structure of the extender component.
An extender provides the function to generate a trajectory that connects two given states. The extender can also provide a list of designated states, which become vertices of their own when added to the graph maintained by the planning algorithm.
virtual int smp::extender_base< typeparams >::ex_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::extender_double_integrator< typeparams, NUM_DIMENSIONS >, smp::extender_dubins< typeparams >, smp::extender_dubins_double_integrator< typeparams >, and smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >.
virtual int smp::extender_base< typeparams >::ex_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::extender_double_integrator< typeparams, NUM_DIMENSIONS >, smp::extender_dubins< typeparams >, smp::extender_dubins_double_integrator< typeparams >, and smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >.
virtual int smp::extender_base< typeparams >::ex_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::extender_double_integrator< typeparams, NUM_DIMENSIONS >, smp::extender_dubins< typeparams >, smp::extender_dubins_double_integrator< typeparams >, and smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >.
virtual int smp::extender_base< typeparams >::ex_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::extender_double_integrator< typeparams, NUM_DIMENSIONS >, smp::extender_dubins< typeparams >, smp::extender_dubins_double_integrator< typeparams >, and smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >.
virtual int smp::extender_base< typeparams >::extend | ( | state_t * | state_from_in, |
state_t * | state_towards_in, | ||
int * | exact_connection_out, | ||
trajectory_t * | trajectory_out, | ||
list< state_t * > * | intermediate_vertices_out | ||
) | [pure virtual] |
Abstract function that generates a trajectory connecting two given states.
Generates a trajectory, returned in the trajectory_out argument, that connects two given states, provided with the state_from_in and state_towards_in arguments. If the connection is exact, i.e., the trajectory reaches state_towards_in exactly, then the output variable exact_connection_out is set to one. If, on the other hand, the connection is approximate, then the same variable is set to zero.
state_from_in | The state that the new trajectory starts from. |
state_towards_in | The state that the new trajectory is shooted towards. |
exact_connection_out | Set to one if the connection is exact, otherwise this variable is set to zero by this function. |
trajectory_out | The output variable that contians the resulting trajectory. |
intermediate_vertices_out | The list of states that will be individual vertices. |
Implemented in smp::extender_double_integrator< typeparams, NUM_DIMENSIONS >, smp::extender_dubins< typeparams >, smp::extender_dubins_double_integrator< typeparams >, and smp::extender_single_integrator< typeparams, NUM_DIMENSIONS >.