Milena (Olena)  User documentation 2.0a Id
 All Classes Namespaces Functions Variables Typedefs Enumerator Groups Pages
mln::topo::complex< D > Class Template Reference

General complex of dimension D. More...

#include <complex.hh>

Public Types

typedef face_bkd_iter< D > bkd_citer
 Backward mln::Iterator type iterating on all faces.
 
typedef face_fwd_iter< D > fwd_citer
 Forward mln::Iterator type iterating on all faces.
 

Public Member Functions

const void * addr () const
 Get the address of the data of this complex.
 
 complex ()
 Complex construction.
 
n_face< 0u, D > add_face ()
 Add a 0-face to the complex.
 
template<unsigned N>
n_face< N+1, D > add_face (const n_faces_set< N, D > &adjacent_faces)
 Add a (N+1)-face to the complex (with N >= 0).
 
unsigned nfaces () const
 Static manipulators.
 
template<unsigned N>
unsigned nfaces_of_static_dim () const
 Return the number of N-faces.
 
unsigned nfaces_of_dim (unsigned n) const
 Dynamic manipulators.
 
void print (std::ostream &ostr) const
 Pretty-printing.
 
template<unsigned N>
void print_faces (std::ostream &ostr) const
 Print the faces of dimension N.
 

Detailed Description

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

General complex of dimension D.

Definition at line 87 of file complex.hh.

Member Typedef Documentation

template<unsigned D>
typedef face_bkd_iter<D> mln::topo::complex< D >::bkd_citer

Backward mln::Iterator type iterating on all faces.

Definition at line 93 of file complex.hh.

template<unsigned D>
typedef face_fwd_iter<D> mln::topo::complex< D >::fwd_citer

Forward mln::Iterator type iterating on all faces.

Definition at line 91 of file complex.hh.

Constructor & Destructor Documentation

template<unsigned D>
complex< D >::complex ( )
inline

Complex construction.

Create a new D-complex.

Definition at line 471 of file complex.hh.

Member Function Documentation

template<unsigned D>
n_face< 0u, D > complex< D >::add_face ( )
inline

Add a 0-face to the complex.

Definition at line 480 of file complex.hh.

template<unsigned D>
template<unsigned N>
n_face< N+1, D > complex< D >::add_face ( const n_faces_set< N, D > &  adjacent_faces)
inline

Add a (N+1)-face to the complex (with N >= 0).

Parameters
adjacent_facesThe (N-1)-faces adjacent to the new N-face.

Definition at line 493 of file complex.hh.

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

template<unsigned D>
const void * complex< D >::addr ( ) const
inline

Get the address of the data of this complex.

This address is a concise and useful information to print and track the actual content of this complex.

Definition at line 699 of file complex.hh.

template<unsigned D>
unsigned complex< D >::nfaces ( ) const
inline

Static manipulators.

These methods use statically-known input.

Return the total number of faces, whatever their dimension.

Definition at line 579 of file complex.hh.

template<unsigned D>
unsigned complex< D >::nfaces_of_dim ( unsigned  n) const
inline

Dynamic manipulators.

These methods use input know as run time.

Return the number of n-faces.

Warning, this function has a complexity linear in term of N, since each n_faces_set is checked (the present implementation does not provide a direct access to n_faces_set through a dynamic value of the dimension).

Definition at line 601 of file complex.hh.

template<unsigned D>
template<unsigned N>
unsigned complex< D >::nfaces_of_static_dim ( ) const
inline

Return the number of N-faces.

Definition at line 588 of file complex.hh.

template<unsigned D>
void complex< D >::print ( std::ostream &  ostr) const
inline

Pretty-printing.

Print the complex.

Definition at line 679 of file complex.hh.

Referenced by mln::topo::operator<<().

template<unsigned D>
template<unsigned N>
void complex< D >::print_faces ( std::ostream &  ostr) const
inline

Print the faces of dimension N.

Definition at line 688 of file complex.hh.