Line data Source code
1 : #include "MembraneType.hpp" 2 : 3 : namespace cell 4 : { 5 : 6 22 : MembraneType::MembraneType(std::string name, double radius, MembraneType::PermeabilityMap permeabilityMap) 7 22 : : name_(std::move(name)) 8 22 : , permeabilityMap_(std::move(permeabilityMap)) 9 22 : , radius_(radius) 10 : { 11 22 : } 12 : 13 10 : MembraneType::Permeability MembraneType::getPermeabilityFor(const DiscTypeID& discTypeID) const 14 : { 15 : // TODO Eliminate tree structures where TypeRegistry IDs are used: These can be used as array indices 16 10 : auto iter = permeabilityMap_.find(discTypeID); 17 10 : if (iter == permeabilityMap_.end()) 18 4 : return Permeability::None; 19 : 20 6 : return iter->second; 21 : } 22 : 23 47 : const std::string& MembraneType::getName() const 24 : { 25 47 : return name_; 26 : } 27 : 28 362622 : double MembraneType::getRadius() const 29 : { 30 362622 : return radius_; 31 : } 32 : 33 : } // namespace cell