oln::topo::tarjan::abstract::tarjan< Exact > Struct Template Reference

Top of tarjan hierarchy. More...

#include <tarjan.hh>

Inheritance diagram for oln::topo::tarjan::abstract::tarjan< Exact >:

Inheritance graph
[legend]
Collaboration diagram for oln::topo::tarjan::abstract::tarjan< Exact >:

Collaboration graph
[legend]
List of all members.

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_typeget_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.


Detailed Description

template<typename Exact>
struct oln::topo::tarjan::abstract::tarjan< Exact >

Top of tarjan hierarchy.

Parameters:
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.


Member Function Documentation

template<typename Exact>
template<class N>
image_out_type oln::topo::tarjan::abstract::tarjan< Exact >::get_compute const oln::abstract::neighborhood< N > &  Ng  )  [inline]
 

Run the algorithm.

Warning:
Implement get_compute_impl to be able to use this method.

Definition at line 79 of file tarjan.hh.

00080           {
00081             mlc_dispatch(get_compute)(Ng);
00082           }

template<typename Exact>
std::vector<point_type> oln::topo::tarjan::abstract::tarjan< Exact >::get_processing_order  )  [inline, protected]
 

Abstract method to get the processing order.

Warning:
Implement get_processing_order_impl to be able to use this method.

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           }

template<typename Exact>
bool oln::topo::tarjan::abstract::tarjan< Exact >::is_proc const point_type p  )  const [inline, protected]
 

tell if a point has already been processed.

Warning:
Implement is_proc_impl to be able to use this method.

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           };

template<typename Exact>
void oln::topo::tarjan::abstract::tarjan< Exact >::mark_set const point_type x  )  [inline, protected]
 

Mark a point as a new component.

Warning:
Implement mark_set_impl to be able to use this method.

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           }

template<typename Exact>
comp_type oln::topo::tarjan::abstract::tarjan< Exact >::ncomps  )  const [inline]
 

Give the number of component found.

Warning:
Implement ncomps_impl to be able to use this method.

Definition at line 90 of file tarjan.hh.

00091           {
00092             mlc_dispatch(ncomps)();
00093           }

template<typename Exact>
void oln::topo::tarjan::abstract::tarjan< Exact >::uni const point_type n,
const point_type p
[inline, protected]
 

Perform an union between two components.

Warning:
Implement uni_impl to be able to use this method.

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           }


The documentation for this struct was generated from the following file:
Generated on Thu Apr 15 20:17:13 2004 for Olena by doxygen 1.3.6-20040222