Chaste Release::3.1
|
#include <CellPropertyCollection.hpp>
Public Types | |
typedef CollectionType::iterator | Iterator |
Public Member Functions | |
CellPropertyCollection () | |
void | AddProperty (const boost::shared_ptr< AbstractCellProperty > &rProp) |
CellPropertyRegistry * | GetCellPropertyRegistry () |
void | SetCellPropertyRegistry (CellPropertyRegistry *pRegistry) |
bool | HasProperty (const boost::shared_ptr< AbstractCellProperty > &rProp) const |
template<typename CLASS > | |
bool | HasProperty () const |
template<typename BASECLASS > | |
bool | HasPropertyType () const |
template<typename CLASS > | |
void | RemoveProperty () |
void | RemoveProperty (const boost::shared_ptr< AbstractCellProperty > &rProp) |
unsigned | GetSize () const |
Iterator | Begin () |
Iterator | End () |
boost::shared_ptr < AbstractCellProperty > | GetProperty () const |
template<typename CLASS > | |
CellPropertyCollection | GetProperties () const |
template<typename BASECLASS > | |
CellPropertyCollection | GetPropertiesType () const |
Private Types | |
typedef std::set < boost::shared_ptr < AbstractCellProperty > > | CollectionType |
typedef CollectionType::const_iterator | ConstIteratorType |
typedef CollectionType::iterator | IteratorType |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Private Attributes | |
CollectionType | mProperties |
CellPropertyRegistry * | mpCellPropertyRegistry |
Friends | |
class | boost::serialization::access |
Cell property collection class.
Contains methods for accessing and interrogating a set of cell properties.
Definition at line 55 of file CellPropertyCollection.hpp.
typedef std::set<boost::shared_ptr<AbstractCellProperty> > CellPropertyCollection::CollectionType [private] |
The type of container used to store properties
Definition at line 59 of file CellPropertyCollection.hpp.
typedef CollectionType::const_iterator CellPropertyCollection::ConstIteratorType [private] |
Type of a const iterator over the container
Definition at line 62 of file CellPropertyCollection.hpp.
typedef CollectionType::iterator CellPropertyCollection::Iterator |
An iterator type over this collection. Don't rely on the particular implementation of the iterator.
Definition at line 191 of file CellPropertyCollection.hpp.
typedef CollectionType::iterator CellPropertyCollection::IteratorType [private] |
Type of an iterator over the container
Definition at line 65 of file CellPropertyCollection.hpp.
CellPropertyCollection::CellPropertyCollection | ( | ) |
Create an empty collection of cell properties.
Definition at line 38 of file CellPropertyCollection.cpp.
void CellPropertyCollection::AddProperty | ( | const boost::shared_ptr< AbstractCellProperty > & | rProp | ) |
Add a new property to this collection.
rProp | the property to add |
Definition at line 61 of file CellPropertyCollection.cpp.
References EXCEPTION, HasProperty(), and mProperties.
Referenced by Cell::AddCellProperty(), Cell::Cell(), Cell::Divide(), GetProperties(), and GetPropertiesType().
CellPropertyCollection::Iterator CellPropertyCollection::Begin | ( | ) |
Get an Iterator to the start of this collection.
Definition at line 93 of file CellPropertyCollection.cpp.
References mProperties.
Referenced by Cell::Cell(), Cell::Kill(), and Cell::RemoveCellProperty().
CellPropertyCollection::Iterator CellPropertyCollection::End | ( | ) |
Get an Iterator to one past the end of this collection.
Definition at line 98 of file CellPropertyCollection.cpp.
References mProperties.
Referenced by Cell::Cell(), Cell::Kill(), and Cell::RemoveCellProperty().
CellPropertyRegistry * CellPropertyCollection::GetCellPropertyRegistry | ( | ) |
Definition at line 43 of file CellPropertyCollection.cpp.
References CellPropertyRegistry::Instance(), and mpCellPropertyRegistry.
Referenced by Cell::StartApoptosis().
CellPropertyCollection CellPropertyCollection::GetProperties | ( | ) | const [inline] |
Get a sub-collection containing all our properties that are instances of the given class.
Definition at line 214 of file CellPropertyCollection.hpp.
References AddProperty(), and mProperties.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GenerateCellResults(), PottsBasedCellPopulation< DIM >::WriteVtkResultsToFile(), and NodeBasedCellPopulation< DIM >::WriteVtkResultsToFile().
CellPropertyCollection CellPropertyCollection::GetPropertiesType | ( | ) | const [inline] |
Get a sub-collection containing all our properties that are instances of the given class or any of its subclasses.
Definition at line 232 of file CellPropertyCollection.hpp.
References AddProperty(), and mProperties.
Referenced by Cell::GetAncestor(), Cell::GetCellData(), Cell::GetCellId(), Cell::GetMutationState(), and Cell::SetAncestor().
boost::shared_ptr< AbstractCellProperty > CellPropertyCollection::GetProperty | ( | ) | const |
If this collection contains a single property, then return it. Otherwise, throws an exception.
Definition at line 103 of file CellPropertyCollection.cpp.
References EXCEPTION, GetSize(), and mProperties.
Referenced by AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GenerateCellResults(), Cell::GetAncestor(), Cell::GetCellData(), Cell::GetCellId(), Cell::GetMutationState(), PottsBasedCellPopulation< DIM >::WriteVtkResultsToFile(), and NodeBasedCellPopulation< DIM >::WriteVtkResultsToFile().
unsigned CellPropertyCollection::GetSize | ( | ) | const |
Get the size of this container.
Definition at line 88 of file CellPropertyCollection.cpp.
References mProperties.
Referenced by Cell::GetAncestor(), Cell::GetCellData(), Cell::GetCellId(), Cell::GetMutationState(), GetProperty(), Cell::SetAncestor(), and NodeBasedCellPopulation< DIM >::WriteVtkResultsToFile().
bool CellPropertyCollection::HasProperty | ( | const boost::shared_ptr< AbstractCellProperty > & | rProp | ) | const |
Test whether this collection contains the given property object.
rProp | the property to compare against |
Definition at line 70 of file CellPropertyCollection.cpp.
References mProperties.
Referenced by Cell::AddCellProperty(), Cell::Cell(), and Cell::HasCellProperty().
bool CellPropertyCollection::HasProperty | ( | ) | const [inline] |
Test whether the collection contains a property that has the exact type CLASS.
Should be used like bool healthy = collection.HasProperty<WildTypeCellMutationState>();
Definition at line 127 of file CellPropertyCollection.hpp.
References mProperties.
Referenced by AddProperty().
bool CellPropertyCollection::HasPropertyType | ( | ) | const [inline] |
Test whether the collection contains a property that inherits from BASECLASS.
Should be used like collection.HasPropertyType<AbstractCellMutationState>();
Definition at line 146 of file CellPropertyCollection.hpp.
References mProperties.
Referenced by Cell::Cell(), and Cell::Divide().
void CellPropertyCollection::RemoveProperty | ( | const boost::shared_ptr< AbstractCellProperty > & | rProp | ) |
Remove the given property from this collection.
rProp | the property to remove |
Definition at line 75 of file CellPropertyCollection.cpp.
References EXCEPTION, and mProperties.
void CellPropertyCollection::RemoveProperty | ( | ) | [inline] |
Remove a property of the given type.
Definition at line 162 of file CellPropertyCollection.hpp.
References EXCEPTION, and mProperties.
Referenced by Cell::Divide(), Cell::RemoveCellProperty(), and Cell::SetMutationState().
void CellPropertyCollection::serialize | ( | Archive & | archive, |
const unsigned int | version | ||
) | [inline, private] |
We don't have any member variables yet, but let's make things easy for the future.
archive | the archive |
version | the current version of this class |
Definition at line 82 of file CellPropertyCollection.hpp.
References mProperties.
void CellPropertyCollection::SetCellPropertyRegistry | ( | CellPropertyRegistry * | pRegistry | ) |
Set the CellPropertyRegistry for this cell
pRegistry | The cell property registry (assigned in the AbstractCellPopulation constructor). |
Definition at line 56 of file CellPropertyCollection.cpp.
References mpCellPropertyRegistry.
friend class boost::serialization::access [friend] |
Needed for serialization.
Definition at line 74 of file CellPropertyCollection.hpp.
Cell property registry.
Definition at line 71 of file CellPropertyCollection.hpp.
Referenced by GetCellPropertyRegistry(), and SetCellPropertyRegistry().
The properties stored in this collection.
Definition at line 68 of file CellPropertyCollection.hpp.
Referenced by AddProperty(), Begin(), End(), GetProperties(), GetPropertiesType(), GetProperty(), GetSize(), HasProperty(), HasPropertyType(), RemoveProperty(), and serialize().