Public Types | Public Member Functions | Private Types | Private Attributes

mln::graph_elt_window_if< G, S, I > Class Template Reference

Custom window on graph class. More...

#include <graph_elt_window_if.hh>

Inheritance diagram for mln::graph_elt_window_if< G, S, I >:
Inheritance graph

List of all members.

Public Types

typedef Window< void > category
typedef graph_elt_window_if< G,
S, I > 
exact_t
typedef I mask_t
 The type of the image used as mask.

typedef S target
 @}
typedef target::psite psite
 The type of psite corresponding to the window.
typedef graph_window_if_piter
< target, self_, nbh_fwd_iter_
fwd_qiter
 Site_Iterator type to browse the psites of the window w.r.t.
typedef graph_window_if_piter
< target, self_, nbh_bkd_iter_
bkd_qiter
 Site_Iterator type to browse the psites of the window w.r.t.
typedef fwd_qiter qiter
 The default qiter type.

typedef S::fun_t::result site
 Associated types.
typedef void dpsite

Public Member Functions

void change_mask (const Image< I > &mask)
 Change mask image.
 graph_elt_window_if ()
 Constructor.
 graph_elt_window_if (const Image< I > &mask)
bool is_valid () const
 Return true by default.
const I & mask () const
 Return the graph image used as mask.

bool is_empty () const
 Interface of the concept Window.
bool is_centered () const
 Is the window centered?
bool is_symmetric () const
 Is the window symmetric?
unsigned delta () const
 Return the maximum coordinate gap between the window center and a window point.
self_sym ()
 Apply a central symmetry to the target window.
bool is_neighbable_ () const
 Is the window neighbable?

Private Types

typedef super_::nbh_bkd_iter_ nbh_bkd_iter_
typedef super_::nbh_fwd_iter_ nbh_fwd_iter_
typedef graph_elt_window_if< G,
S, I > 
self_
typedef
internal::graph_window_if_iter_dispatch
< G, S > 
super_

Private Attributes

mask_

Detailed Description

template<typename G, typename S, typename I>
class mln::graph_elt_window_if< G, S, I >

Custom window on graph class.

It is defined thanks to a mask.

G is the graph type. S is the image site set. I is the graph image the type used as mask.


Member Typedef Documentation

template<typename G , typename S , typename I >
typedef graph_window_if_piter<target,self_,nbh_bkd_iter_> mln::graph_elt_window_if< G, S, I >::bkd_qiter

Site_Iterator type to browse the psites of the window w.r.t.

the reverse ordering of vertices.

typedef Window<void> mln::Window< graph_elt_window_if< G, S, I > >::category [inherited]
typedef void mln::graph_window_base< S::fun_t::result , graph_elt_window_if< G, S, I > >::dpsite [inherited]
typedef graph_elt_window_if< G, S, I > mln::Object< graph_elt_window_if< G, S, I > >::exact_t [inherited]
template<typename G , typename S , typename I >
typedef graph_window_if_piter<target,self_,nbh_fwd_iter_> mln::graph_elt_window_if< G, S, I >::fwd_qiter

Site_Iterator type to browse the psites of the window w.r.t.

the ordering of vertices.

template<typename G , typename S , typename I >
typedef I mln::graph_elt_window_if< G, S, I >::mask_t

The type of the image used as mask.

template<typename G , typename S , typename I >
typedef super_::nbh_bkd_iter_ mln::graph_elt_window_if< G, S, I >::nbh_bkd_iter_ [private]
template<typename G , typename S , typename I >
typedef super_::nbh_fwd_iter_ mln::graph_elt_window_if< G, S, I >::nbh_fwd_iter_ [private]
template<typename G , typename S , typename I >
typedef target ::psite mln::graph_elt_window_if< G, S, I >::psite

The type of psite corresponding to the window.

template<typename G , typename S , typename I >
typedef fwd_qiter mln::graph_elt_window_if< G, S, I >::qiter

The default qiter type.

template<typename G , typename S , typename I >
typedef graph_elt_window_if<G,S,I> mln::graph_elt_window_if< G, S, I >::self_ [private]
typedef S::fun_t::result mln::graph_window_base< S::fun_t::result , graph_elt_window_if< G, S, I > >::site [inherited]

Associated types.

The type of site corresponding to the window.

template<typename G , typename S , typename I >
typedef internal::graph_window_if_iter_dispatch<G,S> mln::graph_elt_window_if< G, S, I >::super_ [private]
template<typename G , typename S , typename I >
typedef S mln::graph_elt_window_if< G, S, I >::target

@}

Associated types. The image domain on which this window iterates on.


Constructor & Destructor Documentation

template<typename G , typename S , typename I >
mln::graph_elt_window_if< G, S, I >::graph_elt_window_if (  )  [inline]

Constructor.

@{ Default. Construct an invalid window.

template<typename G , typename S , typename I >
mln::graph_elt_window_if< G, S, I >::graph_elt_window_if ( const Image< I > &  mask  )  [inline]
Parameters:
[in] mask A graph image of bool.
See also:
vertex_image, edge_image.

Member Function Documentation

template<typename G , typename S , typename I >
void mln::graph_elt_window_if< G, S, I >::change_mask ( const Image< I > &  mask  )  [inline]
unsigned mln::graph_window_base< S::fun_t::result , graph_elt_window_if< G, S, I > >::delta (  )  const [inherited]

Return the maximum coordinate gap between the window center and a window point.

bool mln::graph_window_base< S::fun_t::result , graph_elt_window_if< G, S, I > >::is_centered (  )  const [inherited]

Is the window centered?

bool mln::graph_window_base< S::fun_t::result , graph_elt_window_if< G, S, I > >::is_empty (  )  const [inherited]

Interface of the concept Window.

Is the window is empty?

bool mln::graph_window_base< S::fun_t::result , graph_elt_window_if< G, S, I > >::is_neighbable_ (  )  const [inherited]

Is the window neighbable?

bool mln::graph_window_base< S::fun_t::result , graph_elt_window_if< G, S, I > >::is_symmetric (  )  const [inherited]

Is the window symmetric?

template<typename G , typename S , typename I >
bool mln::graph_elt_window_if< G, S, I >::is_valid (  )  const [inline]
template<typename G , typename S , typename I >
const I & mln::graph_elt_window_if< G, S, I >::mask (  )  const [inline]

Return the graph image used as mask.

self_& mln::graph_window_base< S::fun_t::result , graph_elt_window_if< G, S, I > >::sym (  )  [inherited]

Apply a central symmetry to the target window.


Member Data Documentation

template<typename G , typename S , typename I >
I mln::graph_elt_window_if< G, S, I >::mask_ [private]