Iterator on all the adjacent (n-1)-faces of the n-face of an mln::complex<D>. More...
#include <center_only_iter.hh>
Public Types | |
typedef Object< void > | category |
typedef topo::face< D > | center_type |
The type of the center face. | |
typedef center_only_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. | |
center_only_iter () | |
Construction. | |
template<typename Fref > | |
center_only_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 face & | subject () const |
Conversion. | |
operator const algebraic_face< D > & () const | |
Implicit conversion (conversion operator). | |
Protected Types | |
typedef std::vector< face_type > | adj_faces_t |
Protected Attributes | |
adj_faces_t | adj_faces_ |
The set of faces adjacent to the reference face. | |
const center_type * | c_ |
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_iterator | i_ |
An iterator on the set of adjacent edges. | |
Private Types | |
typedef center_only_iter< D > | self_ |
typedef internal::forward_complex_relative_iterator_base < topo::face< D > , algebraic_face< D >, self_ > | super_ |
Iterator on all the adjacent (n-1)-faces of the n-face of an mln::complex<D>.
D | The dimension of the complex this iterator belongs to. |
mln::topo::center_only_iter inherits from mln::topo::internal::forward_complex_relative_iterator_base, but it could inherit from mln::topo::internal::backward_complex_relative_iterator_base as well, since it always contains a single element, the center/reference face (and the traversal order is meaningless).
This iterator is essentially used to implement other iterators.
typedef std::vector<face_type> mln::topo::internal::complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::adj_faces_t [protected, inherited] |
typedef Object<void> mln::Object< center_only_iter< D > >::category [inherited] |
typedef topo::face< D > mln::topo::internal::complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::center_type [inherited] |
The type of the center face.
typedef center_only_iter< D > mln::Object< center_only_iter< D > >::exact_t [inherited] |
typedef algebraic_face< D > mln::topo::internal::complex_iterator_base< algebraic_face< D > , center_only_iter< D > >::face [inherited] |
The type of the iterated faces.
typedef algebraic_face< D > mln::topo::internal::forward_complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::face_type [inherited] |
The type of the iterated faces.
Reimplemented from mln::topo::internal::complex_relative_iterator_base< topo::face< D >, algebraic_face< D >, center_only_iter< D > >.
typedef center_only_iter<D> mln::topo::center_only_iter< D >::self_ [private] |
typedef internal::forward_complex_relative_iterator_base< topo::face<D>, algebraic_face<D>, self_ > mln::topo::center_only_iter< D >::super_ [private] |
mln::topo::center_only_iter< D >::center_only_iter | ( | ) | [inline] |
Construction.
mln::topo::center_only_iter< D >::center_only_iter | ( | const Fref & | f_ref | ) | [inline] |
void mln::topo::internal::complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::center_at | ( | const center_type & | c | ) | [inherited] |
Manipulation.
Change the center face.
void mln::topo::internal::forward_complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::do_next_ | ( | ) | [inherited] |
Go to the next point.
void mln::topo::internal::forward_complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::do_start_ | ( | ) | [inherited] |
Start an iteration.
void mln::topo::internal::forward_complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::invalidate | ( | ) | [inherited] |
Invalidate the iterator.
bool mln::topo::internal::forward_complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::is_valid | ( | ) | const [inherited] |
ManipulationTest if the iterator is valid.
void mln::Iterator< center_only_iter< D > >::next | ( | ) | [inherited] |
Go to the next element.
void mln::topo::internal::complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::next_ | ( | ) | [inherited] |
Go to the next point.
mln::topo::internal::complex_iterator_base< algebraic_face< D > , center_only_iter< D > >::operator const algebraic_face< D > & | ( | ) | const [inherited] |
Implicit conversion (conversion operator).
void mln::topo::internal::complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::start | ( | ) | [inherited] |
Start an iteration.
const face& mln::topo::internal::complex_iterator_base< algebraic_face< D > , center_only_iter< D > >::subject | ( | ) | const [inherited] |
Conversion.
Return a reference to the corresponding face handle.
Explicit conversion (accessor).
void mln::topo::center_only_iter< D >::update_adj_faces_ | ( | ) | [inline] |
Compute the set of faces adjacent to the reference face.
References mln::topo::internal::complex_relative_iterator_base< topo::face< D >, algebraic_face< D >, center_only_iter< D > >::adj_faces_, mln::topo::internal::complex_relative_iterator_base< topo::face< D >, algebraic_face< D >, center_only_iter< D > >::c_, and mln::topo::make_algebraic_face().
void mln::topo::internal::forward_complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::update_f_ | ( | ) | [inherited] |
Update the target face.
adj_faces_t mln::topo::internal::complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::adj_faces_ [protected, inherited] |
The set of faces adjacent to the reference face.
Referenced by mln::topo::center_only_iter< D >::update_adj_faces_().
const center_type* mln::topo::internal::complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::c_ [protected, inherited] |
A pointer to the center face around which this iterator moves.
Referenced by mln::topo::center_only_iter< D >::update_adj_faces_().
face mln::topo::internal::complex_iterator_base< algebraic_face< D > , center_only_iter< D > >::f_ [protected, inherited] |
The face handle this iterator is pointing to.
super_::adj_faces_t::const_iterator mln::topo::internal::forward_complex_relative_iterator_base< topo::face< D > , algebraic_face< D > , center_only_iter< D > >::i_ [protected, inherited] |
An iterator on the set of adjacent edges.