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


C++ SharedNodePointer::getCanKick方法代码示例

本文整理汇总了C++中SharedNodePointer::getCanKick方法的典型用法代码示例。如果您正苦于以下问题:C++ SharedNodePointer::getCanKick方法的具体用法?C++ SharedNodePointer::getCanKick怎么用?C++ SharedNodePointer::getCanKick使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SharedNodePointer的用法示例。


在下文中一共展示了SharedNodePointer::getCanKick方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: shouldIgnore

bool AudioMixerClientData::shouldIgnore(const SharedNodePointer self, const SharedNodePointer node, unsigned int frame) {
    // this is symmetric over self / node; if computed, it is cached in the other

    // check the cache to avoid computation
    auto& cache = _nodeSourcesIgnoreMap[node->getUUID()];
    if (cache.isCached()) {
        return cache.shouldIgnore();
    }

    AudioMixerClientData* nodeData = static_cast<AudioMixerClientData*>(node->getLinkedData());
    if (!nodeData) {
        return false;
    }

    // compute shouldIgnore
    bool shouldIgnore = true;
    if ( // the nodes are not ignoring each other explicitly (or are but get data regardless)
            (!self->isIgnoringNodeWithID(node->getUUID()) ||
             (nodeData->getRequestsDomainListData() && node->getCanKick())) &&
            (!node->isIgnoringNodeWithID(self->getUUID()) ||
             (getRequestsDomainListData() && self->getCanKick())))  {

        // if either node is enabling an ignore radius, check their proximity
        if ((self->isIgnoreRadiusEnabled() || node->isIgnoreRadiusEnabled())) {
            auto& zone = _ignoreZone.get(frame);
            auto& nodeZone = nodeData->_ignoreZone.get(frame);
            shouldIgnore = zone.touches(nodeZone);
        } else {
            shouldIgnore = false;
        }
    }

    // cache in node
    nodeData->_nodeSourcesIgnoreMap[self->getUUID()].cache(shouldIgnore);

    return shouldIgnore;
}
开发者ID:SeijiEmery,项目名称:hifi,代码行数:37,代码来源:AudioMixerClientData.cpp


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