VPTissue Reference Manual
PtreeTissueBuilder.h
Go to the documentation of this file.
1 #ifndef PTREE_TISSUE_BUILDER_H_INCLUDED
2 #define PTREE_TISSUE_BUILDER_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 <boost/property_tree/ptree.hpp>
23 #include <memory>
24 
25 namespace SimPT_Sim {
26 
27 class AttributeStore;
28 class Mesh;
29 class Tissue;
30 
35 {
36 public:
41  Tissue Build(const boost::property_tree::ptree& pt);
42 
43 private:
47  std::shared_ptr<SimPT_Sim::Mesh> BuildMesh(
48  const boost::property_tree::ptree& mesh_pt);
49 
56  std::shared_ptr<AttributeStore> BuildAttributeStore(
57  const std::string& entity_id,
58  const boost::property_tree::ptree& index_pt,
59  const boost::property_tree::ptree& values_pt);
60 
61 private:
62  void BuildBoundaryPolygon(const boost::property_tree::ptree& cells_pt);
63 
64  void BuildCells(const boost::property_tree::ptree& cells_pt);
65 
66  void BuildNodes(const boost::property_tree::ptree& nodes_pt);
67 
68  void BuildWalls(const boost::property_tree::ptree& walls_pt);
69 
70  void ConnectCellsToWalls(const boost::property_tree::ptree& cells_pt);
71 
72 private:
73  std::shared_ptr<SimPT_Sim::Mesh> m_mesh;
74  std::shared_ptr<AttributeStore> m_cell_attributes;
75  std::shared_ptr<AttributeStore> m_node_attributes;
76  std::shared_ptr<AttributeStore> m_wall_attributes;
77 };
78 
79 } //namespace
80 
81 #endif // end_of_include_guard
82 
Tissue data with mesh, cell attributes, node attributes and wall attributes.
Definition: Tissue.h:32
Class directs ptree based tissue building process.
Namespace for the core simulator.
Tissue Build(const boost::property_tree::ptree &pt)
Build a tissue data set.