Chaste Commit::1fd4e48e3990e67db148bc1bc4cf6991a0049d0c
|
#include <CellPropertyRegistry.hpp>
Public Member Functions | |
template<class SUBCLASS > | |
boost::shared_ptr< AbstractCellProperty > | Get () |
const std::vector< boost::shared_ptr< AbstractCellProperty > > & | rGetAllCellProperties () |
void | Clear () |
CellPropertyRegistry * | TakeOwnership () |
void | SpecifyOrdering (const std::vector< boost::shared_ptr< AbstractCellProperty > > &rOrdering) |
bool | HasOrderingBeenSpecified () |
Static Public Member Functions | |
static CellPropertyRegistry * | Instance () |
Private Member Functions | |
CellPropertyRegistry () | |
CellPropertyRegistry (const CellPropertyRegistry &) | |
CellPropertyRegistry & | operator= (const CellPropertyRegistry &) |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Private Attributes | |
std::vector< boost::shared_ptr< AbstractCellProperty > > | mCellProperties |
bool | mOrderingHasBeenSpecified |
Static Private Attributes | |
static CellPropertyRegistry * | mpInstance = nullptr |
Friends | |
class | boost::serialization::access |
A singleton registry of available cell properties.
Definition at line 51 of file CellPropertyRegistry.hpp.
|
private |
Default constructor.
Definition at line 63 of file CellPropertyRegistry.cpp.
Referenced by Instance().
|
private |
Copy constructor.
void CellPropertyRegistry::Clear | ( | ) |
Clear all registered cell properties.
Definition at line 57 of file CellPropertyRegistry.cpp.
References mCellProperties, and mOrderingHasBeenSpecified.
Referenced by CellsGenerator< CELL_CYCLE_MODEL, DIM >::GenerateGivenLocationIndices(), and AbstractCellBasedTestSuite::tearDown().
boost::shared_ptr< AbstractCellProperty > CellPropertyRegistry::Get | ( | ) |
The main interface to this class.
Definition at line 153 of file CellPropertyRegistry.hpp.
References Get(), and mCellProperties.
Referenced by Get(), serialize(), SpecifyOrdering(), and Cell::StartApoptosis().
bool CellPropertyRegistry::HasOrderingBeenSpecified | ( | ) |
Definition at line 96 of file CellPropertyRegistry.cpp.
References mOrderingHasBeenSpecified.
|
static |
Definition at line 43 of file CellPropertyRegistry.cpp.
References CellPropertyRegistry(), and mpInstance.
Referenced by Cell::Cell(), CryptCellsGenerator< CELL_CYCLE_MODEL >::Generate(), CellsGenerator< CELL_CYCLE_MODEL, DIM >::GenerateBasic(), CellsGenerator< CELL_CYCLE_MODEL, DIM >::GenerateBasicRandom(), CellsGenerator< CELL_CYCLE_MODEL, DIM >::GenerateGivenLocationIndices(), ParallelCellsGenerator< CELL_CYCLE_MODEL, DIM >::GenerateParallelCells(), CellPropertyCollection::GetCellPropertyRegistry(), and AbstractCellBasedTestSuite::tearDown().
|
private |
Overloaded assignment operator.
const std::vector< boost::shared_ptr< AbstractCellProperty > > & CellPropertyRegistry::rGetAllCellProperties | ( | ) |
Definition at line 52 of file CellPropertyRegistry.cpp.
References mCellProperties.
|
inlineprivate |
Archive the member variables.
archive | the archive |
version | the current version of this class |
Definition at line 145 of file CellPropertyRegistry.hpp.
References Get(), mCellProperties, and mOrderingHasBeenSpecified.
void CellPropertyRegistry::SpecifyOrdering | ( | const std::vector< boost::shared_ptr< AbstractCellProperty > > & | rOrdering | ) |
Specify the ordering in which cell properties should be returned by rGetAllCellProperties(). The provided ordering must include all cell properties in the registry. Once an ordering has been specified, attempts to get a cell property which is not in the ordering will throw an exception.
rOrdering | vector of cell properties in the desired order |
Definition at line 74 of file CellPropertyRegistry.cpp.
References EXCEPTION, Get(), mCellProperties, and mOrderingHasBeenSpecified.
CellPropertyRegistry * CellPropertyRegistry::TakeOwnership | ( | ) |
Take ownership of the current registry. Calling Instance after this will create a new registry. The caller takes responsibility for freeing the returned registry when finished with it.
This method is intended for use by CellBasedSimulation, so that we can have multiple concurrent simulations, each with their own registry.
Definition at line 68 of file CellPropertyRegistry.cpp.
References mpInstance.
Needed for serialization.
Definition at line 137 of file CellPropertyRegistry.hpp.
|
private |
The cell properties in the registry.
Definition at line 131 of file CellPropertyRegistry.hpp.
Referenced by Clear(), Get(), rGetAllCellProperties(), serialize(), and SpecifyOrdering().
|
private |
Whether an ordering has been set up
Definition at line 134 of file CellPropertyRegistry.hpp.
Referenced by Clear(), HasOrderingBeenSpecified(), serialize(), and SpecifyOrdering().
|
staticprivate |
A pointer to the singleton instance of this class.
Definition at line 126 of file CellPropertyRegistry.hpp.
Referenced by Instance(), and TakeOwnership().