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

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

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

#include <adj_lower_dim_connected_n_face_iter.hh>

Inheritance diagram for mln::topo::adj_lower_dim_connected_n_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_lower_dim_connected_n_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_lower_dim_connected_n_face_bkd_iter ()
 Construction.
template<typename Fref >
 adj_lower_dim_connected_n_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_lower_dim_connected_n_face_bkd_iter
< D > 
self_
typedef
internal::backward_complex_relative_iterator_base
< topo::face< D >
, algebraic_face< D >, self_
super_

Private Member Functions

void update_adj_faces__ (const topo::face< D > &center, std::vector< algebraic_face< D > > &adj_faces)
 The actual implementation of the computation of the set of faces adjacent to the reference face.

Detailed Description

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

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

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

Definition at line 104 of file adj_lower_dim_connected_n_face_iter.hh.


Member Typedef Documentation

Definition at line 119 of file complex_relative_iterator_base.hh.

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.

Definition at line 112 of file adj_lower_dim_connected_n_face_iter.hh.

Definition at line 115 of file adj_lower_dim_connected_n_face_iter.hh.


Constructor & Destructor Documentation

Construction.

Definition at line 196 of file adj_lower_dim_connected_n_face_iter.hh.

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

Definition at line 203 of file adj_lower_dim_connected_n_face_iter.hh.


Member Function Documentation

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

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_lower_dim_connected_n_face_bkd_iter< D >::update_adj_faces_ (  )  [inline]
template<unsigned D>
void mln::topo::internal::adj_lower_dim_connected_n_face_iterator< D >::update_adj_faces__ ( const topo::face< D > &  center,
std::vector< algebraic_face< D > > &  adj_faces 
) [inline, protected, inherited]

The actual implementation of the computation of the set of faces adjacent to the reference face.

Definition at line 233 of file adj_lower_dim_connected_n_face_iter.hh.

References mln::topo::face< D >::lower_dim_adj_faces().

Referenced by mln::topo::adj_lower_dim_connected_n_face_bkd_iter< D >::update_adj_faces_(), and mln::topo::adj_lower_dim_connected_n_face_fwd_iter< D >::update_adj_faces_().

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