ElementBoundaryTraces_: implementation of ElementBoundaryTraces. More...
#include <ElementBoundaryTrace.h>
Public Member Functions | |
ElementBoundaryTraces_ () | |
virtual | ~ElementBoundaryTraces_ () |
ElementBoundaryTraces_ (const ElementBoundaryTraces_ &that) | |
ElementBoundaryTraces_ & | operator= (const ElementBoundaryTraces_ &that) |
virtual ElementBoundaryTraces_ * | clone () const =0 |
size_t | getNumTraceFaces () const |
Number of faces for which traces are provided. | |
const std::vector< size_t > & | getTraceFaceIds () const |
Returns the face number in the polytope whose traces are provided. | |
size_t | getTraceNumberOfFace (size_t FaceIndex) const |
Returns the Trace number where the trace for face FaceIndex is stored. | |
virtual const Element & | getTrace (size_t FaceIndex) const |
Returns a constant reference to the Element that contains the traces of the face getTraceFacesNumbers()[FaceIndex]. | |
Protected Member Functions | |
void | addFace (const Element_ *NewFace, const size_t FaceNumber) |
Private Member Functions | |
void | copy (const ElementBoundaryTraces_ &that) |
void | destroy () |
Private Attributes | |
std::vector< const Element * > | FaceElements |
std::vector< size_t > | FaceNumbers |
ElementBoundaryTraces_: implementation of ElementBoundaryTraces.
An ElementBoundaryTraces_ allows derived classes to add Element_ objects, one per face whose trace is desired.
The class is abstract since the getNormal function is yet to be defined by the specific derived ElementBoundaryTraces classes.
The faces added with addFace are copied into the object, not referenced.
ElementBoundaryTraces_::ElementBoundaryTraces_ | ( | ) | [inline] |
virtual ElementBoundaryTraces_::~ElementBoundaryTraces_ | ( | ) | [inline, virtual] |
ElementBoundaryTraces_::ElementBoundaryTraces_ | ( | const ElementBoundaryTraces_ & | that | ) | [inline] |
void ElementBoundaryTraces_::addFace | ( | const Element_ * | NewFace, | |
const size_t | FaceNumber | |||
) | [inline, protected] |
virtual ElementBoundaryTraces_* ElementBoundaryTraces_::clone | ( | ) | const [pure virtual] |
Implements ElementBoundaryTraces.
Implemented in P12DElementBoundaryTraces< NF >, and P13DElementBoundaryTraces< NF >.
void ElementBoundaryTraces_::copy | ( | const ElementBoundaryTraces_ & | that | ) | [inline, private] |
void ElementBoundaryTraces_::destroy | ( | ) | [inline, private] |
size_t ElementBoundaryTraces_::getNumTraceFaces | ( | ) | const [inline, virtual] |
Number of faces for which traces are provided.
Implements ElementBoundaryTraces.
virtual const Element& ElementBoundaryTraces_::getTrace | ( | size_t | FaceIndex | ) | const [inline, virtual] |
Returns a constant reference to the Element that contains the traces of the face getTraceFacesNumbers()[FaceIndex].
FaceIndex ranges from 0 to the getNumTraceFaces()-1.
Implements ElementBoundaryTraces.
const std::vector<size_t>& ElementBoundaryTraces_::getTraceFaceIds | ( | ) | const [inline, virtual] |
Returns the face number in the polytope whose traces are provided.
Each polytope has a convention to label ALL of its faces. Traces are provided for a subset of these faces. A total number of getNumTraceFaces() faces have their traces in this object. getTraceFaceIds()[FaceIndex], with FaceIndex between 0 and getNumTraceFaces()-1, provides the face number in the polytope face element accesses with getTrace(FaceIndex).
The value returned starts at 0 for the first face and so on.
Implements ElementBoundaryTraces.
size_t ElementBoundaryTraces_::getTraceNumberOfFace | ( | size_t | FaceIndex | ) | const [inline, virtual] |
Returns the Trace number where the trace for face FaceIndex is stored.
If no trace is provided for that face returns a -1.
It is always true that FaceNumberToTrace[ getTraceFaceIds()[i] ] = i; for 0<= i <= getNumTraceFaces()-1
Implements ElementBoundaryTraces.
ElementBoundaryTraces_& ElementBoundaryTraces_::operator= | ( | const ElementBoundaryTraces_ & | that | ) | [inline] |
std::vector<const Element *> ElementBoundaryTraces_::FaceElements [private] |
std::vector<size_t> ElementBoundaryTraces_::FaceNumbers [private] |