当前位置: 首页>>代码示例>>C++>>正文


C++ ofPtr::getCaptureNodes方法代码示例

本文整理汇总了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;

}
开发者ID:kimon-satan,项目名称:clamourMedia,代码行数:26,代码来源:zoneManager.cpp

示例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"]);

    }
}
开发者ID:kimon-satan,项目名称:clamourMedia,代码行数:95,代码来源:zoneManager.cpp


注:本文中的ofPtr::getCaptureNodes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。