36 #include "RandomDirectionCentreBasedDivisionRule.hpp"
37 #include "RandomNumberGenerator.hpp"
39 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
48 c_vector<double, SPACE_DIM> random_vector;
61 random_vector(0) = 0.5*separation*random_direction;
68 random_vector(0) = 0.5*separation*cos(random_angle);
69 random_vector(1) = 0.5*separation*sin(random_angle);
83 double random_azimuth_angle = 2*M_PI*u;
84 double random_zenith_angle = std::acos(2*v - 1);
86 random_vector(0) = 0.5*separation*cos(random_azimuth_angle)*sin(random_zenith_angle);
87 random_vector(1) = 0.5*separation*sin(random_azimuth_angle)*sin(random_zenith_angle);
88 random_vector(2) = 0.5*separation*cos(random_zenith_angle);
96 c_vector<double, SPACE_DIM> parent_position = rCellPopulation.
GetLocationOfCellCentre(pParentCell) - random_vector;
97 c_vector<double, SPACE_DIM> daughter_position = parent_position + random_vector;
99 std::pair<c_vector<double, SPACE_DIM>, c_vector<double, SPACE_DIM> > positions(parent_position, daughter_position);
double GetMeinekeDivisionSeparation()
virtual std::pair< c_vector< double, SPACE_DIM >, c_vector< double, SPACE_DIM > > CalculateCellDivisionVector(CellPtr pParentCell, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation)
static RandomNumberGenerator * Instance()
#define EXPORT_TEMPLATE_CLASS_ALL_DIMS(CLASS)
c_vector< double, SPACE_DIM > GetLocationOfCellCentre(CellPtr pCell)