Public Types | Public Member Functions

mln::complex_psite< D, G > Class Template Reference

Point site associated to a mln::p_complex. More...

#include <complex_psite.hh>

Inheritance diagram for mln::complex_psite< D, G >:
Inheritance graph

List of all members.

Public Types

typedef Pseudo_Site< void > category
typedef complex_psite< D, G > exact_t
typedef mln::metal::unqualif
< q_site_ >::ret 
site
typedef p_complex< D, G > target
typedef p_complex< D, G > target_t

Public Member Functions

bool has_target () const
const siteto_site () const

 complex_psite ()
 Construction and assignment.
 complex_psite (const p_complex< D, G > &pc, const topo::face< D > &face)
 complex_psite (const p_complex< D, G > &pc, unsigned n, unsigned face_id)

bool is_valid () const
 Psite manipulators.
void invalidate ()
 Invalidate this psite.

const targetsite_set () const
 Site set manipulators.
const targettarget_ () const
 Get a pointer to the target site_set.
void change_target (const target &new_target)
 Set the target site_set.

const G::site & subj_ ()
 Proxy manipulators.

const topo::face< D > & face () const
 Face handle manipulators.
unsigned n () const
 Return the dimension of the face of this psite.
unsigned face_id () const
 Return the id of the face of this psite.

Private Attributes

const targetpc_
 Complex-related members.
topo::face< D > face_
 The handle of the face this psite is pointing towards.



G::site p_
void update_ ()
 Site-related members.

Detailed Description

template<unsigned D, typename G>
class mln::complex_psite< D, G >

Point site associated to a mln::p_complex.

Template Parameters:
D The dimension of the complex this psite belongs to.
G The geometry of the complex.

Definition at line 60 of file complex_psite.hh.


Member Typedef Documentation

typedef Pseudo_Site<void> mln::Pseudo_Site< complex_psite< D, G > >::category [inherited]

Reimplemented from mln::Site_Proxy< complex_psite< D, G > >.

Definition at line 66 of file pseudo_site.hh.

typedef complex_psite< D, G > mln::Object< complex_psite< D, G > >::exact_t [inherited]

Definition at line 173 of file object.hh.

typedef mln::metal::unqualif< q_site_ >::ret mln::internal::pseudo_site_base_< const G::site & , complex_psite< D, G > >::site [inherited]

Definition at line 57 of file pseudo_site_base.hh.

template<unsigned D, typename G>
typedef p_complex<D, G> mln::complex_psite< D, G >::target

Definition at line 66 of file complex_psite.hh.

template<unsigned D, typename G>
typedef p_complex<D, G> mln::complex_psite< D, G >::target_t

Definition at line 68 of file complex_psite.hh.


Constructor & Destructor Documentation

template<unsigned D, typename G >
mln::complex_psite< D, G >::complex_psite (  )  [inline]

Construction and assignment.

Definition at line 203 of file complex_psite.hh.

References mln::complex_psite< D, G >::invalidate().

template<unsigned D, typename G >
mln::complex_psite< D, G >::complex_psite ( const p_complex< D, G > &  pc,
const topo::face< D > &  face 
) [inline]
template<unsigned D, typename G >
mln::complex_psite< D, G >::complex_psite ( const p_complex< D, G > &  pc,
unsigned  n,
unsigned  face_id 
) [inline]

Member Function Documentation

template<unsigned D, typename G >
void mln::complex_psite< D, G >::change_target ( const target new_target  )  [inline]

Set the target site_set.

Definition at line 280 of file complex_psite.hh.

References mln::p_complex< D, G >::cplx(), and mln::complex_psite< D, G >::invalidate().

template<unsigned D, typename G >
const topo::face< D > & mln::complex_psite< D, G >::face (  )  const [inline]

Face handle manipulators.

Return the face handle of this point site.

Definition at line 301 of file complex_psite.hh.

Referenced by mln::operator!=(), and mln::operator==().

template<unsigned D, typename G >
unsigned mln::complex_psite< D, G >::face_id (  )  const [inline]

Return the id of the face of this psite.

Definition at line 317 of file complex_psite.hh.

Referenced by mln::complex_image< D, G, V >::operator()().

bool mln::Pseudo_Site< complex_psite< D, G > >::has_target (  )  const [inherited]
template<unsigned D, typename G >
void mln::complex_psite< D, G >::invalidate (  )  [inline]

Invalidate this psite.

Definition at line 251 of file complex_psite.hh.

Referenced by mln::complex_psite< D, G >::change_target(), and mln::complex_psite< D, G >::complex_psite().

template<unsigned D, typename G >
bool mln::complex_psite< D, G >::is_valid (  )  const [inline]

Psite manipulators.

Is this psite valid?

Definition at line 239 of file complex_psite.hh.

References mln::p_complex< D, G >::cplx().

Referenced by mln::complex_psite< D, G >::complex_psite(), mln::p_complex< D, G >::has(), and mln::complex_psite< D, G >::update_().

template<unsigned D, typename G >
unsigned mln::complex_psite< D, G >::n (  )  const [inline]

Return the dimension of the face of this psite.

Definition at line 309 of file complex_psite.hh.

Referenced by mln::make::cell(), and mln::complex_image< D, G, V >::operator()().

template<unsigned D, typename G >
const p_complex< D, G > & mln::complex_psite< D, G >::site_set (  )  const [inline]

Site set manipulators.

Return the mln::p_complex this site is built on. (shortcut for *target()).

Precondition:
Member face_ is valid.

Definition at line 259 of file complex_psite.hh.

References mln::complex_psite< D, G >::target_().

Referenced by mln::p_complex< D, G >::has(), mln::operator!=(), mln::operator==(), and mln::complex_psite< D, G >::update_().

template<unsigned D, typename G >
const G::site & mln::complex_psite< D, G >::subj_ (  )  [inline]

Proxy manipulators.

Return the site corresponding to this psite.

Definition at line 293 of file complex_psite.hh.

template<unsigned D, typename G >
const p_complex< D, G > * mln::complex_psite< D, G >::target_ (  )  const [inline]

Get a pointer to the target site_set.

Definition at line 268 of file complex_psite.hh.

References mln::p_complex< D, G >::cplx().

Referenced by mln::complex_psite< D, G >::site_set().

const site& mln::internal::pseudo_site_base_< const G::site & , complex_psite< D, G > >::to_site (  )  const [inherited]
template<unsigned D, typename G >
void mln::complex_psite< D, G >::update_ (  )  [inline, private]

Site-related members.

Update the site corresponding to this psite.

Definition at line 325 of file complex_psite.hh.

References mln::p_complex< D, G >::cplx(), mln::p_complex< D, G >::geom(), mln::complex_psite< D, G >::is_valid(), and mln::complex_psite< D, G >::site_set().

Referenced by mln::complex_psite< D, G >::complex_psite().


Member Data Documentation

template<unsigned D, typename G>
topo::face<D> mln::complex_psite< D, G >::face_ [private]

The handle of the face this psite is pointing towards.

Definition at line 145 of file complex_psite.hh.

template<unsigned D, typename G>
G ::site mln::complex_psite< D, G >::p_ [private]

Definition at line 124 of file complex_psite.hh.

template<unsigned D, typename G>
const target* mln::complex_psite< D, G >::pc_ [private]

Complex-related members.

The mln::p_faces this point site belongs to.

Definition at line 143 of file complex_psite.hh.