mln::win::cuboid3d Struct Reference
[3D windows]

Cuboid defined on the 3-D square grid. More...

#include <cuboid3d.hh>

Inheritance diagram for mln::win::cuboid3d:

Inheritance graph

List of all members.

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_


Detailed Description

Cuboid defined on the 3-D square grid.

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.


Member Typedef Documentation

template<typename D, typename E>
typedef dpsites_fwd_piter<E> mln::internal::classical_window_base< D, E >::bkd_qiter [inherited]

Backward site iterator associated type.

Definition at line 67 of file classical_window_base.hh.

template<typename E>
typedef Window<void> mln::Window< E >::category [inherited]

Reimplemented from mln::Object< E >.

Definition at line 89 of file concept/window.hh.

template<typename D, typename E>
typedef psite mln::internal::window_base< D, E >::center_t [inherited]

Type of the window center.

Definition at line 62 of file window_base.hh.

template<typename D, typename E>
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.

template<typename E>
typedef E mln::Object< E >::exact_t [inherited]

Definition at line 172 of file object.hh.

template<typename D, typename E>
typedef dpsites_fwd_piter<E> mln::internal::classical_window_base< D, E >::fwd_qiter [inherited]

Forward site iterator associated type.

Definition at line 64 of file classical_window_base.hh.

template<typename D, typename E>
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.

template<typename D, typename E>
typedef fwd_qiter mln::internal::classical_window_base< D, E >::qiter [inherited]

Site iterator associated type.

Definition at line 70 of file classical_window_base.hh.

template<typename D, typename E>
typedef window<D> mln::internal::classical_window_base< D, E >::regular [inherited]

Regular window associated type.

Definition at line 60 of file classical_window_base.hh.

template<typename D, typename E>
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.


Constructor & Destructor Documentation

mln::win::cuboid3d::cuboid3d ( unsigned  depth,
unsigned  height,
unsigned  width 
) [inline]

Constructor.

Parameters:
[in] depth The depth of the cuboid3d.
[in] height The height of the cuboid3d.
[in] width The width of the cuboid3d.
Precondition:
Argument depth, height and width must be odd.

Definition at line 125 of file cuboid3d.hh.

References mln::internal::classical_window_base< D, E >::insert().


Member Function Documentation

template<typename D, typename E>
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.

References depth_, height_, and width_.

unsigned mln::win::cuboid3d::depth (  )  const [inline]

Accessors.

Return the depth of the cuboid.

Definition at line 146 of file cuboid3d.hh.

References depth_.

template<typename D, typename E>
const D & mln::internal::classical_window_base< D, E >::dp ( unsigned  i  )  const [inline, inherited]

template<typename D, typename E>
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]

Return the height of the cuboid.

Definition at line 153 of file cuboid3d.hh.

References height_.

template<typename D, typename E>
void mln::internal::classical_window_base< D, E >::insert ( const D &  d  )  [inline, protected, inherited]

template<typename D, typename E>
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_.

template<typename D, typename E>
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_.

template<typename D, typename E>
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_().

template<typename D, typename E>
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_.

template<typename D, typename E>
bool mln::internal::window_base< D, E >::is_valid (  )  const [inline, inherited]

template<typename D, typename E>
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.

References depth_, height_, and width_.

template<typename D, typename E>
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().

template<typename D, typename E>
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().

template<typename D, typename E>
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_.

template<typename D, typename E>
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]

Return the volume of the cuboid.

Definition at line 167 of file cuboid3d.hh.

References depth_, height_, and width_.

unsigned mln::win::cuboid3d::width (  )  const [inline]

Return the width of the cuboid.

Definition at line 160 of file cuboid3d.hh.

References width_.


Member Data Documentation

unsigned mln::win::cuboid3d::depth_ [protected]

The depth of the cuboid (expressed as a number of slices).

Definition at line 113 of file cuboid3d.hh.

Referenced by delta_(), depth(), print_(), and volume().

unsigned mln::win::cuboid3d::height_ [protected]

The height of the cuboid (expressed as a number of rows).

Definition at line 115 of file cuboid3d.hh.

Referenced by delta_(), height(), print_(), and volume().

unsigned mln::win::cuboid3d::width_ [protected]

The width of the cuboid (expressed as a number of columns).

Definition at line 117 of file cuboid3d.hh.

Referenced by delta_(), print_(), volume(), and width().

template<typename D, typename E>
mln::window<D> mln::internal::classical_window_base< D, E >::win_ [protected, inherited]


Generated on Sun Apr 25 02:07:53 2010 for Milena (Olena) by  doxygen 1.5.6