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

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

Algebraic face handle in a complex; the face dimension is dynamic. More...

#include <algebraic_face.hh>

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

List of all members.

Public Types

typedef complex< D > complex_type

Public Member Functions

 algebraic_face ()
 Build a non-initialized algebraic face handle.
 algebraic_face (complex< D > &complex, unsigned n, unsigned face_id, bool sign)
 Build an algebraic face handle from complex and face_id.
template<unsigned N>
 algebraic_face (const algebraic_n_face< N, D > &f)
 Build a face handle from an mln::topo::algebraic_n_face.
 algebraic_face (const face< D > &f, bool sign)
 Build an algebraic face handle from an mln::face.
void invalidate ()
 Invalidate this handle.
bool is_valid () const
 Is this handle valid?

bool sign () const
 Accessors.
void set_sign (bool sign)
 Set the sign of this face.

complex< D > cplx () const
 Accessors.
unsigned n () const
 Return the dimension of the face.
unsigned face_id () const
 Return the id of the face.
void set_cplx (const complex< D > &cplx)
 Set the complex the face belongs to.
void set_n (unsigned n)
 Set the dimension of the face.
void inc_n ()
 Increment the dimension of the face.
void dec_n ()
 Decrement the dimension of the face.
void set_face_id (unsigned face_id)
 Set the id of the face.
void inc_face_id ()
 Increment the id of the face.
void dec_face_id ()
 Decrement the id of the face.
template<unsigned N>
face_data< N, D > & data () const
 Return the mln::topo::face_data pointed by this handle.
std::vector< algebraic_face< D > > lower_dim_adj_faces () const
 Return an array of face handles pointing to adjacent (n-1)-faces.
std::vector< algebraic_face< D > > higher_dim_adj_faces () const
 Return an array of face handles pointing to adjacent (n+1)-faces.

Private Types

typedef face< D > super_

Private Attributes

bool sign_
 The sign of this algebraic face.

Detailed Description

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

Algebraic face handle in a complex; the face dimension is dynamic.

Contrary to an mln::topo::algebraic_n_face, the dimension of an mln::topo::algebraic_face is not fixed.

Definition at line 60 of file algebraic_face.hh.


Member Typedef Documentation

template<unsigned D>
typedef complex<D> mln::topo::algebraic_face< D >::complex_type

Reimplemented from mln::topo::face< D >.

Definition at line 66 of file algebraic_face.hh.

template<unsigned D>
typedef face<D> mln::topo::algebraic_face< D >::super_ [private]

Definition at line 62 of file algebraic_face.hh.


Constructor & Destructor Documentation

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

Build a non-initialized algebraic face handle.

Definition at line 157 of file algebraic_face.hh.

template<unsigned D>
mln::topo::algebraic_face< D >::algebraic_face ( complex< D > &  complex,
unsigned  n,
unsigned  face_id,
bool  sign 
) [inline]

Build an algebraic face handle from complex and face_id.

Definition at line 164 of file algebraic_face.hh.

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

Build an algebraic face handle from an mln::face.

Definition at line 174 of file algebraic_face.hh.

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

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

Build a face handle from an mln::topo::algebraic_n_face.

Definition at line 184 of file algebraic_face.hh.


Member Function Documentation

template<unsigned D>
complex< D > mln::topo::face< D >::cplx (  )  const [inline, inherited]
template<unsigned D>
template<unsigned N>
face_data< N, D > & mln::topo::face< D >::data (  )  const [inline, inherited]
template<unsigned D>
void mln::topo::face< D >::dec_face_id (  )  [inline, inherited]
template<unsigned D>
void mln::topo::face< D >::dec_n (  )  [inline, inherited]

Decrement the dimension of the face.

Definition at line 272 of file face.hh.

References mln::topo::face< D >::n_.

Referenced by mln::topo::face_bkd_iter< D >::next_().

template<unsigned D>
unsigned mln::topo::face< D >::face_id (  )  const [inline, inherited]
template<unsigned D>
std::vector< algebraic_face< D > > mln::topo::face< D >::higher_dim_adj_faces (  )  const [inline, inherited]
template<unsigned D>
void mln::topo::face< D >::inc_face_id (  )  [inline, inherited]
template<unsigned D>
void mln::topo::face< D >::inc_n (  )  [inline, inherited]

Increment the dimension of the face.

Definition at line 264 of file face.hh.

References mln::topo::face< D >::n_.

Referenced by mln::topo::face_fwd_iter< D >::next_().

template<unsigned D>
void mln::topo::face< D >::invalidate (  )  [inline, inherited]

Invalidate this handle.

Definition at line 215 of file face.hh.

References mln::topo::face< D >::set_face_id(), and mln::topo::face< D >::set_n().

template<unsigned D>
bool mln::topo::face< D >::is_valid (  )  const [inline, inherited]

Is this handle valid?

Definition at line 207 of file face.hh.

References mln::topo::face< D >::cplx_, mln::topo::face< D >::face_id_, and mln::topo::face< D >::n_.

Referenced by mln::topo::face< D >::data().

template<unsigned D>
std::vector< algebraic_face< D > > mln::topo::face< D >::lower_dim_adj_faces (  )  const [inline, inherited]
template<unsigned D>
unsigned mln::topo::face< D >::n (  )  const [inline, inherited]
template<unsigned D>
void mln::topo::face< D >::set_cplx ( const complex< D > &  cplx  )  [inline, inherited]

Set the complex the face belongs to.

Definition at line 248 of file face.hh.

References mln::topo::face< D >::cplx_.

template<unsigned D>
void mln::topo::face< D >::set_face_id ( unsigned  face_id  )  [inline, inherited]
template<unsigned D>
void mln::topo::face< D >::set_n ( unsigned  n  )  [inline, inherited]
template<unsigned D>
void mln::topo::algebraic_face< D >::set_sign ( bool  sign  )  [inline]

Set the sign of this face.

Definition at line 203 of file algebraic_face.hh.

References mln::topo::algebraic_face< D >::sign_.

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

template<unsigned D>
bool mln::topo::algebraic_face< D >::sign (  )  const [inline]

Accessors.

Return the sign of this face.

Definition at line 195 of file algebraic_face.hh.

References mln::topo::algebraic_face< D >::sign_.

Referenced by mln::topo::operator-(), and mln::topo::operator==().


Member Data Documentation

template<unsigned D>
bool mln::topo::algebraic_face< D >::sign_ [private]

The sign of this algebraic face.

Definition at line 90 of file algebraic_face.hh.

Referenced by mln::topo::algebraic_face< D >::set_sign(), and mln::topo::algebraic_face< D >::sign().