$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mln::win::cuboid3d Struct Reference

#include <mln/win/cuboid3d.hh>

Public Member Functions

 cuboid3d (unsigned depth, unsigned height, unsigned width)
unsigned delta () const
unsigned delta_ () const
const dpoint3ddp (unsigned i) const
bool has (const dpoint3d &dp) const
bool is_centered () const
bool is_empty () const
bool is_symmetric () const
bool is_valid () const
void print (std::ostream &ostr) const
void print_ (std::ostream &ostr) const
unsigned size () const
const std::vector< dpoint3d > & std_vector () const
void sym ()
const std::vector< dpoint3d > & vect () const
unsigned volume () const
unsigned depth () const
unsigned height () const
unsigned width () const

Protected Member Functions

void insert (const dpoint3d &d)

Protected Attributes

unsigned depth_
unsigned height_
unsigned width_
mln::window< dpoint3dwin_

Public Types

typedef dpsites_fwd_piter
< cuboid3d
bkd_qiter
typedef Window< void > category
typedef psite center_t
typedef dpoint3d dpsite
typedef cuboid3d exact_t
typedef dpsites_fwd_piter
< cuboid3d
fwd_qiter
typedef dpoint3d::psite psite
typedef fwd_qiter qiter
typedef window< dpoint3dregular
typedef dpoint3d::site site

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.

Constructor & Destructor Documentation

mln::win::cuboid3d::cuboid3d ( unsigned  depth,
unsigned  height,
unsigned  width 
)

Constructor.

Parameters
[in]depthThe depth of the cuboid3d.
[in]heightThe height of the cuboid3d.
[in]widthThe width of the cuboid3d.
Precondition
Argument depth, height and width must be odd.

Member Function Documentation

Give the maximum coordinate gap between the window center and a window point.

unsigned mln::win::cuboid3d::delta_ ( ) const

Give the maximum coordinate gap between the center of the window and a point of the window.

Reimplemented from mln::internal::classical_window_base< dpoint3d, cuboid3d >.

unsigned mln::win::cuboid3d::depth ( ) const

Accessors.

Return the depth of the cuboid.

const dpoint3d & mln::internal::classical_window_base< dpoint3d , cuboid3d >::dp ( unsigned  i) const
inherited

Give the i-th delta-point.

bool mln::internal::classical_window_base< dpoint3d , cuboid3d >::has ( const dpoint3d dp) const
inherited

Test if the delta-point dp belongs to the window.

unsigned mln::win::cuboid3d::height ( ) const

Return the height of the cuboid.

void mln::internal::classical_window_base< dpoint3d , cuboid3d >::insert ( const dpoint3d d)
protectedinherited
bool mln::internal::classical_window_base< dpoint3d , cuboid3d >::is_centered ( ) const
inherited

Test if the window is centered; return true.

bool mln::internal::classical_window_base< dpoint3d , cuboid3d >::is_empty ( ) const
inherited

Test if the window is empty (null size; no delta-point).

bool mln::internal::classical_window_base< dpoint3d , cuboid3d >::is_symmetric ( ) const
inherited

Test if the window is symmetric; return true.

bool mln::internal::window_base< dpoint3d , cuboid3d >::is_valid ( ) const
inherited

return true by default.

void mln::internal::classical_window_base< dpoint3d , cuboid3d >::print ( std::ostream &  ostr) const
inherited

Print into ostr the window definition.

void mln::win::cuboid3d::print_ ( std::ostream &  ostr) const

Give the number of delta-points.

const std::vector<dpoint3d >& mln::internal::classical_window_base< dpoint3d , cuboid3d >::std_vector ( ) const
inherited

Give the vector of delta-points.

Apply a central symmetry to the target window; a no-op here.

const std::vector<dpoint3d >& mln::internal::classical_window_base< dpoint3d , cuboid3d >::vect ( ) const
inherited

Give the vector of delta-points.

unsigned mln::win::cuboid3d::volume ( ) const

Return the volume of the cuboid.

unsigned mln::win::cuboid3d::width ( ) const

Return the width of the cuboid.

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.

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.

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.

Definition at line 119 of file classical_window_base.hh.

Member Typedef Documentation

Backward site iterator associated type.

Definition at line 68 of file classical_window_base.hh.

typedef Window<void> mln::Window< cuboid3d >::category
inherited

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

Type of the window center.

Definition at line 64 of file window_base.hh.

DPsite associated type.

Definition at line 55 of file window_base.hh.

typedef cuboid3d mln::Object< cuboid3d >::exact_t
inherited

Definition at line 105 of file object.hh.

Forward site iterator associated type.

Definition at line 65 of file classical_window_base.hh.

Psite associated type.

Definition at line 58 of file window_base.hh.

Site iterator associated type.

Definition at line 71 of file classical_window_base.hh.

Regular window associated type.

Definition at line 61 of file classical_window_base.hh.

Site associated type.

Definition at line 61 of file window_base.hh.