コード例 #1
0
ファイル: NetworkDetails.cpp プロジェクト: Nanonid/hootenanny
bool NetworkDetails::isReversed(ConstNetworkEdgePtr e1, ConstNetworkEdgePtr e2)
{
  assert(e1->getMembers().size() == 1);
  assert(e2->getMembers().size() == 1);

  ConstWayPtr w1 = dynamic_pointer_cast<const Way>(e1->getMembers()[0]);
  ConstWayPtr w2 = dynamic_pointer_cast<const Way>(e2->getMembers()[0]);

  // calculated the shared sublines
  WaySublineMatchString sublineMatch = _sublineMatcher->findMatch(_map, w1, w2,
    ConfigOptions().getSearchRadiusHighway());

  if (sublineMatch.getReverseVector2().size() != 1)
  {
    throw NotImplementedException();
  }

  return sublineMatch.getReverseVector2()[0];
}