$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mln::geom::complex_geometry< D, P > Class Template Reference

#include <mln/geom/complex_geometry.hh>

Public Member Functions

 complex_geometry ()
unsigned add_location (const P &p)
site operator() (const mln::topo::face< D > &f) const
void reserve (size_t n)

Public Types

typedef P location
typedef util::multi_site< P > site

Detailed Description

template<unsigned D, typename P>
class mln::geom::complex_geometry< D, P >

A functor returning the sites of the faces of a complex where the locations of each 0-face is stored.

Faces of higher dimensions are computed.

Template Parameters
DThe dimension of the complex.
PThe type of the location of a 0-face.

Locations of 0-face are usually points (hence the 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 89 of file geom/complex_geometry.hh.

Constructor & Destructor Documentation

template<unsigned D, typename P>
mln::geom::complex_geometry< D, P >::complex_geometry ( )

Build a complex geometry object.

Member Function Documentation

template<unsigned D, typename P>
unsigned mln::geom::complex_geometry< D, P >::add_location ( const P &  p)

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).

template<unsigned D, typename P>
site mln::geom::complex_geometry< D, P >::operator() ( const mln::topo::face< D > &  f) const

Retrieve the site associated to f.

template<unsigned D, typename P>
void mln::geom::complex_geometry< D, P >::reserve ( size_t  n)

Pre-allocate memory.

Member Typedef Documentation

template<unsigned D, typename P>
typedef P mln::geom::complex_geometry< D, P >::location

Definition at line 92 of file geom/complex_geometry.hh.

template<unsigned D, typename P>
typedef util::multi_site<P> mln::geom::complex_geometry< D, P >::site

Definition at line 93 of file geom/complex_geometry.hh.