fast_sampling_matcher
.
More...
#include <extended_fs_graph.h>
Public Types | |
typedef transporter_edge | transporter_edge_class |
typedef transporter_edge::angle_t | angle_t |
typedef transporter_edge::index_t | index_t |
typedef transporter_edge::arithmetic_t | arithmetic |
typedef transporter_edge::interval_border | interval_border |
typedef transporter_edge::border_iterator | edge_border_iterator |
typedef transporter_edge::point_t | point |
typedef transporter_edge::motion | motion |
typedef arithmetic | arithmetic_t |
typedef std::pair<point,point> | point_pair |
typedef transporter_edge::border_value | border_value |
Type by which the interval borders are described. | |
typedef std::pair<index_t, index_t> | discrete_free_space_point |
The matching task only yields discretized curves through the approximate free space. More... | |
typedef std::list<discrete_free_space_point> | discrete_reparametrization_pair |
A discrete_reparametrization_pair is a sequence of (discrete) points contained in the (approxiamte) free space. | |
typedef std::vector<interval_border> | border_array |
typedef std::list<interval_border> | border_list |
typedef border_array::iterator | border_iterator |
Public Methods | |
extended_fs_graph () | |
Default constructor. More... | |
~extended_fs_graph () | |
Default destructor; calls clear() in order to deallocate all reserved memory. | |
void | build (point* P,point* Q,index_t m_P,index_t n_Q, const arithmetic& eps, const arithmetic& delta) |
Constructs the free space graph of the polygonal curves P and Q of lengths m and n , respectively. More... | |
bool | update (const interval_border& update_borders) |
Updates reachability etc. More... | |
bool | find_path () |
Determines whether there is a path from (0,0) to (m,n) (i.e., a flow) along the currently active edges through the graph. More... | |
motion | get_match () |
Returns an element g of the transformation group with the property that d_F(P,gQ)<=2(eps+delta), if such g exists. More... | |
bool | get_reparametrizations (discrete_reparametrization_pair& kappa_lambda) |
Returns a pair (kappa , lambda) containing the discretized reparametrizations that deschribe a monotonic curve in the 2(eps + delta)-free space. | |
void | clear () |
Deallocates all memory reserved by the extended_fs_graph object. | |
border_iterator | border_begin () |
This iterator allows to iterate over all interval borders of the edges assigned to the graph. More... | |
border_iterator | border_end () |
See border_begin() . |
fast_sampling_matcher
.
The class extended_fs_graph
supplies all neccessary operations for such a graph, in particular finding certain maximal paths and dynamically extending the active configuration of edges.
|
The matching task only yields discretized curves through the approximate free space.
Thus, the points in free space can be described by integers (represented by the type |
|
Default constructor.
Initializes an empty graph; for initialization, use |
|
This iterator allows to iterate over all interval borders of the edges assigned to the graph. The iteration is performed in ascending order. |
|
Constructs the free space graph of the polygonal curves
|
|
Determines whether there is a path from (0,0) to (m,n) (i.e., a flow) along the currently active edges through the graph. Each instance of the flow problem takes O(mn) time (using dynamic programming). |
|
Returns an element
The output refers to the last call of |
|
Updates reachability etc.
by changing all properties affected by (de-)activating the edge indicated by |