Generic window class. More...
#include <window.hh>

Public Types | |
| typedef dpsites_bkd_piter < window< D > > | bkd_qiter |
| Site_Iterator type to browse the points of a basic window w.r.t. the reverse ordering of delta-points. | |
| typedef Window< void > | category |
| typedef D | dpsite |
| DPsite associated type. | |
| typedef window< D > | exact_t |
| typedef dpsites_fwd_piter < window< D > > | fwd_qiter |
| Site_Iterator type to browse the points of a basic window w.r.t. the ordering of delta-points. | |
| typedef D::psite | psite |
| Psite associated type. | |
| typedef fwd_qiter | qiter |
| Site_Iterator type to browse the points of a basic window whatever the ordering of delta-points. | |
| typedef window< D > | regular |
| Regular window associated type. | |
| typedef D::site | site |
| Site associated type. | |
Public Member Functions | |
| void | clear () |
| Clear the window. | |
| unsigned | delta () const |
| Give the maximum coordinate gap between the window center and a window point. | |
| const D & | dp (unsigned i) const |
Give the i-th delta-point. | |
| const mln::util::set< D > & | dps_hook_ () const |
| Hook to the set of D. | |
| bool | has (const D &dp) const |
Test if dp is in this window definition. | |
| window< D > & | insert (const D &dp) |
Insert a delta-point dp. | |
| template<typename W > | |
| window< D > & | insert (const Window< W > &win) |
Insert another window win. | |
| bool | is_centered () const |
| Test if the window is centered. | |
| bool | is_empty () const |
| Test if the window is empty (null size; no delta-point). | |
| bool | is_neighbable_ () const |
| Test if this window can be a neighborhood. | |
| bool | is_symmetric () const |
| bool | is_valid () const |
| return true by default. | |
| void | print (std::ostream &ostr) const |
Print the window definition into ostr. | |
| unsigned | size () const |
| Give the window size, i.e., the number of delta-sites. | |
| const std::vector< D > & | std_vector () const |
| Give the std vector of delta-points. | |
| void | sym () |
| Apply a central symmetry to the target window. | |
| window () | |
| Constructor without argument. | |
| window< D > & | insert (const typename D::coord &dind) |
| window< D > & | insert (const typename D::coord &drow, const typename D::coord &dcol) |
| window< D > & | insert (const typename D::coord &dsli, const typename D::coord &drow, const typename D::coord &dcol) |
Private Member Functions | |
| unsigned | delta_ (int i) const |
| unsigned | delta_ (const Gdpoint< D > &dp) const |
Private Attributes | |
| util::set< D > | dps_ |
Related Functions | |
(Note that these are not member functions.) | |
| template<typename D > | |
| bool | operator== (const window< D > &lhs, const window< D > &rhs) |
Equality comparison between windows lhs and rhs. | |
Generic window class.
This type of window is just like a set of delta-points. The parameter is D, type of delta-point.
| typedef dpsites_bkd_piter< window<D> > mln::window< D >::bkd_qiter |
Site_Iterator type to browse the points of a basic window w.r.t. the reverse ordering of delta-points.
typedef Window<void> mln::Window< window< D > >::category [inherited] |
Reimplemented from mln::Object< window< D > >.
typedef D mln::internal::window_base< D, window< D > >::dpsite [inherited] |
DPsite associated type.
typedef window< D > mln::Object< window< D > >::exact_t [inherited] |
| typedef dpsites_fwd_piter< window<D> > mln::window< D >::fwd_qiter |
Site_Iterator type to browse the points of a basic window w.r.t. the ordering of delta-points.
typedef D ::psite mln::internal::window_base< D, window< D > >::psite [inherited] |
Psite associated type.
| typedef fwd_qiter mln::window< D >::qiter |
Site_Iterator type to browse the points of a basic window whatever the ordering of delta-points.
| typedef window<D> mln::window< D >::regular |
Regular window associated type.
typedef D ::site mln::internal::window_base< D, window< D > >::site [inherited] |
Site associated type.
| mln::window< D >::window | ( | ) | [inline] |
Constructor without argument.
The constructed window is empty.
| void mln::window< D >::clear | ( | ) | [inline] |
Clear the window.
References mln::util::set< T >::clear(), and mln::window< D >::dps_.
Referenced by mln::convert::over_load::from_to_().
| unsigned mln::window< D >::delta | ( | ) | const [inline] |
Give the maximum coordinate gap between the window center and a window point.
References mln::window< D >::delta_(), mln::window< D >::dp(), and mln::window< D >::size().
| unsigned mln::window< D >::delta_ | ( | int | i | ) | const [inline, private] |
Referenced by mln::window< D >::delta().
| unsigned mln::window< D >::delta_ | ( | const Gdpoint< D > & | dp | ) | const [inline, private] |
References mln::exact(), and mln::norm::linfty().
| const D & mln::window< D >::dp | ( | unsigned | i | ) | const [inline] |
Give the i-th delta-point.
References mln::window< D >::dps_, and mln::window< D >::size().
Referenced by mln::window< D >::delta(), and mln::window< D >::insert().
| const util::set< D > & mln::window< D >::dps_hook_ | ( | ) | const [inline] |
| bool mln::window< D >::has | ( | const D & | dp | ) | const [inline] |
Test if dp is in this window definition.
References mln::window< D >::dps_, and mln::util::set< T >::has().
| window< D > & mln::window< D >::insert | ( | const D & | dp | ) | [inline] |
Insert a delta-point dp.
References mln::window< D >::dps_, and mln::util::set< T >::insert().
Referenced by mln::c18(), mln::c26(), mln::c4_3d(), mln::c6(), mln::convert::over_load::from_to_(), mln::window< D >::insert(), mln::morpho::line_gradient(), mln::window< D >::sym(), mln::convert::to_upper_window(), mln::convert::to_window(), mln::win_c4p(), mln::win_c4p_3d(), mln::win_c8p(), and mln::win_c8p_3d().
| window< D > & mln::window< D >::insert | ( | const Window< W > & | win | ) | [inline] |
Insert another window win.
References mln::window< D >::dps_, mln::exact(), and mln::util::set< T >::insert().
| window< D > & mln::window< D >::insert | ( | const typename D::coord & | dind | ) | [inline] |
Insertion of a delta-point with different numbers of arguments (coordinates) w.r.t. the dimension.
References mln::window< D >::dp(), and mln::window< D >::insert().
| window< D > & mln::window< D >::insert | ( | const typename D::coord & | drow, | |
| const typename D::coord & | dcol | |||
| ) | [inline] |
References mln::window< D >::dp(), and mln::window< D >::insert().
| window< D > & mln::window< D >::insert | ( | const typename D::coord & | dsli, | |
| const typename D::coord & | drow, | |||
| const typename D::coord & | dcol | |||
| ) | [inline] |
References mln::window< D >::dp(), and mln::window< D >::insert().
| bool mln::window< D >::is_centered | ( | ) | const [inline] |
Test if the window is centered.
References mln::window< D >::dps_, mln::util::set< T >::has(), and mln::literal::zero.
| bool mln::window< D >::is_empty | ( | ) | const [inline] |
Test if the window is empty (null size; no delta-point).
References mln::window< D >::dps_, and mln::util::set< T >::is_empty().
| bool mln::internal::window_base< D, window< D > >::is_neighbable_ | ( | ) | const [inherited] |
Test if this window can be a neighborhood.
| bool mln::window< D >::is_symmetric | ( | ) | const [inline] |
Test if the window is symmetric.
References mln::window< D >::sym().
| bool mln::internal::window_base< D, window< D > >::is_valid | ( | ) | const [inherited] |
return true by default.
| void mln::window< D >::print | ( | std::ostream & | ostr | ) | const [inline] |
Print the window definition into ostr.
References mln::window< D >::dps_.
| unsigned mln::window< D >::size | ( | ) | const [inline] |
Give the window size, i.e., the number of delta-sites.
References mln::window< D >::dps_, and mln::util::set< T >::nelements().
Referenced by mln::window< D >::delta(), mln::window< D >::dp(), mln::window< D >::sym(), mln::win_c4p(), mln::win_c4p_3d(), mln::win_c8p(), and mln::win_c8p_3d().
| const std::vector< D > & mln::window< D >::std_vector | ( | ) | const [inline] |
Give the std vector of delta-points.
References mln::window< D >::dps_, and mln::util::set< T >::std_vector().
Referenced by mln::win::rectangle2d::std_vector().
| void mln::window< D >::sym | ( | ) | [inline] |
Apply a central symmetry to the target window.
References mln::window< D >::insert(), and mln::window< D >::size().
Referenced by mln::window< D >::is_symmetric().
| bool operator== | ( | const window< D > & | lhs, | |
| const window< D > & | rhs | |||
| ) | [related] |
Equality comparison between windows lhs and rhs.
util::set<D> mln::window< D >::dps_ [private] |
Referenced by mln::window< D >::clear(), mln::window< D >::dp(), mln::window< D >::dps_hook_(), mln::window< D >::has(), mln::window< D >::insert(), mln::window< D >::is_centered(), mln::window< D >::is_empty(), mln::window< D >::print(), mln::window< D >::size(), and mln::window< D >::std_vector().
1.7.1