Octagon window defined on the 2D square grid. More...
#include <octagon2d.hh>

Public Types | |
| typedef dpsites_fwd_piter < octagon2d > | bkd_qiter |
| Backward site iterator associated type. | |
| typedef Window< void > | category |
| typedef dpoint2d | dpsite |
| DPsite associated type. | |
| typedef octagon2d | exact_t |
| typedef dpsites_fwd_piter < octagon2d > | fwd_qiter |
| Forward site iterator associated type. | |
| typedef dpoint2d::psite | psite |
| Psite associated type. | |
| typedef fwd_qiter | qiter |
| Site iterator associated type. | |
| typedef window< dpoint2d > | regular |
| Regular window associated type. | |
| typedef dpoint2d::site | site |
| Site associated type. | |
Public Member Functions | |
| unsigned | area () const |
| Give the area. | |
| 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 dpoint2d & | dp (unsigned i) const |
Give the i-th delta-point. | |
| bool | has (const dpoint2d &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 octagon length, that is, its width. | |
| octagon2d (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 number of delta-points. | |
| const std::vector< dpoint2d > & | 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< dpoint2d > & | vect () const |
| Give the vector of delta-points. | |
Protected Member Functions | |
| void | insert (const dpoint2d &d) |
Protected Attributes | |
| unsigned | length_ |
| mln::window< dpoint2d > | win_ |
Octagon window defined on the 2D square grid.
An octagon2d is centered and symmetric.
The length L of the octagon is such as L = 6 * l + 1 where l >= 0.
For instance:
* o o o
* o o o o o
* o o o o o o o
* o o o x o o o
* o o o o o o o
* o o o o o
* o o o
* is defined with L = 7 (l = 1).
typedef dpsites_fwd_piter<octagon2d > mln::internal::classical_window_base< dpoint2d , octagon2d >::bkd_qiter [inherited] |
Backward site iterator associated type.
typedef Window<void> mln::Window< octagon2d >::category [inherited] |
Reimplemented from mln::Object< octagon2d >.
typedef dpoint2d mln::internal::window_base< dpoint2d , octagon2d >::dpsite [inherited] |
DPsite associated type.
typedef octagon2d mln::Object< octagon2d >::exact_t [inherited] |
typedef dpsites_fwd_piter<octagon2d > mln::internal::classical_window_base< dpoint2d , octagon2d >::fwd_qiter [inherited] |
Forward site iterator associated type.
Psite associated type.
typedef fwd_qiter mln::internal::classical_window_base< dpoint2d , octagon2d >::qiter [inherited] |
Site iterator associated type.
typedef window<dpoint2d > mln::internal::classical_window_base< dpoint2d , octagon2d >::regular [inherited] |
Regular window associated type.
Site associated type.
| mln::win::octagon2d::octagon2d | ( | unsigned | length | ) | [inline] |
Constructor.
| [in] | length | Length, of the octagon. |
length is such as length = 6*x + 1 where x >= 0. References mln::internal::classical_window_base< dpoint2d, octagon2d >::insert().
| unsigned mln::win::octagon2d::area | ( | ) | const [inline] |
Give the area.
References length_.
| unsigned mln::internal::classical_window_base< dpoint2d , octagon2d >::delta | ( | ) | const [inherited] |
Give the maximum coordinate gap between the window center and a window point.
| unsigned mln::win::octagon2d::delta_ | ( | ) | const [inline] |
Give the maximum coordinate gap between the window center and a window point.
Reimplemented from mln::internal::classical_window_base< dpoint2d, octagon2d >.
References length_.
| const dpoint2d & mln::internal::classical_window_base< dpoint2d , octagon2d >::dp | ( | unsigned | i | ) | const [inherited] |
Give the i-th delta-point.
| bool mln::internal::classical_window_base< dpoint2d , octagon2d >::has | ( | const dpoint2d & | dp | ) | const [inherited] |
Test if the delta-point dp belongs to the window.
| void mln::internal::classical_window_base< dpoint2d , octagon2d >::insert | ( | const dpoint2d & | d | ) | [protected, inherited] |
Referenced by octagon2d().
| bool mln::internal::classical_window_base< dpoint2d , octagon2d >::is_centered | ( | ) | const [inherited] |
Test if the window is centered; return true.
| bool mln::internal::classical_window_base< dpoint2d , octagon2d >::is_empty | ( | ) | const [inherited] |
Test if the window is empty (null size; no delta-point).
| bool mln::internal::window_base< dpoint2d , octagon2d >::is_neighbable_ | ( | ) | const [inherited] |
Test if this window can be a neighborhood.
| bool mln::internal::classical_window_base< dpoint2d , octagon2d >::is_symmetric | ( | ) | const [inherited] |
Test if the window is symmetric; return true.
| bool mln::internal::window_base< dpoint2d , octagon2d >::is_valid | ( | ) | const [inherited] |
return true by default.
| unsigned mln::win::octagon2d::length | ( | ) | const [inline] |
Give the octagon length, that is, its width.
References length_.
| void mln::internal::classical_window_base< dpoint2d , octagon2d >::print | ( | std::ostream & | ostr | ) | const [inherited] |
Print into ostr the window definition.
| void mln::win::octagon2d::print_ | ( | std::ostream & | ostr | ) | const [inline] |
Reimplemented from mln::internal::classical_window_base< dpoint2d, octagon2d >.
References length_.
| unsigned mln::internal::classical_window_base< dpoint2d , octagon2d >::size | ( | ) | const [inherited] |
Give the number of delta-points.
| const std::vector<dpoint2d >& mln::internal::classical_window_base< dpoint2d , octagon2d >::std_vector | ( | ) | const [inherited] |
Give the vector of delta-points.
| void mln::internal::classical_window_base< dpoint2d , octagon2d >::sym | ( | ) | [inherited] |
Apply a central symmetry to the target window; a no-op here.
| const std::vector<dpoint2d >& mln::internal::classical_window_base< dpoint2d , octagon2d >::vect | ( | ) | const [inherited] |
Give the vector of delta-points.
unsigned mln::win::octagon2d::length_ [protected] |
mln::window<dpoint2d > mln::internal::classical_window_base< dpoint2d , octagon2d >::win_ [protected, inherited] |
1.7.1