Generic line window defined on a given grid in the given dimension. More...
#include <line.hh>
Public Types | |
enum | { dir = i } |
Direction. More... | |
typedef dpsites_fwd_piter < line< M, i, C > > | bkd_qiter |
Backward site iterator associated type. | |
typedef Window< void > | category |
typedef dpoint< M, C > | dpsite |
DPsite associated type. | |
typedef line< M, i, C > | exact_t |
typedef dpsites_fwd_piter < line< M, i, C > > | fwd_qiter |
Forward site iterator associated type. | |
typedef dpoint< M, C >::psite | psite |
Psite associated type. | |
typedef fwd_qiter | qiter |
Site iterator associated type. | |
typedef window< dpoint< M, C > > | regular |
Regular window associated type. | |
typedef dpoint< M, C >::site | site |
Site associated type. | |
Public Member Functions | |
unsigned | delta () const |
Give the maximum coordinate gap between the window center and a window point. | |
unsigned | delta_ () const |
Give the maximum coordinate gap between the window center and a window point. | |
const dpoint< M, C > & | dp (unsigned i) const |
Give the i-th delta-point. | |
bool | has (const dpoint< M, C > &dp) const |
Test if the delta-point dp belongs to the window. | |
bool | is_centered () const |
Test if the window is centered; return true. | |
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 |
Test if the window is symmetric; return true. | |
bool | is_valid () const |
return true by default. | |
unsigned | length () const |
Give the line length. | |
line (unsigned length) | |
Constructor. | |
void | print (std::ostream &ostr) const |
Print into ostr the window definition. | |
void | print_ (std::ostream &ostr) const |
unsigned | size () const |
Give the line size, that is, its length. | |
const std::vector< dpoint< M, C > > & | std_vector () const |
Give the vector of delta-points. | |
void | sym () |
Apply a central symmetry to the target window; a no-op here. | |
const std::vector< dpoint< M, C > > & | vect () const |
Give the vector of delta-points. | |
Protected Member Functions | |
void | insert (const dpoint< M, C > &d) |
Protected Attributes | |
unsigned | length_ |
mln::window< dpoint< M, C > > | win_ |
Generic line window defined on a given grid in the given dimension.
An line is centered and symmetric; so its length is odd.
M is the given grid on which the line is defined, i is the given dimension of the line end C is the type of the coordinates.
typedef dpsites_fwd_piter<line< M, i, C > > mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::bkd_qiter [inherited] |
Backward site iterator associated type.
typedef Window<void> mln::Window< line< M, i, C > >::category [inherited] |
Reimplemented from mln::Object< line< M, i, C > >.
typedef dpoint< M, C > mln::internal::window_base< dpoint< M, C > , line< M, i, C > >::dpsite [inherited] |
DPsite associated type.
typedef line< M, i, C > mln::Object< line< M, i, C > >::exact_t [inherited] |
typedef dpsites_fwd_piter<line< M, i, C > > mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::fwd_qiter [inherited] |
Forward site iterator associated type.
typedef dpoint< M, C > ::psite mln::internal::window_base< dpoint< M, C > , line< M, i, C > >::psite [inherited] |
Psite associated type.
typedef fwd_qiter mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::qiter [inherited] |
Site iterator associated type.
typedef window<dpoint< M, C > > mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::regular [inherited] |
Regular window associated type.
typedef dpoint< M, C > ::site mln::internal::window_base< dpoint< M, C > , line< M, i, C > >::site [inherited] |
Site associated type.
mln::win::line< M, i, C >::line | ( | unsigned | length | ) | [inline] |
Constructor.
[in] | length | Length of the line. |
length
is odd. References mln::internal::classical_window_base< dpoint< M, C >, line< M, i, C > >::insert(), and mln::dpoint< G, C >::set_all().
unsigned mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::delta | ( | ) | const [inherited] |
Give the maximum coordinate gap between the window center and a window point.
unsigned mln::win::line< M, i, C >::delta_ | ( | ) | const [inline] |
Give the maximum coordinate gap between the window center and a window point.
Reimplemented from mln::internal::classical_window_base< dpoint< M, C >, line< M, i, C > >.
References mln::win::line< M, i, C >::length_.
const dpoint< M, C > & mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::dp | ( | unsigned | i | ) | const [inherited] |
Give the i-th
delta-point.
bool mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::has | ( | const dpoint< M, C > & | dp | ) | const [inherited] |
Test if the delta-point dp
belongs to the window.
void mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::insert | ( | const dpoint< M, C > & | d | ) | [protected, inherited] |
Referenced by mln::win::line< M, i, C >::line().
bool mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::is_centered | ( | ) | const [inherited] |
Test if the window is centered; return true.
bool mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::is_empty | ( | ) | const [inherited] |
Test if the window is empty (null size; no delta-point).
bool mln::internal::window_base< dpoint< M, C > , line< M, i, C > >::is_neighbable_ | ( | ) | const [inherited] |
Test if this window can be a neighborhood.
bool mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::is_symmetric | ( | ) | const [inherited] |
Test if the window is symmetric; return true.
bool mln::internal::window_base< dpoint< M, C > , line< M, i, C > >::is_valid | ( | ) | const [inherited] |
return true by default.
unsigned mln::win::line< M, i, C >::length | ( | ) | const [inline] |
Give the line length.
References mln::win::line< M, i, C >::length_.
Referenced by mln::data::impl::hmedian().
void mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::print | ( | std::ostream & | ostr | ) | const [inherited] |
Print into ostr
the window definition.
void mln::win::line< M, i, C >::print_ | ( | std::ostream & | ostr | ) | const [inline] |
Reimplemented from mln::internal::classical_window_base< dpoint< M, C >, line< M, i, C > >.
References mln::win::line< M, i, C >::length_.
unsigned mln::win::line< M, i, C >::size | ( | ) | const [inline] |
Give the line size, that is, its length.
Reimplemented from mln::internal::classical_window_base< dpoint< M, C >, line< M, i, C > >.
References mln::win::line< M, i, C >::length_.
const std::vector<dpoint< M, C > >& mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::std_vector | ( | ) | const [inherited] |
Give the vector of delta-points.
void mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::sym | ( | ) | [inherited] |
Apply a central symmetry to the target window; a no-op here.
const std::vector<dpoint< M, C > >& mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::vect | ( | ) | const [inherited] |
Give the vector of delta-points.
unsigned mln::win::line< M, i, C >::length_ [protected] |
mln::window<dpoint< M, C > > mln::internal::classical_window_base< dpoint< M, C > , line< M, i, C > >::win_ [protected, inherited] |