本文整理汇总了C++中ConstElementPtr::clone方法的典型用法代码示例。如果您正苦于以下问题:C++ ConstElementPtr::clone方法的具体用法?C++ ConstElementPtr::clone怎么用?C++ ConstElementPtr::clone使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConstElementPtr
的用法示例。
在下文中一共展示了ConstElementPtr::clone方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: readNextElement
ElementPtr ElementSorter::readNextElement()
{
ElementPtr result;
ConstElementPtr cr;
if (_nodeIndex != _nodeIds.size())
{
cr = _source->getNode(_nodeIds[_nodeIndex++]);
}
else if (_wayIndex != _wayIds.size())
{
cr = _source->getWay(_wayIds[_wayIndex++]);
}
else if (_relationIndex != _relationIds.size())
{
cr = _source->getRelation(_relationIds[_relationIndex++]);
}
if (cr.get())
{
result.reset(cr->clone());
}
return result;
}
示例2: getScore
MatchClassification MultiaryScoreCache::getScore(ConstElementPtr e1, ConstElementPtr e2)
{
_lastExplainText.clear();
OsmMapPtr tmp(new OsmMap(_map->getProjection()));
tmp->addElement(ElementPtr(e1->clone()));
tmp->addElement(ElementPtr(e2->clone()));
boost::scoped_ptr<Match> m(
_matchCreator->createMatch(tmp, e1->getElementId(), e2->getElementId()));
// default to a hard miss.
MatchClassification result(0, 1, 0);
// if the MatchCreator returns a valid match class, use that as the score.
if (m)
{
result = m->getClassification();
_lastExplainText = m->explain();
}
return result;
}