VPTissue Reference Manual
CellAttributes.h
Go to the documentation of this file.
1 #ifndef CELL_ATTRIBUTES_H_
2 #define CELL_ATTRIBUTES_H_
3 /*
4  * Copyright 2011-2016 Universiteit Antwerpen
5  *
6  * Licensed under the EUPL, Version 1.1 or as soon they will be approved by
7  * the European Commission - subsequent versions of the EUPL (the "Licence");
8  * You may not use this work except in compliance with the Licence.
9  * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl5
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the Licence is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the Licence for the specific language governing
15  * permissions and limitations under the Licence.
16  */
22 #include "bio/Wall.h"
23 #include "bio/BoundaryType.h"
24 
25 #include <iosfwd>
26 #include <vector>
27 
28 namespace SimPT_Sim {
29 
30 class Mesh;
31 class Node;
32 
37 {
38 public:
40  CellAttributes(unsigned int chem_count);
41 
43  virtual ~CellAttributes() {};
44 
46  BoundaryType GetBoundaryType() const { return m_boundary_type; }
47 
49  int GetCellType() const { return m_cell_type; }
50 
52  double GetChemical(unsigned int c) const;
53 
55  std::vector<double> GetChemicals() const { return m_chem; }
56 
58  bool IsDead() const { return m_dead; }
59 
61  int GetDivisionCounter() { return m_div_counter; }
62 
64  int GetDivisionTime() { return m_div_time; }
65 
67  double GetSolute() const { return m_solute; }
68 
70  double GetStiffness() const { return m_stiffness; }
71 
73  double GetTargetArea() const { return m_target_area; }
74 
76  double GetTargetLength() const { return m_target_length; }
77 
79  void IncrementDivisionCounter() { ++m_div_counter; }
80 
82  bool IsFixed() const { return m_fixed; }
83 
85  virtual std::ostream& Print(std::ostream& os) const;
86 
88  virtual void ReadPtree(const boost::property_tree::ptree& cell_pt);
89 
91  BoundaryType SetBoundaryType(BoundaryType b) { return m_boundary_type = b; }
92 
94  void SetCellType(int ct) { m_cell_type = ct; }
95 
97  void SetChemical(unsigned int chem, double conc);
98 
100  void SetChemicals(std::vector<double> const& chem);
101 
103  void SetDead(bool dead) { m_dead = dead; }
104 
106  void SetDivisionCounter(int div_counter) { m_div_counter = div_counter; }
107 
109  void SetDivisionTime(double div_time) { m_div_time = div_time; }
110 
112  void SetSolute(double s) { m_solute = s; }
113 
115  void SetStiffness(double stiffness) { m_stiffness = stiffness; }
116 
118  void SetTargetArea(double a) { m_target_area = a; }
119 
121  void SetTargetLength(double l) { m_target_length = l; }
122 
139  virtual boost::property_tree::ptree ToPtree() const;
140 
141 protected:
142  BoundaryType m_boundary_type;
143  int m_cell_type;
144  std::vector<double> m_chem;
145  bool m_dead;
147  int m_div_time;
148  bool m_fixed;
149  double m_solute;
150  double m_stiffness;
151  double m_target_area;
152  double m_target_length;
153 };
154 
155 std::ostream& operator<<(std::ostream& os, CellAttributes const& v);
156 
157 } // namespace
158 
159 #endif // end_of_include_guard
double m_stiffness
Stiffness like in Hogeweg (2000).
bool m_dead
For future use, when apoptosis gets set up.
Namespace for the core simulator.
int m_div_counter
Keep track of divisions in the cell ancestry.
BoundaryType
Enumerates cell boundary types.
Definition: BoundaryType.h:34
BoundaryType enumeration class.
virtual boost::property_tree::ptree ToPtree() const
Convert the cell attributes to a ptree.
Attributes of Cell.
Interface for Wall.