本文整理汇总了C++中ofPtr::getCaptureNodes方法的典型用法代码示例。如果您正苦于以下问题:C++ ofPtr::getCaptureNodes方法的具体用法?C++ ofPtr::getCaptureNodes怎么用?C++ ofPtr::getCaptureNodes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ofPtr
的用法示例。
在下文中一共展示了ofPtr::getCaptureNodes方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getIsRuleMet
bool zoneManager::getIsRuleMet(ofPtr<zone> z, zoneRule r) {
if(r.ruleType == "MIN_OCCUPANTS") {
return(z->getCaptureNodes().size() >= r.gtOccupants);
} else if(r.ruleType == "MAX_OCCUPANTS") {
if(z->getCaptureNodes().size() > 0 &&
z->getCaptureNodes().size() <= r.ltOccupants)return true;
} else if(r.ruleType == "RANGE_OCCUPANTS") {
if(z->getCaptureNodes().size() >= r.gtOccupants &&
z->getCaptureNodes().size() <= r.ltOccupants)return true;
} else {
return false;
}
return false;
}
示例2: implementReaction
void zoneManager::implementReaction(reaction &r, ofPtr<zone> z, bool isReverse) {
map<string, ofPtr<clamourNode> > cap = z->getCaptureNodes();
if(r.rType == "closeInZone") {
z->setIsClosedIn(!isReverse);
} else if(r.rType == "openInZone") {
z->setIsClosedIn(isReverse);
} else if(r.rType == "closeOutZone") {
z->setIsClosedOut(!isReverse);
} else if(r.rType == "openOutZone") {
z->setIsClosedOut(isReverse);
} else if(r.rType == "incrementStage") {
appReactions.push_back("incrementStage");
} else if(r.rType == "repeatStage") {
appReactions.push_back("repeatStage");
} else if(r.rType == "decrementStage") {
appReactions.push_back("decrementStage");
} else if(r.rType == "muteSynths") {
appReactions.push_back("muteSynths");
} else if(r.rType == "transformNode") {
//potentially could need on/off for data storage
map<string, ofPtr<clamourNode> >::iterator c_it = cap.begin();
clamourNode temp;
if(!r.tempNode){
temp = presetStore::nodePresets[r.stringParams["PRESET"]]; //load the node into the reaction for easier variation
}else{
temp = *r.tempNode;
}
while(c_it != cap.end()) {
nodeManager::setNode(c_it->second, temp);
++ c_it;
}
} else if(r.rType == "scaleNode") {
map<string, ofPtr<clamourNode> >::iterator c_it = cap.begin();
while(c_it != cap.end()) {
parameter p = c_it->second->getDrawData().getParameter("size");
p.abs_val *= r.floatParams["SCALE"];
if((p.abs_val < 0.8 && r.floatParams["SCALE"] > 1 )|| ( p.abs_val > 0.02 && r.floatParams["SCALE"] < 1 )){
c_it->second->setDrawParameter(p);
ofPath pt = c_it->second->getEdgeTemplate();
pt.scale(r.floatParams["SCALE"], r.floatParams["SCALE"]);
c_it->second->setEdgeTemplate(pt);
c_it->second->updatePath();
}
++ c_it;
}
} else if(r.rType == "scaleShift") {
map<string, ofPtr<clamourNode> >::iterator c_it = cap.begin();
while(c_it != cap.end()) {
float shift = c_it->second->getShiftAmount() * r.floatParams["SCALE"];
c_it->second->setShiftAmount(shift);
++c_it;
}
} else if(r.rType == "scaleAttack") {
map<string, ofPtr<clamourNode> >::iterator c_it = cap.begin();
while(c_it != cap.end()) {
float att = c_it->second->getAttSecs();
att *= r.floatParams["SCALE"];
if((att > 0.2 && r.floatParams["SCALE"] < 1 )|| ( att < 1 && r.floatParams["SCALE"] > 1 )){
c_it->second->setAttSecs(att);
}
++c_it;
}
} else if(r.rType == "event") {
if(!isReverse){
z->triggerEvent(r.intParams["ENV_INDEX"]);
}else{
z->endEvent(r.intParams["ENV_INDEX"]);
}
} else if(r.rType == "eventOff") {
z->endEvent(r.intParams["ENV_INDEX"]);
}
}