Peano
Loading...
Searching...
No Matches
peano4::datamanagement::FaceEnumerator< Face > Class Template Reference

Enumerator over an array of faces. More...

#include <FaceEnumerator.h>

Public Member Functions

 FaceEnumerator ()
 Usually is only used by the observers, i.e.
 
 FaceEnumerator (Face *firstFace)
 Face enumerator with standard ordering of faces within a consecutive array.
 
void setPointer (int i, Face *value)
 Usually is only used by the observers, i.e.
 
Face & operator() (int i) const
 Get a certain face.
 

Private Attributes

Face * _faces [TwoTimesD]
 

Detailed Description

template<class Face>
class peano4::datamanagement::FaceEnumerator< Face >

Enumerator over an array of faces.

Whenever you hit a cell, you get an array over faces, and you have to access them and know about their arrangement. Faces are enumerated along their normal with the one face closer to the left/bottom/front first. So let there be three coordinate axes x0, x1, x2. The face with the normal parallel to x0 on the left side of the cell (if you assume the cell to be the unit cube, it is the face that runs through the origin) is face no 0. The one with a normal parallel to x1 is face no 1. After all the faces which run through the origin in our example have been enumerated, we enumerate those guys parallel to them in the same order.

This enumeration scheme is a natural extension of the lexicographic enumeration of the VertexEnumerator, where the axes enumeration induces a vertex enumeration. It also is an easy enumeration to extend to arbitrary dimensions.

See also
peano4::datamanagement::VertexEnumerator for the same discussion for vertices.

Definition at line 38 of file FaceEnumerator.h.

Constructor & Destructor Documentation

◆ FaceEnumerator() [1/2]

template<class Face >
peano4::datamanagement::FaceEnumerator< Face >::FaceEnumerator ( )

Usually is only used by the observers, i.e.

users should not interact with this routine.

Definition at line 47 of file FaceEnumerator.h.

References peano4::datamanagement::FaceEnumerator< Face >::_faces, and TwoTimesD.

◆ FaceEnumerator() [2/2]

template<class Face >
peano4::datamanagement::FaceEnumerator< Face >::FaceEnumerator ( Face * firstFace)

Face enumerator with standard ordering of faces within a consecutive array.

Definition at line 60 of file FaceEnumerator.h.

References peano4::datamanagement::FaceEnumerator< Face >::_faces, assertion, and TwoTimesD.

Member Function Documentation

◆ operator()()

template<class Face >
Face & peano4::datamanagement::FaceEnumerator< Face >::operator() ( int i) const

Get a certain face.

Definition at line 81 of file FaceEnumerator.h.

References peano4::datamanagement::FaceEnumerator< Face >::_faces, assertion1, and TwoTimesD.

◆ setPointer()

template<class Face >
void peano4::datamanagement::FaceEnumerator< Face >::setPointer ( int i,
Face * value )

Usually is only used by the observers, i.e.

users should not interact with this routine.

Definition at line 71 of file FaceEnumerator.h.

References peano4::datamanagement::FaceEnumerator< Face >::_faces, assertion, and TwoTimesD.

Field Documentation

◆ _faces


The documentation for this class was generated from the following file: