|
Krita Source Code Documentation
|
#include <patched_boykov_kolmogorov_max_flow.hpp>
Public Member Functions | |
| bk_max_flow (Graph &g, EdgeCapacityMap cap, ResidualCapacityEdgeMap res, ReverseEdgeMap rev, PredecessorMap pre, ColorMap color, DistanceMap dist, IndexMap idx, vertex_descriptor src, vertex_descriptor sink) | |
| tEdgeVal | max_flow () |
Protected Member Functions | |
| void | add_active_node (vertex_descriptor v) |
| void | adopt () |
| void | augment (edge_descriptor e) |
| void | augment_direct_paths () |
| tEdgeVal | find_bottleneck (edge_descriptor e) |
| void | finish_node (vertex_descriptor v) |
| edge_descriptor | get_edge_to_parent (vertex_descriptor v) const |
| vertex_descriptor | get_next_active_node () |
| tColorValue | get_tree (vertex_descriptor v) const |
| std::pair< edge_descriptor, bool > | grow () |
| bool | has_parent (vertex_descriptor v) const |
| bool | has_sink_connect (vertex_descriptor v) |
| bool | has_source_connect (vertex_descriptor v) |
| bool | is_closer_to_terminal (vertex_descriptor p, vertex_descriptor q) |
| void | remove_active_node (vertex_descriptor v) |
| void | set_edge_to_parent (vertex_descriptor v, edge_descriptor f_edge_to_parent) |
| void | set_no_parent (vertex_descriptor v) |
| void | set_tree (vertex_descriptor v, tColorValue t) |
Protected Attributes | |
| tQueue | m_active_nodes |
| EdgeCapacityMap | m_cap_map |
| tQueue | m_child_orphans |
| DistanceMap | m_dist_map |
| tEdgeVal | m_flow |
| Graph & | m_g |
| iterator_property_map< std::vector< bool >::iterator, IndexMap > | m_has_parent_map |
| std::vector< bool > | m_has_parent_vec |
| iterator_property_map< std::vector< bool >::iterator, IndexMap > | m_in_active_list_map |
| std::vector< bool > | m_in_active_list_vec |
| IndexMap | m_index_map |
| out_edge_iterator | m_last_grow_edge_end |
| out_edge_iterator | m_last_grow_edge_it |
| vertex_descriptor | m_last_grow_vertex |
| std::list< vertex_descriptor > | m_orphans |
| PredecessorMap | m_pre_map |
| ResidualCapacityEdgeMap | m_res_cap_map |
| ReverseEdgeMap | m_rev_edge_map |
| vertex_descriptor | m_sink |
| vertex_descriptor | m_source |
| long | m_time |
| iterator_property_map< std::vector< long >::iterator, IndexMap > | m_time_map |
| std::vector< long > | m_time_vec |
| ColorMap | m_tree_map |
Private Types | |
| typedef tGraphTraits::edge_descriptor | edge_descriptor |
| typedef tGraphTraits::edge_iterator | edge_iterator |
| typedef tGraphTraits::out_edge_iterator | out_edge_iterator |
| typedef color_traits< tColorValue > | tColorTraits |
| typedef property_traits< ColorMap >::value_type | tColorValue |
| typedef property_traits< DistanceMap >::value_type | tDistanceVal |
| typedef property_traits< EdgeCapacityMap >::value_type | tEdgeVal |
| typedef graph_traits< Graph > | tGraphTraits |
| typedef boost::queue< vertex_descriptor > | tQueue |
| typedef tGraphTraits::vertex_descriptor | vertex_descriptor |
| typedef tGraphTraits::vertex_iterator | vertex_iterator |
Definition at line 51 of file patched_boykov_kolmogorov_max_flow.hpp.
|
private |
Definition at line 56 of file patched_boykov_kolmogorov_max_flow.hpp.
|
private |
Definition at line 57 of file patched_boykov_kolmogorov_max_flow.hpp.
|
private |
Definition at line 58 of file patched_boykov_kolmogorov_max_flow.hpp.
|
private |
Definition at line 61 of file patched_boykov_kolmogorov_max_flow.hpp.
|
private |
Definition at line 60 of file patched_boykov_kolmogorov_max_flow.hpp.
|
private |
Definition at line 62 of file patched_boykov_kolmogorov_max_flow.hpp.
|
private |
Definition at line 52 of file patched_boykov_kolmogorov_max_flow.hpp.
|
private |
Definition at line 53 of file patched_boykov_kolmogorov_max_flow.hpp.
|
private |
Definition at line 59 of file patched_boykov_kolmogorov_max_flow.hpp.
|
private |
Definition at line 55 of file patched_boykov_kolmogorov_max_flow.hpp.
|
private |
Definition at line 54 of file patched_boykov_kolmogorov_max_flow.hpp.
|
inline |
Definition at line 65 of file patched_boykov_kolmogorov_max_flow.hpp.
References get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_cap_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_g, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_res_cap_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_rev_edge_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_sink, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_source, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_time_map, put(), and boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::set_tree().
|
inlineprotected |
adds v as an active vertex, but only if its not in the list already
Definition at line 509 of file patched_boykov_kolmogorov_max_flow.hpp.
References get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::get_tree(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_active_nodes, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_in_active_list_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_last_grow_vertex, put(), and v.
|
inlineprotected |
rebuild search trees empty the queue of orphans, and find new parents for them or just drop them from the search trees
Definition at line 390 of file patched_boykov_kolmogorov_max_flow.hpp.
References boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::add_active_node(), get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::get_edge_to_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::get_tree(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::has_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::has_sink_connect(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::has_source_connect(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_child_orphans, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_dist_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_g, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_orphans, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_res_cap_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_rev_edge_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_sink, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_source, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_time, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_time_map, out_edges(), put(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::set_edge_to_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::set_no_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::set_tree(), source(), and target().
|
inlineprotected |
augments path from s->t and updates residual graph source(e, m_g) is the end of the path found in the source-tree target(e, m_g) is the beginning of the path found in the sink-tree this phase generates orphans on saturated edges, if the attached verts are from different search-trees orphans are ordered in distance to sink/source. first the farthest from the source are front_inserted into the orphans list, and after that the sink-tree-orphans are front_inserted. when going to adoption stage the orphans are popped_front, and so we process the nearest verts to the terminals first
Definition at line 310 of file patched_boykov_kolmogorov_max_flow.hpp.
References boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::find_bottleneck(), get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::get_edge_to_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::get_tree(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_flow, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_g, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_orphans, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_res_cap_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_rev_edge_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_sink, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_source, put(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::set_no_parent(), source(), and target().
|
inlineprotected |
Definition at line 136 of file patched_boykov_kolmogorov_max_flow.hpp.
References boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::add_active_node(), get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_dist_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_flow, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_g, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_res_cap_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_rev_edge_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_sink, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_source, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_time_map, out_edges(), put(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::set_edge_to_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::set_tree(), source(), and target().
|
inlineprotected |
returns the bottleneck of a s->t path (end_of_path is last vertex in source-tree, begin_of_path is first vertex in sink-tree)
Definition at line 365 of file patched_boykov_kolmogorov_max_flow.hpp.
References get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::get_edge_to_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_g, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_res_cap_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_sink, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_source, source(), and target().
|
inlineprotected |
finish_node removes a node from the front of the active queue (its called in grow phase, if no more paths can be found using this node)
Definition at line 525 of file patched_boykov_kolmogorov_max_flow.hpp.
References boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_active_nodes, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_in_active_list_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_last_grow_vertex, put(), and v.
|
inlineprotected |
returns edge to parent vertex of v;
Definition at line 561 of file patched_boykov_kolmogorov_max_flow.hpp.
References get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_pre_map, and v.
|
inlineprotected |
return next active vertex if there is one, otherwise a null_vertex
Definition at line 489 of file patched_boykov_kolmogorov_max_flow.hpp.
References boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::get_tree(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::has_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_active_nodes, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_in_active_list_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_sink, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_source, put(), and v.
|
inlineprotected |
returns the search tree of v; tColorValue::black() for source tree, white() for sink tree, gray() for no tree
Definition at line 546 of file patched_boykov_kolmogorov_max_flow.hpp.
References get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_tree_map, and v.
|
inlineprotected |
Returns a pair of an edge and a boolean. if the bool is true, the edge is a connection of a found path from s->t , read "the link" and source(returnVal, m_g) is the end of the path found in the source-tree target(returnVal, m_g) is the beginning of the path found in the sink-tree
Definition at line 213 of file patched_boykov_kolmogorov_max_flow.hpp.
References boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::add_active_node(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::finish_node(), get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::get_next_active_node(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::get_tree(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::has_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::is_closer_to_terminal(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_dist_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_g, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_last_grow_edge_end, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_last_grow_edge_it, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_last_grow_vertex, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_orphans, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_res_cap_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_rev_edge_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_sink, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_source, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_time_map, out_edges(), put(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::set_edge_to_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::set_tree(), source(), and target().
|
inlineprotected |
returns true if the edge stored in m_pre_map[v] is a valid entry
Definition at line 568 of file patched_boykov_kolmogorov_max_flow.hpp.
References get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_has_parent_map, and v.
|
inlineprotected |
checks if vertex v has a connect to the sink-vertex (m_sink)
| v | the vertex which is checked |
Definition at line 594 of file patched_boykov_kolmogorov_max_flow.hpp.
References get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::get_edge_to_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::has_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_dist_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_g, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_sink, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_time, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_time_map, put(), target(), and v.
|
inlineprotected |
checks if vertex v has a connect to the source-vertex (m_source)
| v | the vertex which is checked |
Definition at line 631 of file patched_boykov_kolmogorov_max_flow.hpp.
References get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::get_edge_to_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::has_parent(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_dist_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_g, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_source, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_time, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_time_map, put(), source(), and v.
|
inlineprotected |
returns true, if p is closer to a terminal than q
Definition at line 666 of file patched_boykov_kolmogorov_max_flow.hpp.
References get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_dist_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_time_map, and p.
|
inline |
Definition at line 114 of file patched_boykov_kolmogorov_max_flow.hpp.
References boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::adopt(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::augment(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::augment_direct_paths(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::grow(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_flow, and boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_time.
|
inlineprotected |
removes a vertex from the queue of active nodes (actually this does nothing, but checks if this node has no parent edge, as this is the criteria for being no more active)
Definition at line 537 of file patched_boykov_kolmogorov_max_flow.hpp.
References boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::has_parent(), v, and void().
|
inlineprotected |
sets edge to parent vertex of v;
Definition at line 575 of file patched_boykov_kolmogorov_max_flow.hpp.
References get(), boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_has_parent_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_pre_map, boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_res_cap_map, put(), and v.
|
inlineprotected |
removes the edge to parent of v (this is done by invalidating the entry an additional map)
Definition at line 585 of file patched_boykov_kolmogorov_max_flow.hpp.
References boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_has_parent_map, put(), and v.
|
inlineprotected |
sets search tree of v; tColorValue::black() for source tree, white() for sink tree, gray() for no tree
Definition at line 554 of file patched_boykov_kolmogorov_max_flow.hpp.
References boost::detail::bk_max_flow< Graph, EdgeCapacityMap, ResidualCapacityEdgeMap, ReverseEdgeMap, PredecessorMap, ColorMap, DistanceMap, IndexMap >::m_tree_map, put(), and v.
|
protected |
Definition at line 686 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 677 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 691 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 682 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 698 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 675 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 694 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 693 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 688 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 687 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 676 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 702 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 701 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 700 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 690 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 680 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 678 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 679 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 684 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 683 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 699 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 697 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 696 of file patched_boykov_kolmogorov_max_flow.hpp.
|
protected |
Definition at line 681 of file patched_boykov_kolmogorov_max_flow.hpp.