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

#include <mln/core/alias/box1d.hh>

Public Member Functions

 box1d ()
 box1d (const point1d &pmin, const point1d &pmax)
 box1d (typename mln::point1d::coord ncols)
const box< mln::point1d > & bbox () const
void crop_wrt (const box< mln::point1d > &b)
void enlarge (unsigned b)
void enlarge (unsigned dim, unsigned b)
bool has (const mln::point1d &p) const
bool is_empty () const
bool is_valid () const
unsigned len (unsigned i) const
std::size_t memory_size () const
void merge (const box< mln::point1d > &b)
unsigned nsites () const
mln::point1d pcenter () const
mln::point1d pmax () const
mln::point1dpmax ()
mln::point1d pmin () const
mln::point1dpmin ()
box< mln::point1dto_larger (unsigned b) const

Protected Attributes

mln::point1d pmax_
mln::point1d pmin_

Public Types

enum  
typedef box_bkd_piter_
< mln::point1d
bkd_piter
typedef Site_Set< void > category
typedef mln::point1d element
typedef box< mln::point1dexact_t
typedef box_fwd_piter_
< mln::point1d
fwd_piter
typedef fwd_piter piter
typedef mln::point1d psite
typedef const box< mln::point1d > & q_box
typedef mln::point1d site

Detailed Description

A box defined on the 1D square grid with integer coordinates.

This class is a site set of mln::point1d. It represents a rectangle of mln::point1d which is usually used as domain for a mln::image1d.

mln::box1d is a typedef of box<mln::point1d>.

Iteration over the mln::point1d of a mln::box1d relies on p-iterators and it can be performed using the following code:

box1d b(3);
mln_piter(box1d) p(b);
for_all(p)
std::cout << p << std::endl;

Common sites can be retrieved through pmin(), pmax() and pcenter().

    pmin    pcenter    pmax
-----X--------X---------X-------->
See Also
mln::make::box1d.

Definition at line 6 of file box1d.dox.

Constructor & Destructor Documentation

mln::box1d::box1d ( )

Constructor without argument.

mln::box1d::box1d ( const point1d pmin,
const point1d pmax 
)

Constructor of a box going from pmin to pmax.

See Also
mln::make::box1d.
mln::box1d::box1d ( typename mln::point1d::coord  ncols)

Construct a box1d with nrows rows and ncols columns.

The pmin() site is set to mln::point1d(0,0).

See Also
mln::make::box1d.

Member Function Documentation

const box< mln::point1d > & mln::Box< box< mln::point1d > >::bbox ( ) const
inherited

Give the bounding box of this site set.

Return the bounding box of this site set, so that is itself. This method is declared by the mln::Site_Set concept.

Warning
This method is final for all box classes.
void mln::box< mln::point1d >::crop_wrt ( const box< mln::point1d > &  b)
inherited

Crop this bbox in order to fit in the reference box b.

void mln::box< mln::point1d >::enlarge ( unsigned  b)
inherited

Enlarge the box with a border b.

void mln::box< mln::point1d >::enlarge ( unsigned  dim,
unsigned  b 
)
inherited

Enlarge the box with a border b for dimension dim.

bool mln::box< mln::point1d >::has ( const mln::point1d p) const
inherited

Test if p belongs to the box.

Parameters
[in]pA point site.
bool mln::Box< box< mln::point1d > >::is_empty ( ) const
inherited

Test if this box is empty.

bool mln::box< mln::point1d >::is_valid ( ) const
inherited

Test that the box owns valid data, i.e., is initialized and with pmin being 'less-than' pmax.

unsigned mln::Box< box< mln::point1d > >::len ( unsigned  i) const
inherited

Give the length of the i-th side of the box.

Precondition
i < site::dim
Warning
This method is final for all box classes.
std::size_t mln::box< mln::point1d >::memory_size ( ) const
inherited

Return the size of this site set in memory.

void mln::box< mln::point1d >::merge ( const box< mln::point1d > &  b)
inherited

Merge inplace with another box.

unsigned mln::Box< box< mln::point1d > >::nsites ( ) const
inherited

Give the number of sites of this box.

Return the number of sites of this box. This method is declared by the mln::Site_Set concept.

Warning
This method is final for all box classes.
mln::point1d mln::box< mln::point1d >::pcenter ( ) const
inherited

Return the approximated central site of this box.

mln::point1d mln::box< mln::point1d >::pmax ( ) const
inherited

Maximum point.

mln::point1d & mln::box< mln::point1d >::pmax ( )
inherited

Reference to the maximum point.

mln::point1d mln::box< mln::point1d >::pmin ( ) const
inherited

Minimum point.

mln::point1d & mln::box< mln::point1d >::pmin ( )
inherited

Reference to the minimum point.

box<mln::point1d > mln::box< mln::point1d >::to_larger ( unsigned  b) const
inherited

Give a larger box.

Member Data Documentation

mln::point1d mln::box< mln::point1d >::pmax_
protectedinherited

Definition at line 165 of file core/site_set/box.hh.

mln::point1d mln::box< mln::point1d >::pmin_
protectedinherited

Definition at line 165 of file core/site_set/box.hh.

Member Typedef Documentation

Backward Site_Iterator associated type.

Definition at line 105 of file core/site_set/box.hh.

typedef Site_Set<void> mln::Site_Set< box< mln::point1d > >::category
inherited

Definition at line 74 of file core/concept/site_set.hh.

typedef mln::point1d mln::box< mln::point1d >::element
inherited

Element associated type.

Definition at line 90 of file core/site_set/box.hh.

typedef box< mln::point1d > mln::Object< box< mln::point1d > >::exact_t
inherited

Definition at line 105 of file object.hh.

Forward Site_Iterator associated type.

Definition at line 99 of file core/site_set/box.hh.

typedef fwd_piter mln::box< mln::point1d >::piter
inherited

Site_Iterator associated type.

Definition at line 102 of file core/site_set/box.hh.

typedef mln::point1d mln::box< mln::point1d >::psite
inherited

Psite associated type.

Definition at line 93 of file core/site_set/box.hh.

typedef const box< mln::point1d > & mln::Box< box< mln::point1d > >::q_box
inherited

Definition at line 64 of file core/concept/box.hh.

typedef mln::point1d mln::box< mln::point1d >::site
inherited

Site associated type.

Definition at line 96 of file core/site_set/box.hh.

Member Enumeration Documentation

anonymous enum
inherited

Dimension.

Definition at line 87 of file core/site_set/box.hh.