本文整理汇总了C++中ofPtr::endEvent方法的典型用法代码示例。如果您正苦于以下问题:C++ ofPtr::endEvent方法的具体用法?C++ ofPtr::endEvent怎么用?C++ ofPtr::endEvent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ofPtr
的用法示例。
在下文中一共展示了ofPtr::endEvent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: implementReaction
void nodeManager::implementReaction(reaction & r, ofPtr<clamourNode> t, bool isOn) {
if(r.rType == "sleep") {
appReactions[t->getName()] = "resetControl";
killNode(t->getName());
} else if(r.rType == "transform") {
clamourNode temp = presetStore::nodePresets[r.stringParams["PRESET"]]; //load the node into the reaction for easier variation
setNode(t, temp);
} else if(r.rType == "scaleNode") {
parameter p = t->getDrawData().getParameter("size");
p.abs_val *= r.floatParams["SCALE"];
p.abs_val = min(1.0f, p.abs_val);
t->setDrawParameter(p);
ofPath pt = t->getEdgeTemplate();
pt.scale(r.floatParams["SCALE"], r.floatParams["SCALE"]);
t->setEdgeTemplate(pt);
t->updatePath();
} else if(r.rType == "scaleShift") {
float shift = t->getShiftAmount() * r.floatParams["SCALE"];
t->setShiftAmount(shift);
} else if(r.rType == "scaleAttack") {
float att = t->getAttSecs() * r.floatParams["SCALE"];
t->setAttSecs(att);
} else if(r.rType == "event") {
t->triggerEvent(r.intParams["ENV_INDEX"]);
} else if(r.rType == "eventOff") {
t->endEvent(r.intParams["ENV_INDEX"]); // not sure this one is necessary
}
}
示例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"]);
}
}