22 #include "cell_chemistry/factories.h"
23 #include "cell_color/factories.h"
24 #include "cell_daughters/factories.h"
25 #include "cell_housekeep/factories.h"
26 #include "cell_split/factories.h"
27 #include "cell2cell_transport/factories.h"
30 #include <boost/property_tree/ptree.hpp>
37 static typename ComponentTraits<T>::ComponentType CreateHelper(
const CoreData& cd,
const typename ComponentTraits<T>::MapType& map)
39 const auto it = map.find(cd.m_parameters->get<
string>(ComponentTraits<T>::Label()));
40 return (it != map.end()) ? (it->second)(cd) :
typename ComponentTraits<T>::ComponentType();
44 static vector<string> ListHelper(
const typename ComponentTraits<T>::MapType& map)
47 for(
const auto& e : map) {
48 vec.push_back(e.first);
Namespace for components of the Blad model group.
virtual CellSplitComponent CreateCellSplit(const CoreData &cd) const override final
Core data with mesh, parameters, random engine and time data.
virtual CellToCellTransportComponent CreateCellToCellTransport(const CoreData &cd) const override final
const ComponentTraits< CellDaughtersTag >::MapType g_component_factories
Stores cell chemistry component factories.
Core data used during model execution.
std::function< std::tuple< bool, bool, std::array< double, 3 >>(Cell *)> CellSplitComponent
CellSplit component interface.
const ComponentTraits< CellChemistryTag >::MapType g_component_factories
Stores cell chemistry component factories.
virtual std::vector< std::string > ListCellToCellTransport() const override final
List components for CellToCellTransport.
virtual CellColorComponent CreateCellColor(const string &select, const ptree &) const override final
virtual std::vector< std::string > ListCellColor() const override final
List components for CellColor.
virtual CellChemistryComponent CreateCellChemistry(const CoreData &cd) const override final
std::function< void(Cell *, Cell *)> CellDaughtersComponent
CellDaughters component interface.
virtual std::vector< std::string > ListCellChemistry() const override final
List components for CellChemistry.
const ComponentTraits< CellSplitTag >::MapType g_component_factories
Stores cell chemistry component factories.
virtual std::vector< std::string > ListCellDaughters() const override final
List components for cell daughters.
std::function< void(Cell *, double *)> CellChemistryComponent
CellChemistry component interface.
std::function< void(Cell *)> CellHousekeepComponent
CellHousekeep component interface.
virtual CellDaughtersComponent CreateCellDaughters(const CoreData &cd) const override final
Component factory for the Blad model group.
virtual CellHousekeepComponent CreateCellHousekeep(const CoreData &cd) const override final
virtual std::vector< std::string > ListCellHousekeep() const override final
List components for CellHouseKeep.
const ComponentTraits< CellToCellTransportTag >::MapType g_component_factories
Stores cell chemistry component factories.
const ComponentTraits< CellColorTag >::MapType g_component_factories
Stores cell color component factories.
std::function< std::array< double, 3 >(Cell *)> CellColorComponent
CellColor component interface.
virtual std::vector< std::string > ListCellSplit() const override final
List components for cell division.
std::function< void(Wall *, double *, double *)> CellToCellTransportComponent
CellToCellTransport component interface.
const ComponentTraits< CellHousekeepTag >::MapType g_component_factories
Stores cell chemistry component factories.