Generic box class: site set containing points of a regular grid. More...
#include <box.hh>
Public Types | |
enum | |
Dimension. More... | |
typedef box_bkd_piter_< P > | bkd_piter |
Backward Site_Iterator associated type. | |
typedef P | element |
Element associated type. | |
typedef box_fwd_piter_< P > | fwd_piter |
Forward Site_Iterator associated type. | |
typedef fwd_piter | piter |
Site_Iterator associated type. | |
typedef P | psite |
Psite associated type. | |
typedef P | site |
Site associated type. | |
Public Member Functions | |
const box< P > & | bbox () const |
Give the bounding box of this site set. | |
box () | |
Constructor without argument. | |
box (const site &pmin, const site &pmax) | |
Constructor of a box going from pmin to pmax . | |
void | crop_wrt (const box< P > &b) |
Crop this bbox in order to fit in the reference box b . | |
void | enlarge (unsigned b) |
Enlarge the box with a border b . | |
void | enlarge (unsigned dim, unsigned b) |
Enlarge the box with a border b for dimension dim . | |
bool | has (const P &p) const |
Test if p belongs to the box. | |
bool | is_empty () const |
Test if this box is empty. | |
bool | is_valid () const |
Test that the box owns valid data, i.e., is initialized and with pmin being 'less-than' pmax. | |
unsigned | len (unsigned i) const |
Give the length of the i-th side of the box. | |
std::size_t | memory_size () const |
Return the size of this site set in memory. | |
void | merge (const box< P > &b) |
Merge inplace with another box. | |
unsigned | nsites () const |
Give the number of sites of this box. | |
P | pcenter () const |
Return the approximated central site of this box. | |
P & | pmax () |
Reference to the maximum point. | |
P | pmax () const |
Maximum point. | |
P | pmin () const |
Minimum point. | |
P & | pmin () |
Reference to the minimum point. | |
box< P > | to_larger (unsigned b) const |
Give a larger box. | |
box (typename P::coord ninds) | |
Related Functions | |
(Note that these are not member functions.) | |
template<typename P > | |
std::ostream & | operator<< (std::ostream &ostr, const box< P > &b) |
Print a generic box b into the output stream ostr . |
Generic box class: site set containing points of a regular grid.
Parameter P
is the corresponding type of point.
Backward Site_Iterator associated type.
Forward Site_Iterator associated type.
Site_Iterator associated type.
anonymous enum |
Dimension.
Constructor of a box going from pmin
to pmax
.
References mln::box< P >::is_valid().
Constructors with different numbers of arguments (sizes) w.r.t. the dimension.
References mln::literal::origin.
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.
Crop this bbox in order to fit in the reference box b
.
References mln::box< P >::pmax(), and mln::box< P >::pmin().
Referenced by mln::make_debug_graph_image().
void mln::box< P >::enlarge | ( | unsigned | b | ) | [inline] |
Enlarge the box with a border b
.
References mln::box< P >::is_valid().
Referenced by mln::registration::icp().
void mln::box< P >::enlarge | ( | unsigned | dim, | |
unsigned | b | |||
) | [inline] |
Enlarge the box with a border b
for dimension dim
.
References mln::box< P >::is_valid().
bool mln::box< P >::has | ( | const P & | p | ) | const [inline] |
Test if p
belongs to the box.
[in] | p | A point site. |
References mln::box< P >::is_valid().
Referenced by mln::morpho::line_gradient().
bool mln::box< P >::is_valid | ( | ) | const [inline] |
Test that the box owns valid data, i.e., is initialized and with pmin being 'less-than' pmax.
References mln::util::ord_weak().
Referenced by mln::box< P >::box(), mln::transform::distance_and_closest_point_geodesic(), mln::box< P >::enlarge(), mln::box< P >::has(), mln::box< P >::merge(), mln::box< P >::pcenter(), mln::box< P >::pmax(), mln::box< P >::pmin(), and mln::box< P >::to_larger().
Give the length of the i-th
side of the box.
std::size_t mln::box< P >::memory_size | ( | ) | const [inline] |
Return the size of this site set in memory.
Merge inplace with another box.
References mln::box< P >::is_valid(), mln::box< P >::pmax(), and mln::box< P >::pmin().
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.
P mln::box< P >::pcenter | ( | ) | const [inline] |
Return the approximated central site of this box.
References mln::box< P >::is_valid().
P mln::box< P >::pmax | ( | ) | const [inline] |
Maximum point.
References mln::box< P >::is_valid().
Referenced by mln::box< P >::crop_wrt(), mln::make::image3d(), mln::larger_than(), mln::io::fld::load(), and mln::box< P >::merge().
P & mln::box< P >::pmax | ( | ) | [inline] |
Reference to the maximum point.
P & mln::box< P >::pmin | ( | ) | [inline] |
Reference to the minimum point.
P mln::box< P >::pmin | ( | ) | const [inline] |
Minimum point.
References mln::box< P >::is_valid().
Referenced by mln::box< P >::crop_wrt(), mln::make::image3d(), mln::larger_than(), mln::io::fld::load(), and mln::box< P >::merge().
Give a larger box.
References mln::box< P >::is_valid().
std::ostream & operator<< | ( | std::ostream & | ostr, | |
const box< P > & | b | |||
) | [related] |
Print a generic box b
into the output stream ostr
.
[in,out] | ostr | An output stream. |
[in] | b | A generic box. |
ostr
.