本文整理汇总了C++中NodeBase::add方法的典型用法代码示例。如果您正苦于以下问题:C++ NodeBase::add方法的具体用法?C++ NodeBase::add怎么用?C++ NodeBase::add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NodeBase
的用法示例。
在下文中一共展示了NodeBase::add方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
/*private*/
void
Root::insertContained(Node *tree, const Envelope *itemEnv, void *item)
{
assert(tree->getEnvelope()->contains(itemEnv));
/**
* Do NOT create a new quad for zero-area envelopes - this would lead
* to infinite recursion. Instead, use a heuristic of simply returning
* the smallest existing quad containing the query
*/
bool isZeroX = IntervalSize::isZeroWidth(itemEnv->getMinX(),
itemEnv->getMaxX());
bool isZeroY = IntervalSize::isZeroWidth(itemEnv->getMinY(),
itemEnv->getMaxY());
NodeBase *node;
if (isZeroX || isZeroY)
{
node = tree->find(itemEnv);
}
else
{
node = tree->getNode(itemEnv);
}
node->add(item);
}
示例2:
void
Root::insertContained(Node *tree, Interval *itemInterval, void* item)
{
using geos::index::quadtree::IntervalSize;
assert(tree->getInterval()->contains(itemInterval));
/**
* Do NOT create a new node for zero-area intervals - this would lead
* to infinite recursion. Instead, use a heuristic of simply returning
* the smallest existing node containing the query
*/
bool isZeroArea=IntervalSize::isZeroWidth(itemInterval->getMin(),
itemInterval->getMax());
NodeBase *node;
if (isZeroArea)
node=tree->find(itemInterval);
else
node=tree->getNode(itemInterval);
node->add(item);
}