36 #include "PlaneBasedCellKiller.hpp"
38 template<
unsigned DIM>
40 c_vector<double, DIM> point,
41 c_vector<double, DIM> normal)
45 assert(norm_2(normal) > 0.0);
49 template<
unsigned DIM>
55 template<
unsigned DIM>
58 return mNormalToPlane;
61 template<
unsigned DIM>
65 cell_iter != this->mpCellPopulation->End();
68 c_vector<double, DIM> cell_location = this->mpCellPopulation->GetLocationOfCellCentre(*cell_iter);
70 if (inner_prod(cell_location - mPointOnPlane, mNormalToPlane) > 0.0)
77 template<
unsigned DIM>
80 *rParamsFile <<
"\t\t\t<PointOnPlane>";
81 for (
unsigned index=0; index != DIM-1U; index++)
83 *rParamsFile << mPointOnPlane[index] <<
",";
85 *rParamsFile << mPointOnPlane[DIM-1] <<
"</PointOnPlane>\n";
87 *rParamsFile <<
"\t\t\t<NormalToPlane>";
88 for (
unsigned index=0; index != DIM-1U; index++)
90 *rParamsFile << mNormalToPlane[index] <<
",";
92 *rParamsFile << mNormalToPlane[DIM-1] <<
"</NormalToPlane>\n";
virtual void CheckAndLabelCellsForApoptosisOrDeath()
const c_vector< double, DIM > & rGetPointOnPlane() const
PlaneBasedCellKiller(AbstractCellPopulation< DIM > *pCellPopulation, c_vector< double, DIM > point, c_vector< double, DIM > normal)
#define EXPORT_TEMPLATE_CLASS_SAME_DIMS(CLASS)
void OutputCellKillerParameters(out_stream &rParamsFile)
virtual void OutputCellKillerParameters(out_stream &rParamsFile)=0
const c_vector< double, DIM > & rGetNormalToPlane() const
c_vector< double, DIM > mNormalToPlane