本文整理汇总了C++中ofPtr::getDrawData方法的典型用法代码示例。如果您正苦于以下问题:C++ ofPtr::getDrawData方法的具体用法?C++ ofPtr::getDrawData怎么用?C++ ofPtr::getDrawData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ofPtr
的用法示例。
在下文中一共展示了ofPtr::getDrawData方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setNode
void nodeManager::setNode(ofPtr<clamourNode> target, clamourNode &temp) {
target->endEvents();
target->endSound();
target->setSoundData(temp.getSoundData());
target->setChanged(CLAMOUR_SOUND);
target->setDrawData(temp.getDrawData());
target->setEnvType(temp.getEnvType());
target->setAttSecs(temp.getAttSecs());
target->setDecSecs(temp.getDecSecs());
target->setCanSleep(temp.getCanSleep());
target->setIsRotate(temp.getIsRotate());
target->setShiftAmount(temp.getShiftAmount());
target->setEvents(temp.getEvents());
target->setReactions(temp.getReactions());
target->setSounds(temp.getSounds());
target->setIsCollidable(temp.getIsCollidable());
target->setIsDistributable(temp.getIsDistributable());
target->init();
target->reconcileSlaves();
//now create an edgeTemplate
if(target->getDrawData().getName() != "none") {
ofPath p;
pathFactory::createPath(p, target->getDrawData().getShapeType(),
1.0,1.0,
target->getDrawData().getParameter("size").abs_val);
target->setEdgeTemplate(p);
}
target->setIsSleeping(target->getCanSleep()); //wake up the node
}
示例2: 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
}
}