本文整理汇总了C++中Bank::setFlow方法的典型用法代码示例。如果您正苦于以下问题:C++ Bank::setFlow方法的具体用法?C++ Bank::setFlow怎么用?C++ Bank::setFlow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bank
的用法示例。
在下文中一共展示了Bank::setFlow方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setOdorFlow
bool Mix::setOdorFlow(double fl, bool apply)
{
for (MixtureRatio::iterator it = mix_ratio.begin(); it != mix_ratio.end(); ++it) {
Bank *b = getBank(it->first);
if (b && b->getFlowController()) {
double frac = mix_total_sum ? it->second/mix_total_sum : 0;
double flow = frac * fl;
if (flow < b->getFlowController()->min() || flow > b->getFlowController()->max()) return false;
} else
return false;
}
if (apply) {
//std::list<Bank *> theBanks = typedChildren();
// first set them all off?
//for (std::list<Bank *>::iterator it = theBanks.begin(); it != theBanks.end(); ++it)
// (*it)->setEnabled(false, Bank::Soft);
for (MixtureRatio::iterator it = mix_ratio.begin(); it != mix_ratio.end(); ++it) {
Bank *b = getBank(it->first);
if (b) {
double frac = mix_total_sum ? it->second/mix_total_sum : 0;
double flow = frac * fl;
if (!b->setFlow(flow)) return false; // argh! what to do about errors here?!
//b->setEnabled(true, Bank::Soft);
}
}
}
odor_flow = fl;
return true;
}