#include <complex_geometry.hh>
Public Types | |
typedef P | location |
typedef util::multi_site< P > | site |
Public Member Functions | |
unsigned | add_location (const P &p) |
Populate the set of locations. | |
complex_geometry () | |
Build a complex geometry object. | |
site | operator() (const mln::topo::face< D > &f) const |
Retrieve the site associated to f. | |
Private Attributes | |
mln::util::tracked_ptr < internal::complex_geometry_data < P > > | data_ |
Faces of higher dimensions are computed.
D | The dimension of the complex. | |
P | The type of the location of a 0-face. |
P
above), but can possibly be any (default-constructible) values.The functor returns a std::vector of locations: 0-faces are singletons, 1-faces are (usually) pairs, faces of higher dimensions are arrays of locations.
Note that for consistency reasons w.r.t. the return type of operator(), returned sites are always arrays of locations attached to 0-faces; hence the returned singletons (of locations) for 0-faces.
Definition at line 88 of file geom/complex_geometry.hh.
typedef P mln::geom::complex_geometry< D, P >::location |
Definition at line 91 of file geom/complex_geometry.hh.
typedef util::multi_site<P> mln::geom::complex_geometry< D, P >::site |
Definition at line 92 of file geom/complex_geometry.hh.
mln::geom::complex_geometry< D, P >::complex_geometry | ( | ) | [inline] |
unsigned mln::geom::complex_geometry< D, P >::add_location | ( | const P & | p | ) | [inline] |
Populate the set of locations.
Append a new location p. Return the index of the newly created location (which should semantically match the id of the corresonding 0-face in the complex).
Definition at line 140 of file geom/complex_geometry.hh.
References mln::geom::complex_geometry< D, P >::data_.
util::multi_site< P > mln::geom::complex_geometry< D, P >::operator() | ( | const mln::topo::face< D > & | f | ) | const [inline] |
Retrieve the site associated to f.
Definition at line 151 of file geom/complex_geometry.hh.
References mln::geom::complex_geometry< D, P >::data_, mln::topo::face< D >::face_id(), mln::topo::face< D >::n(), mln::util::multi_site< P >::push_back(), mln::util::multi_site< P >::reserve(), and mln::topo::internal::complex_iterator_base< F, E >::subject().
mln::util::tracked_ptr< internal::complex_geometry_data<P> > mln::geom::complex_geometry< D, P >::data_ [private] |
Definition at line 110 of file geom/complex_geometry.hh.
Referenced by mln::geom::complex_geometry< D, P >::add_location(), and mln::geom::complex_geometry< D, P >::operator()().