Multi-set of sites. More...
#include <p_array.hh>
Public Types | |
typedef p_indexed_bkd_piter < self_ > | bkd_piter |
Backward Site_Iterator associated type. | |
typedef Site_Set< void > | category |
typedef P | element |
Element associated type. | |
typedef p_array< P > | exact_t |
typedef p_indexed_fwd_piter < self_ > | fwd_piter |
Forward Site_Iterator associated type. | |
typedef P | i_element |
Insertion element associated type. | |
typedef fwd_piter | piter |
Site_Iterator associated type. | |
typedef p_indexed_psite< self_ > | psite |
Psite associated type. | |
typedef subject< P >::ret | site |
Site associated type. | |
typedef std::vector< P >::size_type | size_type |
Public Member Functions | |
p_array< P > & | append (const P &p) |
Append a point p . | |
p_array< P > & | append (const p_array< P > &other) |
Append an array other of points. | |
void | change (const psite &p, const P &new_p) |
Change site p into new_p . | |
void | clear () |
Clear this set. | |
bool | has (const util::index &i) const |
Test is index i belongs to this site set. | |
bool | has (const psite &p) const |
Test is p belongs to this site set. | |
std::vector< P > & | hook_std_vector_ () |
Hook to the std::vector. | |
void | insert (const P &p) |
Insert a point p (equivalent as 'append'). | |
bool | is_empty () const |
Test if the site set is empty. | |
bool | is_valid () const |
Test this set validity so returns always true. | |
std::size_t | memory_size () const |
Return the size of this site set in memory. | |
unsigned | nsites () const |
Give the number of sites. | |
const P & | operator[] (const util::index &i) const |
Return the i-th element. | |
P & | operator[] (unsigned i) |
Return the i-th site (mutable). | |
const P & | operator[] (unsigned i) const |
Return the i-th site (constant). | |
p_array () | |
Constructor. | |
p_array (const std::vector< P > &vect) | |
Constructor from a vector vect . | |
void | reserve (size_type n) |
Reserve n cells. | |
void | resize (size_t size) |
Update the size of this array. | |
const std::vector< P > & | std_vector () const |
Return the corresponding std::vector of points. | |
Protected Attributes | |
std::vector< P > | vect_ |
Private Types | |
typedef p_array< P > | self_ |
Multi-set of sites.
Site set class based on std::vector.
Definition at line 84 of file p_array.hh.
typedef p_indexed_bkd_piter<self_> mln::p_array< P >::bkd_piter |
Backward Site_Iterator associated type.
Definition at line 100 of file p_array.hh.
typedef Site_Set<void> mln::Site_Set< p_array< P > >::category [inherited] |
Reimplemented from mln::Object< p_array< P > >.
Definition at line 67 of file mln/core/concept/site_set.hh.
typedef P mln::p_array< P >::element |
Element associated type.
Definition at line 91 of file p_array.hh.
typedef p_array< P > mln::Object< p_array< P > >::exact_t [inherited] |
typedef p_indexed_fwd_piter<self_> mln::p_array< P >::fwd_piter |
Forward Site_Iterator associated type.
Definition at line 97 of file p_array.hh.
typedef P mln::p_array< P >::i_element |
Insertion element associated type.
Definition at line 141 of file p_array.hh.
typedef fwd_piter mln::p_array< P >::piter |
Site_Iterator associated type.
Definition at line 103 of file p_array.hh.
typedef p_indexed_psite<self_> mln::p_array< P >::psite |
Psite associated type.
Definition at line 94 of file p_array.hh.
typedef p_array<P> mln::p_array< P >::self_ [private] |
Definition at line 86 of file p_array.hh.
typedef subject<P>::ret mln::internal::site_set_base_< P, p_array< P > >::site [inherited] |
Site associated type.
Definition at line 55 of file site_set_base.hh.
typedef std::vector<P>::size_type mln::p_array< P >::size_type |
Definition at line 88 of file p_array.hh.
mln::p_array< P >::p_array | ( | ) | [inline] |
Constructor.
Definition at line 340 of file p_array.hh.
mln::p_array< P >::p_array | ( | const std::vector< P > & | vect | ) | [inline] |
Constructor from a vector vect
.
Definition at line 346 of file p_array.hh.
p_array< P > & mln::p_array< P >::append | ( | const P & | p | ) | [inline] |
Append a point p
.
Definition at line 408 of file p_array.hh.
References mln::p_array< P >::vect_.
Referenced by mln::p_line2d::compute_(), mln::morpho::tree::impl::dual_hqueue(), mln::morpho::tree::impl::generic::dual_union_find(), mln::io::cloud::internal::load_data(), mln::registration::remove_too_far_sites(), and mln::convert::to_p_array().
p_array< P > & mln::p_array< P >::append | ( | const p_array< P > & | other | ) | [inline] |
Append an array other
of points.
Definition at line 425 of file p_array.hh.
References mln::p_array< P >::std_vector(), and mln::p_array< P >::vect_.
void mln::p_array< P >::change | ( | const psite & | p, | |
const P & | new_p | |||
) | [inline] |
Change site p
into new_p
.
Definition at line 472 of file p_array.hh.
References mln::p_array< P >::has(), mln::p_indexed_psite< S >::index(), and mln::p_array< P >::vect_.
void mln::p_array< P >::clear | ( | ) | [inline] |
Clear this set.
Definition at line 436 of file p_array.hh.
References mln::internal::site_set_base_< P, p_array< P > >::is_empty(), and mln::p_array< P >::vect_.
bool mln::p_array< P >::has | ( | const psite & | p | ) | const [inline] |
Test is p
belongs to this site set.
Definition at line 362 of file p_array.hh.
References mln::p_indexed_psite< S >::index(), and mln::p_indexed_psite< S >::target_().
Referenced by mln::p_array< P >::change(), and mln::p_array< P >::operator[]().
bool mln::p_array< P >::has | ( | const util::index & | i | ) | const [inline] |
Test is index i
belongs to this site set.
Definition at line 375 of file p_array.hh.
References mln::p_array< P >::nsites().
std::vector< P > & mln::p_array< P >::hook_std_vector_ | ( | ) | [inline] |
Hook to the std::vector.
Definition at line 497 of file p_array.hh.
References mln::p_array< P >::vect_.
Referenced by mln::data::impl::sort_psites_decreasing_(), and mln::data::impl::sort_psites_increasing_().
void mln::p_array< P >::insert | ( | const P & | p | ) | [inline] |
Insert a point p
(equivalent as 'append').
Definition at line 417 of file p_array.hh.
References mln::p_array< P >::vect_.
Referenced by mln::morpho::tree::data< I, S >::compute_children_().
bool mln::internal::site_set_base_< P, p_array< P > >::is_empty | ( | ) | const [inherited] |
Test if the site set is empty.
This final method dispatches to is_empty_ whose default implementation relies on the 'nsites' method.
Referenced by mln::p_array< P >::clear(), mln::registration::icp(), and mln::registration::internal::registration_tests().
bool mln::p_array< P >::is_valid | ( | ) | const [inline] |
Test this set validity so returns always true.
Definition at line 383 of file p_array.hh.
Referenced by mln::registration::internal::registration_tests().
std::size_t mln::p_array< P >::memory_size | ( | ) | const [inline] |
Return the size of this site set in memory.
Definition at line 481 of file p_array.hh.
References mln::p_array< P >::nsites().
Referenced by mln::p_line2d::memory_size().
unsigned mln::p_array< P >::nsites | ( | ) | const [inline] |
Give the number of sites.
Definition at line 400 of file p_array.hh.
References mln::p_array< P >::vect_.
Referenced by mln::morpho::watershed::topo_wst< I, N >::BuildComponentTree(), mln::p_line2d::compute_(), mln::morpho::tree::data< I, S >::compute_children_(), mln::registration::compute_distance_criteria(), mln::registration::compute_standard_deviation(), mln::registration::get_rot(), mln::registration::get_rtransf(), mln::p_array< P >::has(), mln::p_array< P >::memory_size(), mln::p_line2d::nsites(), mln::p_array< P >::operator[](), mln::registration::internal::rms(), mln::morpho::reconstruction::by_erosion::impl::generic::union_find(), and mln::morpho::reconstruction::by_dilation::impl::generic::union_find().
P & mln::p_array< P >::operator[] | ( | unsigned | i | ) | [inline] |
Return the i-th
site (mutable).
Definition at line 463 of file p_array.hh.
References mln::p_array< P >::nsites(), and mln::p_array< P >::vect_.
const P & mln::p_array< P >::operator[] | ( | unsigned | i | ) | const [inline] |
Return the i-th
site (constant).
Definition at line 454 of file p_array.hh.
References mln::p_array< P >::nsites(), and mln::p_array< P >::vect_.
const P & mln::p_array< P >::operator[] | ( | const util::index & | i | ) | const [inline] |
Return the i-th element.
Definition at line 391 of file p_array.hh.
References mln::p_array< P >::has(), and mln::p_array< P >::vect_.
void mln::p_array< P >::reserve | ( | size_type | n | ) | [inline] |
Reserve n
cells.
Definition at line 354 of file p_array.hh.
References mln::p_array< P >::vect_.
Referenced by mln::morpho::tree::impl::dual_hqueue(), mln::morpho::tree::impl::generic::dual_union_find(), and mln::convert::to_p_array().
void mln::p_array< P >::resize | ( | size_t | size | ) | [inline] |
Update the size of this array.
Definition at line 445 of file p_array.hh.
References mln::p_array< P >::vect_.
const std::vector< P > & mln::p_array< P >::std_vector | ( | ) | const [inline] |
Return the corresponding std::vector of points.
Definition at line 489 of file p_array.hh.
References mln::p_array< P >::vect_.
Referenced by mln::p_array< P >::append(), and mln::p_line2d::std_vector().
std::vector<P> mln::p_array< P >::vect_ [protected] |
Definition at line 175 of file p_array.hh.
Referenced by mln::p_array< P >::append(), mln::p_array< P >::change(), mln::p_array< P >::clear(), mln::p_array< P >::hook_std_vector_(), mln::p_array< P >::insert(), mln::p_array< P >::nsites(), mln::p_array< P >::operator[](), mln::p_array< P >::reserve(), mln::p_array< P >::resize(), and mln::p_array< P >::std_vector().