VPTissue Reference Manual
cell_color/Blad.cpp
Go to the documentation of this file.
1 /*
2  * Copyright 2011-2016 Universiteit Antwerpen
3  *
4  * Licensed under the EUPL, Version 1.1 or as soon they will be approved by
5  * the European Commission - subsequent versions of the EUPL (the "Licence");
6  * You may not use this work except in compliance with the Licence.
7  * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl5
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the Licence is distributed on an "AS IS" basis,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the Licence for the specific language governing
13  * permissions and limitations under the Licence.
14  */
20 #include "Blad.h"
21 
22 #include "bio/Cell.h"
23 
24 #include <boost/property_tree/ptree.hpp>
25 
26 namespace SimPT_Blad {
27 namespace CellColor {
28 
29 using namespace std;
30 
31 Blad::Blad(const boost::property_tree::ptree& )
32 {
33 }
34 
35 array<double, 3> Blad::operator()(SimPT_Sim::Cell* cell)
36 {
37  const double c1 = (cell->GetChemicals().size() >= 2) ? cell->GetChemical(1) / cell->GetArea() : 0.0;
38  return (c1 <= 0.5) ? array<double, 3> {{ 1.0, 1.0, 1.0}} : array<double, 3> {{1.0, c1 / (5. + c1 ), 0.0 }};
39 }
40 
41 } // namespace
42 } // namespace
43 
44 
45 
Namespace for components of the Blad model group.
STL namespace.
A cell contains walls and nodes.
Definition: Cell.h:48
Blad(const boost::property_tree::ptree &pt)
Straight initialization.
CellColor for Blad model.
Interface for Cell.
std::array< double, 3 > operator()(SimPT_Sim::Cell *cell)
Return color value.
double GetArea() const
Return the area of the cell.
Definition: Cell.cpp:178