VPTissue Reference Manual
cell_split/Geometric.h
Go to the documentation of this file.
1 #ifndef DEFAULT_CELL_SPLIT_GEOMETRIC_H_INCLUDED
2 #define DEFAULT_CELL_SPLIT_GEOMETRIC_H_INCLUDED
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 <array>
23 #include <functional>
24 #include <tuple>
25 
26 namespace SimPT_Sim {
27 class Cell;
28 struct CoreData;
29 }
30 
31 namespace SimPT_Default {
32 namespace CellSplit {
33 
34 using namespace SimPT_Sim;
35 
39 class Geometric
40 {
41 public:
43  Geometric(const CoreData& cd);
44 
46  void Initialize(const CoreData& cd);
47 
49  std::tuple<bool, bool, std::array<double, 3>> operator()(Cell* cell);
50 
51 private:
52  double m_cell_base_area;
53  double m_division_ratio;
54  bool m_fixed_division_axis;
55  std::function<double()> m_uniform_generator;
56 
57 private:
58  double m_div_area;
59 };
60 
61 } // namespace
62 } // namespace
63 
64 #endif // end_of_include_guard
Core data with mesh, parameters, random engine and time data.
Definition: CoreData.h:38
A cell contains walls and nodes.
Definition: Cell.h:48
Namespace for components of the Default model group.
Namespace for the core simulator.
Geometry based cell splitting.