#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 E & | bbox () const |
Give the bounding box of this site set. | |
box (const site &pmin, const site &pmax) | |
Constructor of a box going from pmin to pmax . | |
box () | |
Constructor without argument. | |
P | center () const |
Return the approximated central site of this box. | |
void | crop_wrt (const box< P > &b) |
Crop this bbox in order to fit in the reference box b . | |
void | enlarge (unsigned dim, unsigned b) |
Enlarge the box with a border b for dimension dim . | |
void | enlarge (unsigned b) |
Enlarge the box with a border b . | |
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. | |
unsigned | nsites () const |
Give the number of sites of this box. | |
P & | pmax () |
Reference to the maximum point. | |
P | pmax () const |
Maximum point. | |
P & | pmin () |
Reference to the minimum point. | |
P | pmin () const |
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 Sl, typename Sr> | |
p_set< typename Sl::site > | diff (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Set theoretic difference of lhs and rhs . | |
template<typename Sl, typename Sr> | |
p_set< typename Sl::site > | inter (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Intersection between a couple of point sets. | |
template<typename Sl, typename Sr> | |
bool | operator< (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Strict inclusion test between site sets lhs and rhs . | |
template<typename Bl, typename Br> | |
bool | operator< (const Box< Bl > &lhs, const Box< Br > &rhs) |
Strict inclusion test between boxes lhs and rhs . | |
template<typename S> | |
std::ostream & | operator<< (std::ostream &ostr, const Site_Set< S > &set) |
Print a site set set into the output stream ostr . | |
template<typename P> | |
std::ostream & | operator<< (std::ostream &ostr, const box< P > &b) |
Print a generic box b into the output stream ostr . | |
template<typename Sl, typename Sr> | |
bool | operator<= (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Inclusion test between site sets lhs and rhs . | |
template<typename Bl, typename Br> | |
bool | operator<= (const Box< Bl > &lhs, const Box< Br > &rhs) |
Inclusion test between boxes lhs and rhs . | |
template<typename Sl, typename Sr> | |
bool | operator== (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Equality test between site sets lhs and rhs . | |
template<typename Sl, typename Sr> | |
p_set< typename Sl::site > | sym_diff (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Set theoretic symmetrical difference of lhs and rhs . | |
template<typename Sl, typename Sr> | |
p_set< typename Sl::site > | uni (const Site_Set< Sl > &lhs, const Site_Set< Sr > &rhs) |
Union of a couple of point sets. | |
template<typename S> | |
p_set< typename S::site > | unique (const Site_Set< S > &s) |
Give the unique set of s . |
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.
Constructors with different numbers of arguments (sizes) w.r.t. the dimension.
References mln::literal::origin.
const E & mln::Box< E >::bbox | ( | ) | const [inline, inherited] |
P mln::box< P >::center | ( | ) | const [inline] |
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 | dim, | |
unsigned | b | |||
) | [inline] |
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().
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< E >::is_empty | ( | ) | const [inline, inherited] |
Test if this box is empty.
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::box< P >::center(), mln::transform::distance_and_closest_point_geodesic(), mln::box< P >::enlarge(), mln::box< P >::has(), mln::box< P >::pmax(), mln::box< P >::pmin(), and mln::box< P >::to_larger().
unsigned mln::Box< E >::len | ( | unsigned | i | ) | const [inline, inherited] |
std::size_t mln::box< P >::memory_size | ( | ) | const [inline] |
Return the size of this site set in memory.
unsigned mln::Box< E >::nsites | ( | ) | const [inline, 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.
Referenced by mln::morpho::line_gradient().
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(), and mln::io::fld::load().
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(), and mln::io::fld::load().
p_set< typename Sl::site > diff | ( | const Site_Set< Sl > & | lhs, | |
const Site_Set< Sr > & | rhs | |||
) | [related, inherited] |
Set theoretic difference of lhs
and rhs
.
p_set< typename Sl::site > inter | ( | const Site_Set< Sl > & | lhs, | |
const Site_Set< Sr > & | rhs | |||
) | [related, inherited] |
Intersection between a couple of point sets.
std::ostream & operator<< | ( | std::ostream & | ostr, | |
const Site_Set< S > & | set | |||
) | [related, inherited] |
std::ostream & operator<< | ( | std::ostream & | ostr, | |
const box< P > & | b | |||
) | [related] |
p_set< typename Sl::site > sym_diff | ( | const Site_Set< Sl > & | lhs, | |
const Site_Set< Sr > & | rhs | |||
) | [related, inherited] |
Set theoretic symmetrical difference of lhs
and rhs
.
p_set< typename Sl::site > uni | ( | const Site_Set< Sl > & | lhs, | |
const Site_Set< Sr > & | rhs | |||
) | [related, inherited] |
Union of a couple of point sets.
p_set< typename S::site > unique | ( | const Site_Set< S > & | s | ) | [related, inherited] |
Give the unique set of s
.