36 #ifndef ANGIOGENESISSOLVER_HPP_ 37 #define ANGIOGENESISSOLVER_HPP_ 41 #include "SmartPointers.hpp" 42 #include "VesselNetwork.hpp" 44 #include "RegularGrid.hpp" 45 #include "AbstractSproutingRule.hpp" 46 #include "AbstractMigrationRule.hpp" 47 #include "AbstractCellPopulation.hpp" 52 template<
unsigned DIM>
108 std::map<boost::shared_ptr<Cell> , boost::shared_ptr<VesselNode<DIM> > >
mCellNodeMap;
126 static boost::shared_ptr<AngiogenesisSolver<DIM> >
Create();
143 void Run(
bool writeOutput =
false);
161 void SetCellPopulation(boost::shared_ptr<AbstractCellPopulation<DIM> > pCellPopulation, units::quantity<unit::length> cellPopulationReferenceLength);
void SetMigrationRule(boost::shared_ptr< AbstractMigrationRule< DIM > > pMigrationRule)
void SetAnastamosisRadius(units::quantity< unit::length > radius)
std::map< boost::shared_ptr< Cell >, boost::shared_ptr< VesselNode< DIM > > > mCellNodeMap
void SetVesselGrid(boost::shared_ptr< RegularGrid< DIM > >pVesselGrid)
void SetCellPopulation(boost::shared_ptr< AbstractCellPopulation< DIM > > pCellPopulation, units::quantity< unit::length > cellPopulationReferenceLength)
void SetSproutingRule(boost::shared_ptr< AbstractSproutingRule< DIM > > pSproutingRule)
boost::shared_ptr< AbstractMigrationRule< DIM > > mpMigrationRule
virtual void DoAnastamosis()
virtual void UpdateNodalPositions(bool sprouting=false)
virtual void DoSprouting()
void SetOutputFileHandler(boost::shared_ptr< OutputFileHandler > pHandler)
units::quantity< unit::length > mCellPopulationReferenceLength
boost::shared_ptr< OutputFileHandler > mpFileHandler
units::quantity< unit::length > mNodeAnastamosisRadius
static boost::shared_ptr< AngiogenesisSolver< DIM > > Create()
boost::shared_ptr< AbstractCellPopulation< DIM > > mpCellPopulation
std::vector< boost::shared_ptr< Cell > > mTipCells
boost::shared_ptr< Part< DIM > > mpBoundingDomain
void SetVesselNetwork(boost::shared_ptr< VesselNetwork< DIM > > pNetwork)
boost::shared_ptr< VesselNetwork< DIM > > mpNetwork
virtual ~AngiogenesisSolver()
void Run(bool writeOutput=false)
boost::shared_ptr< RegularGrid< DIM > > mpVesselGrid
void SetBoundingDomain(boost::shared_ptr< Part< DIM > > pDomain)
bool IsSproutingRuleSet()
boost::shared_ptr< AbstractSproutingRule< DIM > > mpSproutingRule