Public Member Functions | Protected Member Functions | Private Attributes
Sundance::CellFilterBase Class Reference

Base class for CellFilter objects. More...

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 ()
 Empty ctor.
virtual ~CellFilterBase ()
 virtual dtor
CellSet getCells (const Mesh &mesh) const
 Find the cells passing this filter on the given mesh.
virtual int dimension (const Mesh &mesh) const =0
 Return the dimension of the cells that will be identified by this filter when acting on the given mesh.
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
 Print to a stream.
void setName (const std::string &name)

Protected Member Functions

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

Private Attributes

Sundance::Map< int, CellSetcellSetCache_
 cache of previously computed cell sets
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().

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 113 of file SundanceCellFilterBase.hpp.

Referenced by getCells().

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

Definition at line 116 of file SundanceCellFilterBase.hpp.

Referenced by setName(), and toString().

Site Contact