Sundance::CellFilterBase Class Reference

Inheritance diagram for Sundance::CellFilterBase:

Sundance::BinaryCellFilter Sundance::DimensionalCellFilter Sundance::LabeledSubsetCellFilter Sundance::MaximalCellFilter Sundance::SideCellFilter Sundance::SubsetCellFilter Sundance::BoundaryCellFilter

List of all members.

Public Member Functions

 CellFilterBase ()
virtual ~CellFilterBase ()
CellSet getCells (const Mesh &mesh) const
virtual int dimension (const Mesh &mesh) const =0
void registerSubset (const CellFilter &sub) const
void registerLabeledSubset (int label, const CellFilter &sub) const
void registerDisjoint (const CellFilter &sub) const
const Set< CellFilter > & knownSubsets () const
const Set< CellFilter > & knownDisjoints () const
virtual std::string toString () const
virtual std::string description () const
void setName (const std::string &name)
void flushCache () const

Protected Member Functions

virtual CellSet internalGetCells (const Mesh &mesh) const =0

Private Attributes

Sundance::Map< int, CellSetcellSetCache_
std::string name_


Detailed Description

Base class for CellFilter objects.

Notes for subclass implementors

Derived classes must implement the methods

Definition at line 64 of file SundanceCellFilterBase.hpp.


Constructor & Destructor Documentation

CellFilterBase::CellFilterBase (  ) 

Empty ctor

Definition at line 42 of file SundanceCellFilterBase.cpp.

CellFilterBase::~CellFilterBase (  )  [virtual]

virtual dtor

Definition at line 46 of file SundanceCellFilterBase.cpp.


Member Function Documentation

virtual std::string Sundance::CellFilterBase::description (  )  const [inline, virtual]

virtual int Sundance::CellFilterBase::dimension ( const Mesh mesh  )  const [pure virtual]

Return the dimension of the cells that will be identified by this filter when acting on the given mesh

Implemented in Sundance::BinaryCellFilter, Sundance::DimensionalCellFilter, Sundance::MaximalCellFilter, Sundance::SideCellFilter, and Sundance::SubsetCellFilter.

Referenced by Sundance::CellFilter::dimension().

void CellFilterBase::flushCache (  )  const

empties the cache of the filter

Definition at line 61 of file SundanceCellFilterBase.cpp.

References cellSetCache_.

CellSet CellFilterBase::getCells ( const Mesh mesh  )  const

Find the cells passing this filter on the given mesh. This method will cache the cell sets it computes for each mesh

Definition at line 51 of file SundanceCellFilterBase.cpp.

References cellSetCache_, Sundance::Map< Key, Value, Compare >::containsKey(), Sundance::Map< Key, Value, Compare >::get(), Sundance::Mesh::id(), internalGetCells(), and Sundance::Map< Key, Value, Compare >::put().

Referenced by Sundance::CellFilter::getCells().

virtual CellSet Sundance::CellFilterBase::internalGetCells ( const Mesh mesh  )  const [protected, pure virtual]

const Set<CellFilter>& Sundance::CellFilterBase::knownDisjoints (  )  const

const Set<CellFilter>& Sundance::CellFilterBase::knownSubsets (  )  const

void Sundance::CellFilterBase::registerDisjoint ( const CellFilter sub  )  const

void Sundance::CellFilterBase::registerLabeledSubset ( int  label,
const CellFilter sub 
) const

void Sundance::CellFilterBase::registerSubset ( const CellFilter sub  )  const

void Sundance::CellFilterBase::setName ( const std::string &  name  )  [inline]

virtual std::string Sundance::CellFilterBase::toString (  )  const [inline, virtual]


Member Data Documentation

cache of previously computed cell sets

Definition at line 116 of file SundanceCellFilterBase.hpp.

Referenced by flushCache(), and getCells().

std::string Sundance::CellFilterBase::name_ [private]

Definition at line 119 of file SundanceCellFilterBase.hpp.

Referenced by setName(), and toString().

Site Contact