#include <tarjan.hh>
Inheritance diagram for oln::topo::tarjan::abstract::tarjan< Exact >:


Public Types | |
|
typedef oln::topo::tarjan::tarjan_traits< Exact >::input_type | input_type |
| Type of input image. | |
|
typedef oln::topo::tarjan::tarjan_traits< Exact >::output_type | image_out_type |
| Type of output image. | |
|
typedef mlc::exact< image_out_type >::ret::value_type | comp_type |
| Type of components. | |
|
typedef mlc::exact< input_type >::ret::point_type | point_type |
| Point type of image to process. | |
Public Member Functions | |
| template<class N> image_out_type | get_compute (const oln::abstract::neighborhood< N > &Ng) |
| Run the algorithm. | |
| comp_type | ncomps () const |
| Give the number of component found. | |
Protected Member Functions | |
| std::vector< point_type > | get_processing_order () |
| Abstract method to get the processing order. | |
| void | mark_set (const point_type &x) |
| Mark a point as a new component. | |
| void | uni (const point_type &n, const point_type &p) |
| Perform an union between two components. | |
| bool | is_proc (const point_type &p) const |
| tell if a point has already been processed. | |
| tarjan () | |
| Make the class abstract. | |
| I | Type of image to process. |
| D | Type of data of the wanted image. |
| Exact | Exact type of the class. |
Definition at line 63 of file tarjan.hh.
|
||||||||||||||
|
Run the algorithm.
Definition at line 79 of file tarjan.hh.
00080 {
00081 mlc_dispatch(get_compute)(Ng);
00082 }
|
|
|||||||||
|
Abstract method to get the processing order.
Definition at line 103 of file tarjan.hh. Referenced by oln::topo::tarjan::abstract::tarjan_with_attr< mlc::exact_vt< flat_zone< T, DestType, A, Exact >, Exact >::ret >::get_compute_impl().
00104 {
00105 mlc_dispatch(get_processing_order)();
00106 }
|
|
||||||||||
|
tell if a point has already been processed.
Definition at line 139 of file tarjan.hh. Referenced by oln::topo::tarjan::abstract::tarjan_with_attr< mlc::exact_vt< flat_zone< T, DestType, A, Exact >, Exact >::ret >::get_compute_impl().
00140 {
00141 mlc_dispatch(is_proc)(p);
00142 };
|
|
||||||||||
|
Mark a point as a new component.
Definition at line 115 of file tarjan.hh. Referenced by oln::topo::tarjan::abstract::tarjan_with_attr< mlc::exact_vt< flat_zone< T, DestType, A, Exact >, Exact >::ret >::get_compute_impl().
00116 {
00117 mlc_dispatch(mark_set)(x);
00118 }
|
|
|||||||||
|
Give the number of component found.
Definition at line 90 of file tarjan.hh.
00091 {
00092 mlc_dispatch(ncomps)();
00093 }
|
|
||||||||||||||||
|
Perform an union between two components.
Definition at line 127 of file tarjan.hh. Referenced by oln::topo::tarjan::abstract::tarjan_with_attr< mlc::exact_vt< flat_zone< T, DestType, A, Exact >, Exact >::ret >::get_compute_impl().
00128 {
00129 mlc_dispatch(uni)(n, p);
00130 }
|
1.3.6-20040222