VPTissue Reference Manual
SimPT_Sim::Cell Class Reference

A cell contains walls and nodes. More...

#include <Cell.h>

Inheritance diagram for SimPT_Sim::Cell:
Inheritance graph
Collaboration diagram for SimPT_Sim::Cell:
Collaboration graph

Public Member Functions

void AddWall (Wall *w)
 
ptree GeometryToPtree () const
 Convert the cell geometry to a ptree.
 
double GetArea () const
 Return the area of the cell.
 
std::array< double, 3 > GetCentroid () const
 Return the centroid position.
 
double GetCircumference () const
 Return the circumference along the edges.
 
GeoData GetGeoData () const
 Return GeData (area, centroid, area moment of inertia).
 
int GetIndex () const
 Return the index.
 
const std::vector< Node * > & GetNodes () const
 Access the nodes of cell's polygon.
 
std::vector< Node * > & GetNodes ()
 Access the nodes of cell's polygon.
 
double GetSignedArea () const
 Return the signed area of the cell.
 
double GetSumTransporters (unsigned int ch) const
 Sum transporters at this cell's side of the walls.
 
const std::list< Wall * > & GetWalls () const
 Access the cell's walls.
 
std::list< Wall * > & GetWalls ()
 Access the cell's walls.
 
bool HasBoundaryWall () const
 
bool HasEdge (const Edge &edge) const
 
bool HasNeighborOfTypeZero () const
 
bool IsBoundaryPolygon () const
 
bool IsWallNeighbor (Cell *cell) const
 Strict neighbor (you're never your own neighbor)
 
void Move (const std::array< double, 3 > &a)
 Strict neighbor (you're never your own neighbor)
 
bool MoveSelfIntersects (Node *moving_node, std::array< double, 3 > new_pos)
 Check for self-intersection when moving_node gets displaced.
 
virtual std::ostream & Print (std::ostream &os) const
 
virtual void ReadPtree (const ptree &cell_pt)
 
void ReassignWall (Wall *w, Cell *to)
 
void SetGeoDirty ()
 
void SetTransporters (unsigned int chem, double conc)
 
void SetTransporters (unsigned int chem, double conc, double lat)
 
void SetTransportersLight (unsigned int chem, double conc, double lat)
 
virtual ptree ToPtree () const
 Convert the cell (geometry and attributes) to a ptree.
 
- Public Member Functions inherited from SimPT_Sim::CellAttributes
 CellAttributes (unsigned int chem_count)
 
BoundaryType GetBoundaryType () const
 
int GetCellType () const
 
double GetChemical (unsigned int c) const
 
std::vector< double > GetChemicals () const
 
int GetDivisionCounter ()
 
int GetDivisionTime ()
 
double GetSolute () const
 
double GetStiffness () const
 
double GetTargetArea () const
 
double GetTargetLength () const
 
void IncrementDivisionCounter ()
 
bool IsDead () const
 
bool IsFixed () const
 
virtual void ReadPtree (const boost::property_tree::ptree &cell_pt)
 
BoundaryType SetBoundaryType (BoundaryType b)
 
void SetCellType (int ct)
 
void SetChemical (unsigned int chem, double conc)
 
void SetChemicals (std::vector< double > const &chem)
 
void SetDead (bool dead)
 
void SetDivisionCounter (int div_counter)
 
void SetDivisionTime (double div_time)
 
void SetSolute (double s)
 
void SetStiffness (double stiffness)
 
void SetTargetArea (double a)
 
void SetTargetLength (double l)
 

Friends

class Mesh
 
class SimPT_Editor::EditableMesh
 
template<typename T , size_t N>
class SimPT_Sim::Container::SegmentedVector
 

Additional Inherited Members

- Protected Attributes inherited from SimPT_Sim::CellAttributes
BoundaryType m_boundary_type
 
int m_cell_type
 
std::vector< double > m_chem
 
bool m_dead
 For future use, when apoptosis gets set up.
 
int m_div_counter
 Keep track of divisions in the cell ancestry.
 
int m_div_time
 
bool m_fixed
 
double m_solute
 
double m_stiffness
 Stiffness like in Hogeweg (2000).
 
double m_target_area
 
double m_target_length
 

Detailed Description

A cell contains walls and nodes.

The nodes should be ordered in counter-clockwise order. The cell id is an unsigned integer, except for the boundary polygon, which has an id of -1.

Definition at line 48 of file Cell.h.


The documentation for this class was generated from the following files: