mln::topo Namespace Reference

Namespace of "point-wise" expression tools. More...


Classes

class  adj_higher_dim_connected_n_face_bkd_iter
 Backward iterator on all the n-faces sharing an adjacent (n+1)-face with a (reference) n-face of an mln::complex<D>. More...
class  adj_higher_dim_connected_n_face_fwd_iter
 Forward iterator on all the n-faces sharing an adjacent (n+1)-face with a (reference) n-face of an mln::complex<D>. More...
class  adj_higher_face_bkd_iter
 Backward iterator on all the adjacent (n+1)-faces of the n-face of an mln::complex<D>. More...
class  adj_higher_face_fwd_iter
 Forward iterator on all the adjacent (n+1)-faces of the n-face of an mln::complex<D>. More...
class  adj_lower_dim_connected_n_face_bkd_iter
 Backward iterator on all the n-faces sharing an adjacent (n-1)-face with a (reference) n-face of an mln::complex<D>. More...
class  adj_lower_dim_connected_n_face_fwd_iter
 Forward iterator on all the n-faces sharing an adjacent (n-1)-face with a (reference) n-face of an mln::complex<D>. More...
class  adj_lower_face_bkd_iter
 Backward iterator on all the adjacent (n-1)-faces of the n-face of an mln::complex<D>. More...
class  adj_lower_face_fwd_iter
 Forward iterator on all the adjacent (n-1)-faces of the n-face of an mln::complex<D>. More...
class  adj_lower_higher_face_bkd_iter
 Forward iterator on all the adjacent (n-1)-faces and (n+1)-faces of the n-face of an mln::complex<D>. More...
class  adj_lower_higher_face_fwd_iter
 Forward iterator on all the adjacent (n-1)-faces and (n+1)-faces of the n-face of an mln::complex<D>. More...
class  adj_m_face_bkd_iter
 Backward iterator on all the m-faces transitively adjacent to a (reference) n-face in a complex. More...
class  adj_m_face_fwd_iter
 Forward iterator on all the m-faces transitively adjacent to a (reference) n-face in a complex. More...
struct  algebraic_face
 Algebraic face handle in a complex; the face dimension is dynamic. More...
class  algebraic_n_face
 Algebraic N-face handle in a complex. More...
class  center_only_iter
 Iterator on all the adjacent (n-1)-faces of the n-face of an mln::complex<D>. More...
class  centered_bkd_iter_adapter
 Forward complex relative iterator adapters adding the central (reference) point to the set of iterated faces. More...
class  centered_fwd_iter_adapter
 Backward complex relative iterator adapters adding the central (reference) point to the set of iterated faces. More...
class  complex
 General complex of dimension D. More...
struct  face
 Face handle in a complex; the face dimension is dynamic. More...
class  face_bkd_iter
 Backward iterator on all the faces of an mln::complex<D>. More...
class  face_fwd_iter
 Forward iterator on all the faces of an mln::complex<D>. More...
struct  is_n_face
 A functor testing wheter a mln::complex_psite is an N -face. More...
class  is_simple_cell
 A predicate for the simplicity of a point based on the collapse property of the attachment. More...
class  n_face
 N-face handle in a complex. More...
class  n_face_bkd_iter
 Backward iterator on all the faces of an mln::complex<D>. More...
class  n_face_fwd_iter
 Forward iterator on all the faces of an mln::complex<D>. More...
class  n_faces_set
 Set of face handles of dimension N. More...
class  static_n_face_bkd_iter
 Backward iterator on all the N-faces of a mln::complex<D>. More...
class  static_n_face_fwd_iter
 Forward iterator on all the N-faces of a mln::complex<D>. More...

Functions

template<unsigned D, typename G >
void detach (const complex_psite< D, G > &f, complex_image< D, G, bool > &ima)
 Detach the cell corresponding to f from ima.
template<unsigned D, typename G >
bool is_facet (const complex_psite< D, G > &f)
 Is f a facet, i.e., a face not ``included in'' (adjacent to) a face of higher dimension?
template<unsigned D>
algebraic_face< D > make_algebraic_face (const face< D > &f, bool sign)
 Create an algebraic face handle of a D-complex.
template<unsigned N, unsigned D>
algebraic_n_face< N, D > make_algebraic_n_face (const n_face< N, D > &f, bool sign)
 Create an algebraic N-face handle of a D-complex.
template<unsigned N, unsigned D>
std::ostream & operator<< (std::ostream &ostr, const n_face< N, D > &f)
 Print an mln::topo::n_face.
template<unsigned D>
std::ostream & operator<< (std::ostream &ostr, const face< D > &f)
 Print an mln::topo::face.
template<unsigned D>
std::ostream & operator<< (std::ostream &ostr, const complex< D > &c)
 Pretty print a complex.
template<unsigned N, unsigned D>
std::ostream & operator<< (std::ostream &ostr, const algebraic_n_face< N, D > &f)
 Print an mln::topo::algebraic_n_face.
template<unsigned D>
std::ostream & operator<< (std::ostream &ostr, const algebraic_face< D > &f)
 Print an mln::topo::algebraic_face.
template<unsigned D>
bool operator== (const complex< D > &lhs, const complex< D > &rhs)
 Compare two complexes for equality.
template<unsigned D>
algebraic_n_face< 1, D > edge (const n_face< 0, D > &f1, const n_face< 0, D > &f2)
 Helpers.
template<unsigned N, unsigned D>
bool operator!= (const n_face< N, D > &lhs, const n_face< N, D > &rhs)
 Is lhs different from rhs?
template<unsigned N, unsigned D>
bool operator< (const n_face< N, D > &lhs, const n_face< N, D > &rhs)
 Is lhs ``less'' than rhs?
template<unsigned N, unsigned D>
bool operator== (const n_face< N, D > &lhs, const n_face< N, D > &rhs)
 Comparison of two instances of mln::topo::n_face.
template<unsigned D>
bool operator!= (const face< D > &lhs, const face< D > &rhs)
 Is lhs different from rhs?
template<unsigned D>
bool operator< (const face< D > &lhs, const face< D > &rhs)
 Is lhs ``less'' than rhs?
template<unsigned D>
bool operator== (const face< D > &lhs, const face< D > &rhs)
 Comparison of two instances of mln::topo::face.
template<unsigned N, unsigned D>
bool operator!= (const algebraic_n_face< N, D > &lhs, const algebraic_n_face< N, D > &rhs)
 Is lhs different from rhs?
template<unsigned N, unsigned D>
bool operator< (const algebraic_n_face< N, D > &lhs, const algebraic_n_face< N, D > &rhs)
 Is lhs ``less'' than rhs?
template<unsigned N, unsigned D>
bool operator== (const algebraic_n_face< N, D > &lhs, const algebraic_n_face< N, D > &rhs)
 Comparison of two instances of mln::topo::algebraic_n_face.
template<unsigned D>
bool operator!= (const algebraic_face< D > &lhs, const algebraic_face< D > &rhs)
 Is lhs different from rhs?
template<unsigned D>
bool operator< (const algebraic_face< D > &lhs, const algebraic_face< D > &rhs)
 Is lhs ``less'' than rhs?
template<unsigned D>
bool operator== (const algebraic_face< D > &lhs, const algebraic_face< D > &rhs)
 Comparison of two instances of mln::topo::algebraic_face.
template<unsigned N, unsigned D>
n_faces_set< N, D > operator+ (const algebraic_n_face< N, D > &f1, const algebraic_n_face< N, D > &f2)
 Addition.
template<unsigned N, unsigned D>
n_faces_set< N, D > operator- (const algebraic_n_face< N, D > &f1, const algebraic_n_face< N, D > &f2)
 Subtraction.
template<unsigned N, unsigned D>
algebraic_n_face< N, D > operator- (const n_face< N, D > &f)
 Inversion operators.
template<unsigned D>
algebraic_face< D > operator- (const face< D > &f)
 Inversion operators.


Detailed Description

Namespace of "point-wise" expression tools.


Function Documentation

template<unsigned D, typename G >
void mln::topo::detach ( const complex_psite< D, G > &  f,
complex_image< D, G, bool > &  ima 
) [inline]

Detach the cell corresponding to f from ima.

Precondition:
f is a facet (it does not belong to any face of higher dimension).

ima is an image of Boolean values.

References mln::make::detachment(), mln::data::fill(), and is_facet().

template<unsigned D>
algebraic_n_face< 1, D > mln::topo::edge ( const n_face< 0, D > &  f1,
const n_face< 0, D > &  f2 
) [inline]

Helpers.

Return the algebraic 1-face (edge) linking the 0-faces (vertices) f1 and f2. If there is no 1-face between f1 and f2, return an invalid 1-face.

Precondition:
f1 and f2 must belong to the same complex.
Note: this routine assumes the complex is not degenerated, i.e,
  • it does not check that f1 and f2 are the only 0-faces adjacent to an hypothetical 1-face; it just checks that f1 and f2 share a common 1-face;
  • if there are several ajacent 1-faces shared by f1 and f2 (if the complex is ill-formed), there is no guarantee on the returned 1-face (the current implementation return the first 1-face found, but client code should not rely on this implementation-defined behavior).

References mln::topo::n_face< N, D >::higher_dim_adj_faces().

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

Is f a facet, i.e., a face not ``included in'' (adjacent to) a face of higher dimension?

Referenced by mln::make::attachment(), mln::make::cell(), detach(), and mln::make::detachment().

template<unsigned D>
algebraic_face< D > mln::topo::make_algebraic_face ( const face< D > &  f,
bool  sign 
) [inline]

Create an algebraic face handle of a D-complex.

template<unsigned N, unsigned D>
algebraic_n_face< N, D > mln::topo::make_algebraic_n_face ( const n_face< N, D > &  f,
bool  sign 
) [inline]

Create an algebraic N-face handle of a D-complex.

template<unsigned N, unsigned D>
bool mln::topo::operator!= ( const n_face< N, D > &  lhs,
const n_face< N, D > &  rhs 
) [inline]

Is lhs different from rhs?

Precondition:
Arguments lhs and rhs must belong to the same mln::topo::complex.

References mln::topo::n_face< N, D >::cplx().

template<unsigned D>
bool mln::topo::operator!= ( const face< D > &  lhs,
const face< D > &  rhs 
) [inline]

Is lhs different from rhs?

Precondition:
Arguments lhs and rhs must belong to the same mln::topo::complex.

References mln::topo::face< D >::cplx(), and mln::operator!=().

template<unsigned N, unsigned D>
bool mln::topo::operator!= ( const algebraic_n_face< N, D > &  lhs,
const algebraic_n_face< N, D > &  rhs 
) [inline]

Is lhs different from rhs?

Precondition:
Arguments lhs and rhs must belong to the same mln::topo::complex.

References mln::topo::n_face< N, D >::cplx().

template<unsigned D>
bool mln::topo::operator!= ( const algebraic_face< D > &  lhs,
const algebraic_face< D > &  rhs 
) [inline]

Is lhs different from rhs?

Precondition:
Arguments lhs and rhs must belong to the same mln::topo::complex.

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

template<unsigned N, unsigned D>
n_faces_set< N, D > mln::topo::operator+ ( const algebraic_n_face< N, D > &  f1,
const algebraic_n_face< N, D > &  f2 
) [inline]

template<unsigned N, unsigned D>
n_faces_set< N, D > mln::topo::operator- ( const algebraic_n_face< N, D > &  f1,
const algebraic_n_face< N, D > &  f2 
) [inline]

Subtraction.

References mln::topo::n_faces_set< N, D >::add().

template<unsigned N, unsigned D>
algebraic_n_face< N, D > mln::topo::operator- ( const n_face< N, D > &  f  )  [inline]

Inversion operators.

template<unsigned D>
algebraic_face< D > mln::topo::operator- ( const face< D > &  f  )  [inline]

Inversion operators.

template<unsigned N, unsigned D>
bool mln::topo::operator< ( const n_face< N, D > &  lhs,
const n_face< N, D > &  rhs 
) [inline]

Is lhs ``less'' than rhs?

This comparison is required by algorithms sorting face handles.

Precondition:
Arguments lhs and rhs must belong to the same mln::topo::complex.

template<unsigned D>
bool mln::topo::operator< ( const face< D > &  lhs,
const face< D > &  rhs 
) [inline]

Is lhs ``less'' than rhs?

This comparison is required by algorithms sorting face handles.

Precondition:
Arguments lhs and rhs must belong to the same mln::topo::complex.

Arguments lhs and rhs must have the same dimension.

template<unsigned N, unsigned D>
bool mln::topo::operator< ( const algebraic_n_face< N, D > &  lhs,
const algebraic_n_face< N, D > &  rhs 
) [inline]

Is lhs ``less'' than rhs?

This comparison is required by algorithms sorting algebraic face handles.

Precondition:
Arguments lhs and rhs must belong to the same mln::topo::complex.

template<unsigned D>
bool mln::topo::operator< ( const algebraic_face< D > &  lhs,
const algebraic_face< D > &  rhs 
) [inline]

Is lhs ``less'' than rhs?

This comparison is required by algorithms sorting algebraic face handles.

Precondition:
Arguments lhs and rhs must belong to the same mln::topo::complex.

Arguments lhs and rhs must have the same dimension.

template<unsigned N, unsigned D>
std::ostream & mln::topo::operator<< ( std::ostream &  ostr,
const n_face< N, D > &  f 
) [inline]

Print an mln::topo::n_face.

template<unsigned D>
std::ostream & mln::topo::operator<< ( std::ostream &  ostr,
const face< D > &  f 
) [inline]

Print an mln::topo::face.

template<unsigned D>
std::ostream & mln::topo::operator<< ( std::ostream &  ostr,
const complex< D > &  c 
) [inline]

Pretty print a complex.

References mln::topo::complex< D >::print().

template<unsigned N, unsigned D>
std::ostream & mln::topo::operator<< ( std::ostream &  ostr,
const algebraic_n_face< N, D > &  f 
) [inline]

template<unsigned D>
std::ostream & mln::topo::operator<< ( std::ostream &  ostr,
const algebraic_face< D > &  f 
) [inline]

template<unsigned N, unsigned D>
bool mln::topo::operator== ( const n_face< N, D > &  lhs,
const n_face< N, D > &  rhs 
) [inline]

Comparison of two instances of mln::topo::n_face.

Is lhs equal to rhs?

Precondition:
Arguments lhs and rhs must belong to the same mln::topo::complex.

References mln::topo::n_face< N, D >::cplx(), and mln::topo::n_face< N, D >::face_id().

template<unsigned D>
bool mln::topo::operator== ( const face< D > &  lhs,
const face< D > &  rhs 
) [inline]

Comparison of two instances of mln::topo::face.

Is lhs equal to rhs?

Precondition:
Arguments lhs and rhs must belong to the same mln::topo::complex.

References mln::topo::face< D >::cplx(), mln::topo::face< D >::face_id(), and mln::topo::face< D >::n().

template<unsigned D>
bool mln::topo::operator== ( const complex< D > &  lhs,
const complex< D > &  rhs 
) [inline]

Compare two complexes for equality.

template<unsigned N, unsigned D>
bool mln::topo::operator== ( const algebraic_n_face< N, D > &  lhs,
const algebraic_n_face< N, D > &  rhs 
) [inline]

Comparison of two instances of mln::topo::algebraic_n_face.

Is lhs equal to rhs?

Precondition:
Arguments lhs and rhs must belong to the same mln::topo::complex.

References mln::topo::n_face< N, D >::cplx(), mln::topo::n_face< N, D >::face_id(), and mln::topo::algebraic_n_face< N, D >::sign().

template<unsigned D>
bool mln::topo::operator== ( const algebraic_face< D > &  lhs,
const algebraic_face< D > &  rhs 
) [inline]

Comparison of two instances of mln::topo::algebraic_face.

Is lhs equal to rhs?

Precondition:
Arguments lhs and rhs must belong to the same mln::topo::complex.

References mln::topo::face< D >::cplx(), mln::topo::face< D >::face_id(), mln::topo::face< D >::n(), and mln::topo::algebraic_face< D >::sign().


Generated on Tue Jul 14 16:33:13 2009 for Milena (Olena) by  doxygen 1.5.9