#include <cuboid3d.hh>
Public Types | |
typedef dpsites_fwd_piter< E > | bkd_qiter |
Backward site iterator associated type. | |
typedef Window< void > | category |
typedef psite | center_t |
Type of the window center. | |
typedef D | dpsite |
DPsite associated type. | |
typedef E | exact_t |
typedef dpsites_fwd_piter< E > | fwd_qiter |
Forward site iterator associated type. | |
typedef D::psite | psite |
Psite associated type. | |
typedef fwd_qiter | qiter |
Site iterator associated type. | |
typedef window< D > | regular |
Regular window associated type. | |
typedef D::site | site |
Site associated type. | |
Public Member Functions | |
cuboid3d (unsigned depth, unsigned height, unsigned width) | |
Constructor. | |
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 center of the window and a point of the window. | |
const D & | dp (unsigned i) const |
Give the i-th delta-point. | |
bool | has (const D &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. | |
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< D > & | 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< D > & | vect () const |
Give the vector of delta-points. | |
unsigned | volume () const |
Return the volume of the cuboid. | |
unsigned | depth () const |
Accessors. | |
unsigned | height () const |
Return the height of the cuboid. | |
unsigned | width () const |
Return the width of the cuboid. | |
Protected Member Functions | |
void | insert (const D &d) |
Protected Attributes | |
unsigned | depth_ |
The depth of the cuboid (expressed as a number of slices). | |
unsigned | height_ |
The height of the cuboid (expressed as a number of rows). | |
unsigned | width_ |
The width of the cuboid (expressed as a number of columns). | |
mln::window< D > | win_ |
A cuboid3d is a 3-D window with cuboid (also known as rectangular prism or rectangular parallelepiped) shape. It is centered and symmetric.
For instance:
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 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 o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
is defined with depth = 3, height = 5 and width = 7.
Reference: http://en.wikipedia.org/wiki/Cuboid
Definition at line 80 of file cuboid3d.hh.
typedef dpsites_fwd_piter<E> mln::internal::classical_window_base< D, E >::bkd_qiter [inherited] |
typedef Window<void> mln::Window< E >::category [inherited] |
typedef psite mln::internal::window_base< D, E >::center_t [inherited] |
typedef D mln::internal::window_base< D, E >::dpsite [inherited] |
DPsite associated type.
Reimplemented in mln::win::multiple< W, F >, and mln::win::multiple_size< n, W, F >.
Definition at line 53 of file window_base.hh.
typedef E mln::Object< E >::exact_t [inherited] |
typedef dpsites_fwd_piter<E> mln::internal::classical_window_base< D, E >::fwd_qiter [inherited] |
typedef D ::psite mln::internal::window_base< D, E >::psite [inherited] |
Psite associated type.
Reimplemented in mln::win::multiple< W, F >, and mln::win::multiple_size< n, W, F >.
Definition at line 56 of file window_base.hh.
typedef fwd_qiter mln::internal::classical_window_base< D, E >::qiter [inherited] |
typedef window<D> mln::internal::classical_window_base< D, E >::regular [inherited] |
typedef D ::site mln::internal::window_base< D, E >::site [inherited] |
Site associated type.
Reimplemented in mln::win::multiple< W, F >, and mln::win::multiple_size< n, W, F >.
Definition at line 59 of file window_base.hh.
mln::win::cuboid3d::cuboid3d | ( | unsigned | depth, | |
unsigned | height, | |||
unsigned | width | |||
) | [inline] |
Constructor.
[in] | depth | The depth of the cuboid3d. |
[in] | height | The height of the cuboid3d. |
[in] | width | The width of the cuboid3d. |
Definition at line 125 of file cuboid3d.hh.
References mln::internal::classical_window_base< D, E >::insert().
unsigned mln::internal::classical_window_base< D, E >::delta | ( | ) | const [inline, inherited] |
Give the maximum coordinate gap between the window center and a window point.
Definition at line 177 of file classical_window_base.hh.
References mln::exact().
unsigned mln::win::cuboid3d::delta_ | ( | ) | const [inline] |
Give the maximum coordinate gap between the center of the window and a point of the window.
Reimplemented from mln::internal::classical_window_base< D, E >.
Definition at line 174 of file cuboid3d.hh.
unsigned mln::win::cuboid3d::depth | ( | ) | const [inline] |
Accessors.
Return the depth of the cuboid.
Definition at line 146 of file cuboid3d.hh.
References depth_.
const D & mln::internal::classical_window_base< D, E >::dp | ( | unsigned | i | ) | const [inline, inherited] |
Give the i-th
delta-point.
Definition at line 196 of file classical_window_base.hh.
References mln::internal::classical_window_base< D, E >::size(), and mln::internal::classical_window_base< D, E >::win_.
bool mln::internal::classical_window_base< D, E >::has | ( | const D & | dp | ) | const [inline, inherited] |
Test if the delta-point dp
belongs to the window.
Definition at line 221 of file classical_window_base.hh.
References mln::internal::classical_window_base< D, E >::win_.
unsigned mln::win::cuboid3d::height | ( | ) | const [inline] |
void mln::internal::classical_window_base< D, E >::insert | ( | const D & | d | ) | [inline, protected, inherited] |
Definition at line 229 of file classical_window_base.hh.
References mln::internal::classical_window_base< D, E >::win_.
Referenced by mln::win::backdiag2d::backdiag2d(), mln::win::ball< G, C >::ball(), mln::win::cube3d::cube3d(), cuboid3d(), mln::win::diag2d::diag2d(), mln::win::line< M, i, C >::line(), mln::win::octagon2d::octagon2d(), and mln::win::rectangle2d::rectangle2d().
bool mln::internal::classical_window_base< D, E >::is_centered | ( | ) | const [inline, inherited] |
Test if the window is centered; return true.
Definition at line 150 of file classical_window_base.hh.
References mln::internal::classical_window_base< D, E >::win_.
bool mln::internal::classical_window_base< D, E >::is_empty | ( | ) | const [inline, inherited] |
Test if the window is empty (null size; no delta-point).
Definition at line 142 of file classical_window_base.hh.
References mln::internal::classical_window_base< D, E >::win_.
bool mln::internal::window_base< D, E >::is_neighbable_ | ( | ) | const [inline, inherited] |
Test if this window can be a neighborhood.
Definition at line 95 of file window_base.hh.
References mln::exact().
Referenced by mln::convert::over_load::from_to_().
bool mln::internal::classical_window_base< D, E >::is_symmetric | ( | ) | const [inline, inherited] |
Test if the window is symmetric; return true.
Definition at line 159 of file classical_window_base.hh.
References mln::internal::classical_window_base< D, E >::win_.
bool mln::internal::window_base< D, E >::is_valid | ( | ) | const [inline, inherited] |
return true by default.
Definition at line 87 of file window_base.hh.
Referenced by mln::morpho::approx::impl::dilation_by_distance_thresholding_2d(), mln::morpho::approx::impl::dilation_by_distance_thresholding_3d(), mln::morpho::approx::impl::erosion_by_distance_thresholding_2d(), and mln::morpho::approx::impl::erosion_by_distance_thresholding_3d().
void mln::internal::classical_window_base< D, E >::print | ( | std::ostream & | ostr | ) | const [inline, inherited] |
Print into ostr
the window definition.
Definition at line 237 of file classical_window_base.hh.
References mln::exact().
void mln::win::cuboid3d::print_ | ( | std::ostream & | ostr | ) | const [inline] |
Reimplemented from mln::internal::classical_window_base< D, E >.
Definition at line 194 of file cuboid3d.hh.
unsigned mln::internal::classical_window_base< D, E >::size | ( | ) | const [inline, inherited] |
Give the number of delta-points.
Reimplemented in mln::win::line< M, i, C >.
Definition at line 134 of file classical_window_base.hh.
References mln::internal::classical_window_base< D, E >::win_.
Referenced by mln::internal::classical_window_base< D, E >::dp().
const std::vector< D > & mln::internal::classical_window_base< D, E >::std_vector | ( | ) | const [inline, inherited] |
Give the vector of delta-points.
Reimplemented in mln::win::rectangle2d.
Definition at line 205 of file classical_window_base.hh.
References mln::internal::classical_window_base< D, E >::win_.
Referenced by mln::internal::classical_window_base< D, E >::vect().
void mln::internal::classical_window_base< D, E >::sym | ( | ) | [inline, inherited] |
Apply a central symmetry to the target window; a no-op here.
Definition at line 168 of file classical_window_base.hh.
References mln::internal::classical_window_base< D, E >::win_.
const std::vector< D > & mln::internal::classical_window_base< D, E >::vect | ( | ) | const [inline, inherited] |
Give the vector of delta-points.
Definition at line 213 of file classical_window_base.hh.
References mln::internal::classical_window_base< D, E >::std_vector().
unsigned mln::win::cuboid3d::volume | ( | ) | const [inline] |
unsigned mln::win::cuboid3d::width | ( | ) | const [inline] |
unsigned mln::win::cuboid3d::depth_ [protected] |
unsigned mln::win::cuboid3d::height_ [protected] |
unsigned mln::win::cuboid3d::width_ [protected] |
mln::window<D> mln::internal::classical_window_base< D, E >::win_ [protected, inherited] |
Definition at line 118 of file classical_window_base.hh.
Referenced by mln::internal::classical_window_base< D, E >::delta_(), mln::internal::classical_window_base< D, E >::dp(), mln::internal::classical_window_base< D, E >::has(), mln::internal::classical_window_base< D, E >::insert(), mln::internal::classical_window_base< D, E >::is_centered(), mln::internal::classical_window_base< D, E >::is_empty(), mln::internal::classical_window_base< D, E >::is_symmetric(), mln::internal::classical_window_base< D, E >::print_(), mln::internal::classical_window_base< D, E >::size(), mln::win::rectangle2d::std_vector(), mln::internal::classical_window_base< D, E >::std_vector(), and mln::internal::classical_window_base< D, E >::sym().