ElementBoundaryTraces_ Class Reference

ElementBoundaryTraces_: implementation of ElementBoundaryTraces. More...

#include <ElementBoundaryTrace.h>

Inheritance diagram for ElementBoundaryTraces_:
ElementBoundaryTraces P1nDBoundaryTraces< NF > P12DElementBoundaryTraces< NF > P13DElementBoundaryTraces< NF >

List of all members.

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 ElementgetTrace (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

Detailed Description

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.


Constructor & Destructor Documentation

ElementBoundaryTraces_::ElementBoundaryTraces_ (  )  [inline]
virtual ElementBoundaryTraces_::~ElementBoundaryTraces_ (  )  [inline, virtual]
ElementBoundaryTraces_::ElementBoundaryTraces_ ( const ElementBoundaryTraces_ that  )  [inline]

Member Function Documentation

void ElementBoundaryTraces_::addFace ( const Element_ NewFace,
const size_t  FaceNumber 
) [inline, protected]
virtual ElementBoundaryTraces_* ElementBoundaryTraces_::clone (  )  const [pure virtual]
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]

Member Data Documentation

std::vector<const Element *> ElementBoundaryTraces_::FaceElements [private]
std::vector<size_t> ElementBoundaryTraces_::FaceNumbers [private]

The documentation for this class was generated from the following file:
Generated on Tue Aug 2 11:51:27 2011 for Galois by  doxygen 1.6.3