Public Types | Public Member Functions

mln::faces_psite< N, D, P > Class Template Reference

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

#include <faces_psite.hh>

Inheritance diagram for mln::faces_psite< N, D, P >:
Inheritance graph

List of all members.

Public Types

typedef Pseudo_Site< void > category
typedef faces_psite< N, D, P > exact_t
typedef mln::metal::unqualif
< q_site_ >::ret 
site
typedef p_faces< N, D, P > target

Public Member Functions

bool has_target () const
const siteto_site () const

 faces_psite ()
 Construction and assignment.
 faces_psite (const p_faces< N, D, P > &pf, const topo::n_face< N, D > &face)
 faces_psite (const p_faces< N, D, P > &pf, 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 P & subj_ ()
 Proxy manipulators.

topo::n_face< N, 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 targetpf_
 Complex-related members.
topo::n_face< N, D > face_
 The handle of the face this psite is pointing towards.



p_
void update_ ()
 Site-related members.

Detailed Description

template<unsigned N, unsigned D, typename P>
class mln::faces_psite< N, D, P >

Point site associated to a mln::p_faces.

Template Parameters:
N The dimension of the face associated to this psite.
D The dimension of the complex this psite belongs to.
P The type of point associated to this psite.

Definition at line 56 of file faces_psite.hh.


Member Typedef Documentation

typedef Pseudo_Site<void> mln::Pseudo_Site< faces_psite< N, D, P > >::category [inherited]

Reimplemented from mln::Site_Proxy< faces_psite< N, D, P > >.

Definition at line 66 of file pseudo_site.hh.

typedef faces_psite< N, D, P > mln::Object< faces_psite< N, D, P > >::exact_t [inherited]

Definition at line 173 of file object.hh.

typedef mln::metal::unqualif< q_site_ >::ret mln::internal::pseudo_site_base_< const P & , faces_psite< N, D, P > >::site [inherited]

Definition at line 57 of file pseudo_site_base.hh.

template<unsigned N, unsigned D, typename P>
typedef p_faces<N, D, P> mln::faces_psite< N, D, P >::target

Definition at line 63 of file faces_psite.hh.


Constructor & Destructor Documentation

template<unsigned N, unsigned D, typename P >
mln::faces_psite< N, D, P >::faces_psite (  )  [inline]

Construction and assignment.

Definition at line 190 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::invalidate().

template<unsigned N, unsigned D, typename P >
mln::faces_psite< N, D, P >::faces_psite ( const p_faces< N, D, P > &  pf,
const topo::n_face< N, D > &  face 
) [inline]
Precondition:
pf.cplx() == face.cplx().

Definition at line 201 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::update_().

template<unsigned N, unsigned D, typename P >
mln::faces_psite< N, D, P >::faces_psite ( const p_faces< N, D, P > &  pf,
unsigned  face_id 
) [inline]

Definition at line 216 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::update_().


Member Function Documentation

template<unsigned N, unsigned D, typename P >
void mln::faces_psite< N, D, P >::change_target ( const target new_target  )  [inline]
template<unsigned N, unsigned D, typename P >
topo::n_face< N, D > mln::faces_psite< N, D, P >::face (  )  const [inline]

Face handle manipulators.

Return the face handle of this point site.

Definition at line 289 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::face_.

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

template<unsigned N, unsigned D, typename P >
unsigned mln::faces_psite< N, D, P >::face_id (  )  const [inline]

Return the id of the face of this psite.

Definition at line 305 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::face_.

bool mln::Pseudo_Site< faces_psite< N, D, P > >::has_target (  )  const [inherited]
template<unsigned N, unsigned D, typename P >
void mln::faces_psite< N, D, P >::invalidate (  )  [inline]
template<unsigned N, unsigned D, typename P >
bool mln::faces_psite< N, D, P >::is_valid (  )  const [inline]

Psite manipulators.

Is this psite valid?

Definition at line 230 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::face_.

Referenced by mln::p_faces< N, D, P >::has(), and mln::faces_psite< N, D, P >::update_().

template<unsigned N, unsigned D, typename P >
unsigned mln::faces_psite< N, D, P >::n (  )  const [inline]

Return the dimension of the face of this psite.

Definition at line 297 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::face_.

template<unsigned N, unsigned D, typename P >
const p_faces< N, D, P > & mln::faces_psite< N, D, P >::site_set (  )  const [inline]

Site set manipulators.

Return the p_faces this site is built on. (shortcut for *target()).

Precondition:
Member face_ is valid.

Definition at line 247 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::target_().

Referenced by mln::p_faces< N, D, P >::has(), mln::operator!=(), and mln::operator==().

template<unsigned N, unsigned D, typename P >
const P & mln::faces_psite< N, D, P >::subj_ (  )  [inline]

Proxy manipulators.

Return the site corresponding to this psite.

Definition at line 278 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::p_.

template<unsigned N, unsigned D, typename P >
const p_faces< N, D, P > * mln::faces_psite< N, D, P >::target_ (  )  const [inline]

Get a pointer to the target site_set.

Definition at line 256 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::pf_.

Referenced by mln::faces_psite< N, D, P >::site_set().

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

Site-related members.

Update the site corresponding to this psite.

Definition at line 313 of file faces_psite.hh.

References mln::faces_psite< N, D, P >::is_valid().

Referenced by mln::faces_psite< N, D, P >::faces_psite().


Member Data Documentation

template<unsigned N, unsigned D, typename P>
topo::n_face<N, D> mln::faces_psite< N, D, P >::face_ [private]
template<unsigned N, unsigned D, typename P>
P mln::faces_psite< N, D, P >::p_ [private]

Definition at line 117 of file faces_psite.hh.

Referenced by mln::faces_psite< N, D, P >::subj_().

template<unsigned N, unsigned D, typename P>
const target* mln::faces_psite< N, D, P >::pf_ [private]

Complex-related members.

The mln::p_faces this point site belongs to.

Definition at line 135 of file faces_psite.hh.

Referenced by mln::faces_psite< N, D, P >::change_target(), and mln::faces_psite< N, D, P >::target_().