36 #ifndef OFFLATTICESIMULATION_HPP_
37 #define OFFLATTICESIMULATION_HPP_
39 #include "AbstractCellBasedSimulation.hpp"
40 #include "AbstractForce.hpp"
41 #include "AbstractCellPopulationBoundaryCondition.hpp"
44 #include <boost/serialization/base_object.hpp>
45 #include <boost/serialization/set.hpp>
46 #include <boost/serialization/vector.hpp>
68 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM=ELEMENT_DIM>
74 friend class boost::serialization::access;
75 friend class TestOffLatticeSimulationWithNodeBasedCellPopulation;
83 template<
class Archive>
84 void serialize(Archive & archive,
const unsigned int version)
86 archive & boost::serialization::base_object<AbstractCellBasedSimulation<ELEMENT_DIM,SPACE_DIM> >(*this);
94 std::vector<boost::shared_ptr<AbstractForce<ELEMENT_DIM, SPACE_DIM> > >
mForceCollection;
97 std::vector<boost::shared_ptr<AbstractCellPopulationBoundaryCondition<ELEMENT_DIM,SPACE_DIM> > >
mBoundaryConditions;
155 bool deleteCellPopulationInDestructor=
false,
156 bool initialiseCells=
true);
207 namespace serialization
212 template<
class Archive,
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
213 inline void save_construct_data(
218 ar & p_cell_population;
224 template<
class Archive,
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
225 inline void load_construct_data(
230 ar >> p_cell_population;
void OutputAdditionalSimulationSetup(out_stream &rParamsFile)
virtual void WriteVisualizerSetupFile()
virtual void SetupSolve()
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > & rGetCellPopulation()
std::vector< boost::shared_ptr< AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM > > > mBoundaryConditions
void serialize(Archive &archive, const unsigned int version)
void AddForce(boost::shared_ptr< AbstractForce< ELEMENT_DIM, SPACE_DIM > > pForce)
void RemoveAllCellPopulationBoundaryConditions()
virtual void UpdateNodePositions()
#define EXPORT_TEMPLATE_CLASS_ALL_DIMS(CLASS)
std::vector< boost::shared_ptr< AbstractForce< ELEMENT_DIM, SPACE_DIM > > > mForceCollection
virtual c_vector< double, SPACE_DIM > CalculateCellDivisionVector(CellPtr pParentCell)
OffLatticeSimulation(AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation, bool deleteCellPopulationInDestructor=false, bool initialiseCells=true)
virtual void OutputSimulationParameters(out_stream &rParamsFile)
virtual void UpdateCellLocationsAndTopology()
void AddCellPopulationBoundaryCondition(boost::shared_ptr< AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM > > pBoundaryCondition)