Public Types | Public Member Functions | Protected Types | Protected Attributes | Private Types

mln::topo::adj_higher_face_bkd_iter< D > Class Template Reference

Backward iterator on all the adjacent (n+1)-faces of the n-face of an mln::complex<D>. More...

#include <adj_higher_face_iter.hh>

Inheritance diagram for mln::topo::adj_higher_face_bkd_iter< D >:
Inheritance graph

List of all members.

Public Types

typedef Object< void > category
typedef topo::face< D > center_type
 The type of the center face.
typedef
adj_higher_face_bkd_iter< D > 
exact_t
typedef algebraic_face< D > face
 The type of the iterated faces.
typedef algebraic_face< D > face_type
 The type of the iterated faces.

Public Member Functions

void next ()
 Go to the next element.
void update_adj_faces_ ()
 Compute the set of faces adjacent to the reference face.

 adj_higher_face_bkd_iter ()
 Construction.
template<typename Fref >
 adj_higher_face_bkd_iter (const Fref &f_ref)

bool is_valid () const
 ManipulationTest if the iterator is valid.
void invalidate ()
 Invalidate the iterator.
void do_start_ ()
 Start an iteration.
void do_next_ ()
 Go to the next point.
void update_f_ ()
 Update the target face.

void center_at (const center_type &c)
 Manipulation.
void start ()
 Start an iteration.
void next_ ()
 Go to the next point.

const facesubject () const
 Conversion.
 operator const algebraic_face< D > & () const
 Implicit conversion (conversion operator).

Protected Types

typedef std::vector< face_typeadj_faces_t

Protected Attributes

adj_faces_t adj_faces_
 The set of faces adjacent to the reference face.
const center_typec_
 A pointer to the center face around which this iterator moves.
face f_
 The face handle this iterator is pointing to.
super_::adj_faces_t::const_reverse_iterator i_
 An iterator on the set of adjacent edges.

Private Types

typedef
adj_higher_face_bkd_iter< D > 
self_
typedef
internal::backward_complex_relative_iterator_base
< topo::face< D >
, algebraic_face< D >, self_
super_

Detailed Description

template<unsigned D>
class mln::topo::adj_higher_face_bkd_iter< D >

Backward iterator on all the adjacent (n+1)-faces of the n-face of an mln::complex<D>.

Template Parameters:
D The dimension of the complex this iterator belongs to.

Definition at line 106 of file adj_higher_face_iter.hh.


Member Typedef Documentation

Definition at line 119 of file complex_relative_iterator_base.hh.

typedef Object<void> mln::Object< adj_higher_face_bkd_iter< D > >::category [inherited]

Definition at line 174 of file object.hh.

The type of the center face.

Definition at line 91 of file complex_relative_iterator_base.hh.

Definition at line 173 of file object.hh.

The type of the iterated faces.

Definition at line 84 of file complex_iterator_base.hh.

template<unsigned D>
typedef adj_higher_face_bkd_iter<D> mln::topo::adj_higher_face_bkd_iter< D >::self_ [private]

Constructor & Destructor Documentation

template<unsigned D>
mln::topo::adj_higher_face_bkd_iter< D >::adj_higher_face_bkd_iter (  )  [inline]

Construction.

Definition at line 167 of file adj_higher_face_iter.hh.

template<unsigned D>
template<typename Fref >
mln::topo::adj_higher_face_bkd_iter< D >::adj_higher_face_bkd_iter ( const Fref &  f_ref  )  [inline]

Definition at line 174 of file adj_higher_face_iter.hh.


Member Function Documentation

void mln::topo::internal::complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , adj_higher_face_bkd_iter< D > >::center_at ( const center_type c  )  [inherited]

Manipulation.

Change the center face.

Go to the next point.

Start an iteration.

Invalidate the iterator.

ManipulationTest if the iterator is valid.

void mln::Iterator< adj_higher_face_bkd_iter< D > >::next (  )  [inherited]

Go to the next element.

Warning:
This is a final method; iterator classes should not re-defined this method. The actual "next" operation has to be defined through the next_ method.
Precondition:
The iterator is valid.

Go to the next point.

mln::topo::internal::complex_iterator_base< algebraic_face< D > , adj_higher_face_bkd_iter< D > >::operator const algebraic_face< D > & (  )  const [inherited]

Implicit conversion (conversion operator).

Start an iteration.

Conversion.

Return a reference to the corresponding face handle.

Explicit conversion (accessor).

template<unsigned D>
void mln::topo::adj_higher_face_bkd_iter< D >::update_adj_faces_ (  )  [inline]

Update the target face.


Member Data Documentation

The set of faces adjacent to the reference face.

Definition at line 121 of file complex_relative_iterator_base.hh.

Referenced by mln::topo::adj_higher_face_bkd_iter< D >::update_adj_faces_().

A pointer to the center face around which this iterator moves.

Definition at line 116 of file complex_relative_iterator_base.hh.

Referenced by mln::topo::adj_higher_face_bkd_iter< D >::update_adj_faces_().

The face handle this iterator is pointing to.

Definition at line 98 of file complex_iterator_base.hh.

super_::adj_faces_t::const_reverse_iterator mln::topo::internal::backward_complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , adj_higher_face_bkd_iter< D > >::i_ [protected, inherited]

An iterator on the set of adjacent edges.

Definition at line 224 of file complex_relative_iterator_base.hh.