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

#include <mln/core/image/complex_image.hh>

Public Member Functions

void destroy ()
bool has (const psite &p) const
void init_ (const p_complex< D, G > &pc, const metal::vec< D+1, std::vector< V > > &values)
bool is_valid () const
std::size_t nsites () const
rvalue operator() (const complex_psite< D, G > &p) const
lvalue operator() (const complex_psite< D, G > &p)
const t_eligible_values_setvalues_eligible () const
const t_values_spacevalues_space () const
 complex_image ()
 complex_image (const p_complex< D, G > &pc)
 complex_image (const p_complex< D, G > &pc, const metal::vec< D+1, std::vector< V > > &values)
const p_complex< D, G > & domain () const
const metal::vec< D+1,
std::vector< typename
mln::internal::unbool< V >
::ret > > & 
values () const

Static Public Attributes

static const unsigned dim = D

Protected Attributes

mln::util::tracked_ptr
< internal::data
< complex_image< D, G, V > > > 
data_

Public Types

typedef p_complex< D, G >
::bkd_piter 
bkd_piter
typedef Image< void > category
typedef p_complex< D, G > domain_t
typedef complex_image< D, G, V > exact_t
typedef p_complex< D, G >
::fwd_piter 
fwd_piter
typedef G geom
typedef V & lvalue
typedef fwd_piter piter
typedef p_complex< D, G >::psite psite
typedef const V & rvalue
typedef p_complex< D, G >::site site
typedef complex_image< D,
tag::psite_< G >, tag::value_
< V > > 
skeleton
typedef mln::value::set< V > t_eligible_values_set
typedef mln::value::set
< typename
mln::value::super_value< V >
::ret
t_values_space
typedef V value

Detailed Description

template<unsigned D, typename G, typename V>
class mln::complex_image< D, G, V >

Image based on a complex.

Values attached to each face of the complex.

Template Parameters
DThe dimension of the complex.
GThe geometry type of the complex.
VThe value type of the image.

Definition at line 170 of file mln/core/image/complex_image.hh.

Constructor & Destructor Documentation

template<unsigned D, typename G, typename V>
mln::complex_image< D, G, V >::complex_image ( )

Constructors.

template<unsigned D, typename G, typename V>
mln::complex_image< D, G, V >::complex_image ( const p_complex< D, G > &  pc)
template<unsigned D, typename G, typename V>
mln::complex_image< D, G, V >::complex_image ( const p_complex< D, G > &  pc,
const metal::vec< D+1, std::vector< V > > &  values 
)

Member Function Documentation

void mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::destroy ( )
inherited

Detach data from an image (free it if nobody else hold it).

template<unsigned D, typename G, typename V>
const p_complex<D, G>& mln::complex_image< D, G, V >::domain ( ) const

Accessors.

Return the domain of psites od the image.

bool mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::has ( const psite p) const
inherited

Test if p belongs to the image domain.

template<unsigned D, typename G, typename V>
void mln::complex_image< D, G, V >::init_ ( const p_complex< D, G > &  pc,
const metal::vec< D+1, std::vector< V > > &  values 
)

INTERNAL_API Initialize an empty image.

bool mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::is_valid ( ) const
inherited

Test if this image has been initialized; default impl.

std::size_t mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::nsites ( ) const
inherited

Give the number of sites of the image domain.

template<unsigned D, typename G, typename V>
rvalue mln::complex_image< D, G, V >::operator() ( const complex_psite< D, G > &  p) const

Read-only access of face value at point site p.

template<unsigned D, typename G, typename V>
lvalue mln::complex_image< D, G, V >::operator() ( const complex_psite< D, G > &  p)

Read-write access of face value at point site p.

template<unsigned D, typename G, typename V>
const metal::vec<D + 1, std::vector< typename mln::internal::unbool< V >::ret > >& mln::complex_image< D, G, V >::values ( ) const

Return the array of values associated to the faces.

const t_eligible_values_set& mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::values_eligible ( ) const
inherited
const t_values_space& mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::values_space ( ) const
inherited

Return the value space of the image.

Member Data Documentation

mln::util::tracked_ptr< internal::data<complex_image< D, G, V > > > mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::data_
protectedinherited

INTERNAL_API Internal data, sharable by several images.

Definition at line 176 of file core/internal/image_base.hh.

template<unsigned D, typename G, typename V>
const unsigned mln::complex_image< D, G, V >::dim = D
static

The dimension of the complex.

Definition at line 176 of file mln/core/image/complex_image.hh.

Member Typedef Documentation

typedef p_complex< D, G > ::bkd_piter mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::bkd_piter
inherited

Backward Site_Iterator associated type.

Definition at line 122 of file core/internal/image_base.hh.

typedef Image<void> mln::Image< complex_image< D, G, V > >::category
inherited

Definition at line 78 of file core/concept/image.hh.

typedef p_complex< D, G > mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::domain_t
inherited

Site_Set associated type.

Definition at line 109 of file core/internal/image_base.hh.

typedef complex_image< D, G, V > mln::Object< complex_image< D, G, V > >::exact_t
inherited

Definition at line 105 of file object.hh.

typedef p_complex< D, G > ::fwd_piter mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::fwd_piter
inherited

Forward Site_Iterator associated type.

Definition at line 119 of file core/internal/image_base.hh.

template<unsigned D, typename G, typename V>
typedef G mln::complex_image< D, G, V >::geom

The geometry type of the complex.

Definition at line 178 of file mln/core/image/complex_image.hh.

template<unsigned D, typename G, typename V>
typedef V& mln::complex_image< D, G, V >::lvalue

Return type of read-write access.

Definition at line 183 of file mln/core/image/complex_image.hh.

typedef fwd_piter mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::piter
inherited

Site_Iterator associated type; default definition is fwd_piter.

Definition at line 127 of file core/internal/image_base.hh.

typedef p_complex< D, G > ::psite mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::psite
inherited

Point_Site associated type.

Definition at line 112 of file core/internal/image_base.hh.

template<unsigned D, typename G, typename V>
typedef const V& mln::complex_image< D, G, V >::rvalue

Return type of read-only access.

Definition at line 186 of file mln/core/image/complex_image.hh.

typedef p_complex< D, G > ::site mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::site
inherited

Site associated type.

Definition at line 115 of file core/internal/image_base.hh.

template<unsigned D, typename G, typename V>
typedef complex_image< D, tag::psite_<G>, tag::value_<V> > mln::complex_image< D, G, V >::skeleton

Skeleton.

Definition at line 189 of file mln/core/image/complex_image.hh.

typedef mln::value::set<V > mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::t_eligible_values_set
inherited

Eligible-value-set associated type.

Definition at line 95 of file core/internal/image_base.hh.

typedef mln::value::set< typename mln::value::super_value<V >::ret > mln::internal::image_base< V , p_complex< D, G > , complex_image< D, G, V > >::t_values_space
inherited

Value space associated type.

Definition at line 102 of file core/internal/image_base.hh.

template<unsigned D, typename G, typename V>
typedef V mln::complex_image< D, G, V >::value

Value associated type.

Definition at line 180 of file mln/core/image/complex_image.hh.