Init version
This commit is contained in:
40
DEC_GUI/DEC-0.0/individual/InnerSubstratesPool.h
Normal file
40
DEC_GUI/DEC-0.0/individual/InnerSubstratesPool.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#pragma once
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
using std::vector;
|
||||
using std::map;
|
||||
|
||||
class InnerSubstratesPool {
|
||||
protected:
|
||||
std::vector<float> subConcentrations; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
std::map<std::string, int> subNamesMap; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
// P.S. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...
|
||||
|
||||
std::vector<float> regConcentrations; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
std::map<std::string, int> regNamesMap; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
|
||||
public:
|
||||
InnerSubstratesPool(){};
|
||||
InnerSubstratesPool(const vector<float>& _subs, const map<std::string, int>& _subNames)
|
||||
: subConcentrations(_subs), subNamesMap(_subNames){}
|
||||
|
||||
InnerSubstratesPool(const vector<float>& _subs, const map<std::string, int>& _subNames,
|
||||
const vector<float>& _regs, const map<std::string, int>& _regNames)
|
||||
: subConcentrations(_subs), subNamesMap(_subNames),
|
||||
regConcentrations(_regs), regNamesMap(_regNames){}
|
||||
|
||||
virtual void utilizeSubstrate(int num, float count) { subConcentrations.at(num) -= count; }
|
||||
virtual void utilizeRegulator(int num, float count) { regConcentrations.at(num) -= count; }
|
||||
|
||||
virtual void utilizeSubstrate(std::string name, float count) { subConcentrations.at(subNamesMap[name]) -= count; }
|
||||
virtual void utilizeRegulator(std::string name, float count) { subConcentrations.at(regNamesMap[name]) -= count; }
|
||||
|
||||
virtual void addSubstrate(int num, float count) { subConcentrations.at(num) += count; }
|
||||
virtual void addRegulator(int num, float count) { regConcentrations.at(num) += count; }
|
||||
|
||||
virtual void addSubstrate(std::string name, float count) { subConcentrations.at(subNamesMap[name]) += count; }
|
||||
virtual void addRegulator(std::string name, float count) { subConcentrations.at(regNamesMap[name]) += count; }
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user