36 #ifndef ABSTRACTCENTREBASEDCELLPOPULATION_HPP_
37 #define ABSTRACTCENTREBASEDCELLPOPULATION_HPP_
39 #include "AbstractOffLatticeCellPopulation.hpp"
45 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM=ELEMENT_DIM>
50 friend class boost::serialization::access;
57 template<
class Archive>
58 void serialize(Archive & archive,
const unsigned int version)
60 archive & boost::serialization::base_object<AbstractOffLatticeCellPopulation<ELEMENT_DIM, SPACE_DIM> >(*this);
113 std::vector<CellPtr>& rCells,
114 const std::vector<unsigned> locationIndices=std::vector<unsigned>());
144 CellPtr
AddCell(CellPtr pNewCell,
const c_vector<double,SPACE_DIM>& rCellDivisionVector, CellPtr pParentCell=CellPtr());
155 std::pair<CellPtr,CellPtr>
CreateCellPair(CellPtr pCell1, CellPtr pCell2);
169 void MarkSpring(std::pair<CellPtr,CellPtr>& rCellPair);
176 void UnmarkSpring(std::pair<CellPtr,CellPtr>& rCellPair);
virtual void WriteVtkResultsToFile(const std::string &rDirectory)=0
void UnmarkSpring(std::pair< CellPtr, CellPtr > &rCellPair)
virtual void AcceptCellWritersAcrossPopulation()
void serialize(Archive &archive, const unsigned int version)
bool IsCellAssociatedWithADeletedLocation(CellPtr pCell)
virtual bool IsParticle(unsigned index)
double GetMeinekeDivisionSeparation()
std::pair< CellPtr, CellPtr > CreateCellPair(CellPtr pCell1, CellPtr pCell2)
virtual std::vector< std::pair< Node< SPACE_DIM > *, Node< SPACE_DIM > * > > & rGetNodePairs()=0
virtual bool IsGhostNode(unsigned index)
virtual void OutputCellPopulationParameters(out_stream &rParamsFile)
double mMeinekeDivisionSeparation
virtual std::set< unsigned > GetNeighbouringLocationIndices(CellPtr pCell)
AbstractCentreBasedCellPopulation(AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh)
Node< SPACE_DIM > * GetNodeCorrespondingToCell(CellPtr pCell)
void MarkSpring(std::pair< CellPtr, CellPtr > &rCellPair)
bool IsMarkedSpring(const std::pair< CellPtr, CellPtr > &rCellPair)
CellPtr AddCell(CellPtr pNewCell, const c_vector< double, SPACE_DIM > &rCellDivisionVector, CellPtr pParentCell=CellPtr())
virtual void UpdateNodeLocations(double dt)
void SetMeinekeDivisionSeparation(double divisionSeparation)
virtual double GetDampingConstant(unsigned nodeIndex)
c_vector< double, SPACE_DIM > GetLocationOfCellCentre(CellPtr pCell)
std::set< std::pair< CellPtr, CellPtr > > mMarkedSprings