Chaste  Release::2018.1
AbstractCaBasedDivisionRule< DIM > Class Template Referenceabstract

#include <AbstractCaBasedDivisionRule.hpp>

+ Inheritance diagram for AbstractCaBasedDivisionRule< DIM >:
+ Collaboration diagram for AbstractCaBasedDivisionRule< DIM >:

Public Member Functions

 AbstractCaBasedDivisionRule ()
 
virtual ~AbstractCaBasedDivisionRule ()
 
virtual bool IsRoomToDivide (CellPtr pParentCell, CaBasedCellPopulation< SPACE_DIM > &rCellPopulation)=0
 
virtual unsigned CalculateDaughterNodeIndex (CellPtr pNewCell, CellPtr pParentCell, CaBasedCellPopulation< SPACE_DIM > &rCellPopulation)=0
 
void OutputCellCaBasedDivisionRuleInfo (out_stream &rParamsFile)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 

Protected Member Functions

virtual void OutputCellCaBasedDivisionRuleParameters (out_stream &rParamsFile)
 

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
 

Friends

class boost::serialization::access
 

Detailed Description

template<unsigned DIM>
class AbstractCaBasedDivisionRule< DIM >

An abstract cell division rule for use in CA-based simulations.

The purpose of this class is to define how cells are added to the mesh

i.e it allows you to move cells out of the way if necessary

Definition at line 49 of file CaBasedCellPopulation.hpp.

Constructor & Destructor Documentation

template<unsigned DIM>
AbstractCaBasedDivisionRule< DIM >::AbstractCaBasedDivisionRule ( )

Default constructor.

template<unsigned DIM>
virtual AbstractCaBasedDivisionRule< DIM >::~AbstractCaBasedDivisionRule ( )
virtual

Empty destructor.

Member Function Documentation

template<unsigned DIM>
virtual unsigned AbstractCaBasedDivisionRule< DIM >::CalculateDaughterNodeIndex ( CellPtr  pNewCell,
CellPtr  pParentCell,
CaBasedCellPopulation< SPACE_DIM > &  rCellPopulation 
)
pure virtual

Return the index for the Daughter node. This method can be used to move cells out of the way as necessary.

As this method is pure virtual, it must be overridden in subclasses.

Parameters
pNewCellThe cell to new cell
pParentCellThe parent cell
rCellPopulationThe CA-based cell population
Returns
the node index for the daughter cell.

Implemented in ShovingCaBasedDivisionRule< SPACE_DIM >, and ExclusionCaBasedDivisionRule< SPACE_DIM >.

template<unsigned DIM>
virtual bool AbstractCaBasedDivisionRule< DIM >::IsRoomToDivide ( CellPtr  pParentCell,
CaBasedCellPopulation< SPACE_DIM > &  rCellPopulation 
)
pure virtual

Return whether there is room to divide at all.

As this method is pure virtual, it must be overridden in subclasses.

Parameters
pParentCellThe cell to divide
rCellPopulationThe CA-based cell population
Returns
if the site is available.

Implemented in ShovingCaBasedDivisionRule< SPACE_DIM >, and ExclusionCaBasedDivisionRule< SPACE_DIM >.

template<unsigned DIM>
void AbstractCaBasedDivisionRule< DIM >::OutputCellCaBasedDivisionRuleInfo ( out_stream &  rParamsFile)

Output the name of the concrete class and call OutputCellCaBasedDivisionRuleParameters().

Parameters
rParamsFileThe stream of the parameter file
template<unsigned DIM>
virtual void AbstractCaBasedDivisionRule< DIM >::OutputCellCaBasedDivisionRuleParameters ( out_stream &  rParamsFile)
protectedvirtual

Output any parameters associated with the division rule. Currently empty since this class has no member variables. Should be overridden by any child classes that have parameters.

Parameters
rParamsFileThe stream of the parameter file

Referenced by AbstractCaBasedDivisionRule< SPACE_DIM >::OutputCellCaBasedDivisionRuleInfo().

template<unsigned DIM>
template<class Archive >
void AbstractCaBasedDivisionRule< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Serialize the object and its member variables.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 67 of file AbstractCaBasedDivisionRule.hpp.


The documentation for this class was generated from the following files: