mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-30 09:34:06 +00:00
# Conflicts: # CMakeLists.txt # android/app/src/main/java/app/organicmaps/settings/SettingsPrefsFragment.java # android/sdk/src/main/cpp/app/organicmaps/sdk/Framework.hpp # android/sdk/src/main/cpp/app/organicmaps/sdk/OrganicMaps.cpp # android/sdk/src/main/cpp/app/organicmaps/sdk/util/Config.cpp # libs/indexer/data_source.hpp # libs/indexer/feature.hpp # libs/indexer/ftypes_matcher.hpp # libs/map/framework.cpp # libs/map/traffic_manager.cpp # libs/routing/absent_regions_finder.cpp # libs/routing/edge_estimator.hpp # libs/routing/index_router.cpp # libs/routing/index_router.hpp # libs/routing/routing_session.hpp # libs/routing_common/num_mwm_id.hpp # libs/traffic/traffic_info.cpp # qt/mainwindow.hpp # qt/preferences_dialog.cpp # tools/openlr/helpers.hpp # tools/openlr/openlr_decoder.cpp # tools/openlr/openlr_decoder.hpp # tools/openlr/openlr_stat/openlr_stat.cpp # tools/openlr/router.hpp # tools/openlr/score_candidate_paths_getter.cpp # tools/openlr/score_candidate_paths_getter.hpp # xcode/CoMaps.xcworkspace/contents.xcworkspacedata
41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include "indexer/feature.hpp"
|
|
|
|
#include "geometry/point2d.hpp"
|
|
|
|
#include <cstddef>
|
|
#include <vector>
|
|
|
|
namespace traffxml
|
|
{
|
|
using FeaturePoint = std::pair<FeatureID, size_t>;
|
|
|
|
/// This class is responsible for collecting junction points and
|
|
/// checking user's clicks.
|
|
class PointsControllerDelegateBase
|
|
{
|
|
public:
|
|
enum class ClickType
|
|
{
|
|
Miss,
|
|
Add,
|
|
Remove
|
|
};
|
|
|
|
virtual ~PointsControllerDelegateBase() = default;
|
|
|
|
virtual std::vector<m2::PointD> GetAllJunctionPointsInViewport() const = 0;
|
|
/// Returns all junction points at a given location in the form of feature id and
|
|
/// point index in the feature.
|
|
virtual std::pair<std::vector<FeaturePoint>, m2::PointD> GetCandidatePoints(
|
|
m2::PointD const & p) const = 0;
|
|
// Returns all points that are one step reachable from |p|.
|
|
virtual std::vector<m2::PointD> GetReachablePoints(m2::PointD const & p) const = 0;
|
|
|
|
virtual ClickType CheckClick(m2::PointD const & clickPoint,
|
|
m2::PointD const & lastClickedPoint,
|
|
std::vector<m2::PointD> const & reachablePoints) const = 0;
|
|
};
|
|
} // namespace traffxml
|