本文整理汇总了C++中Query::evalTile方法的典型用法代码示例。如果您正苦于以下问题:C++ Query::evalTile方法的具体用法?C++ Query::evalTile怎么用?C++ Query::evalTile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Query
的用法示例。
在下文中一共展示了Query::evalTile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: aggregateTile
void TileNode::aggregateTile(const SpatialDimension* hashing, const Query& query, Response& response, ulong level) const {
const ulong d = level % hashing->key().size();
if (query.evalTile(d) && (last() || _pivot.value().z >= query.zoom + query.resolution)) {
response.addElement(&_pivot);
} else {
if (_container[0] != nullptr) _container[0]->aggregateTile(hashing, query, response, level + 1);
if (_container[1] != nullptr) _container[1]->aggregateTile(hashing, query, response, level + 1);
if (_container[2] != nullptr) _container[2]->aggregateTile(hashing, query, response, level + 1);
if (_container[3] != nullptr) _container[3]->aggregateTile(hashing, query, response, level + 1);
}
}
示例2: queryTile
void TileNode::queryTile(const SpatialDimension* hashing, const Query& query, Response& response, ulong level) const {
const ulong d = level % hashing->key().size();
if (query.evalTile(d)) {
if (query.getTile(d) == _pivot.value() || (last() && util::intersects(_pivot.value(), query.getTile(d)))) {
aggregateTile(hashing, query, response, level);
} else if (_pivot.value().z < query.zoom) {
if (_container[0] != nullptr) _container[0]->queryTile(hashing, query, response, level + 1);
if (_container[1] != nullptr) _container[1]->queryTile(hashing, query, response, level + 1);
if (_container[2] != nullptr) _container[2]->queryTile(hashing, query, response, level + 1);
if (_container[3] != nullptr) _container[3]->queryTile(hashing, query, response, level + 1);
}
} else {
if (_container[0] != nullptr) _container[0]->queryTile(hashing, query, response, level + 1);
if (_container[1] != nullptr) _container[1]->queryTile(hashing, query, response, level + 1);
if (_container[2] != nullptr) _container[2]->queryTile(hashing, query, response, level + 1);
if (_container[3] != nullptr) _container[3]->queryTile(hashing, query, response, level + 1);
}
}