Branch data Line data Source code
1 : : // ----------------- BEGIN LICENSE BLOCK --------------------------------- 2 : : // 3 : : // Copyright (C) 2019-2021 Intel Corporation 4 : : // 5 : : // SPDX-License-Identifier: MIT 6 : : // 7 : : // ----------------- END LICENSE BLOCK ----------------------------------- 8 : : /** 9 : : * @file 10 : : */ 11 : : 12 : : #pragma once 13 : : 14 : : #include "ad/map/test_support/IntersectionTestBase.hpp" 15 : : 16 : : /** @brief namespace ad */ 17 : : namespace ad { 18 : : /** @brief namespace map */ 19 : : namespace map { 20 : : /** @brief namespace test_support */ 21 : : namespace test_support { 22 : : 23 : : /** 24 : : * @brief Class that implements Intersection Test Base functionality for the artificial maps 25 : : * 26 : : * The maps only differ in the type of traffic regulation. Therefore, all locations 27 : : * that have to be provided for the base class are the same. 28 : : * This class also handles both right and left handed traffic versions of the map. 29 : : */ 30 : : struct ArtificialIntersectionTestBase : test_support::IntersectionTestBase 31 : : { 32 : : ArtificialIntersectionTestBase(); 33 : : 34 : 98 : virtual ~ArtificialIntersectionTestBase() = default; 35 : : 36 : : /** 37 : : * @brief Implements corresponding functionality for the artificial map 38 : : */ 39 : : virtual point::GeoPoint getGeoFromNorth() const override; 40 : : 41 : : /** 42 : : * @brief Implements corresponding functionality for the artificial map 43 : : */ 44 : : virtual point::GeoPoint getGeoToNorth() const override; 45 : : 46 : : /** 47 : : * @brief Implements corresponding functionality for the artificial map 48 : : */ 49 : : virtual point::GeoPoint getGeoFromSouth() const override; 50 : : 51 : : /** 52 : : * @brief Implements corresponding functionality for the artificial map 53 : : */ 54 : : virtual point::GeoPoint getGeoToSouth() const override; 55 : : 56 : : /** 57 : : * @brief Implements corresponding functionality for the artificial map 58 : : */ 59 : : virtual point::GeoPoint getGeoFromWest() const override; 60 : : 61 : : /** 62 : : * @brief Implements corresponding functionality for the artificial map 63 : : */ 64 : : virtual point::GeoPoint getGeoToWest() const override; 65 : : 66 : : /** 67 : : * @brief Implements corresponding functionality for the artificial map 68 : : */ 69 : : virtual point::GeoPoint getGeoFromEast() const override; 70 : : 71 : : /** 72 : : * @brief Implements corresponding functionality for the artificial map 73 : : */ 74 : : virtual point::GeoPoint getGeoToEast() const override; 75 : : 76 : : // the points in the map of the intersection arms ordered clockwise... 77 : : point::GeoPoint mPoint_01h; 78 : : point::GeoPoint mPoint_02h; 79 : : point::GeoPoint mPoint_04h; 80 : : point::GeoPoint mPoint_05h; 81 : : point::GeoPoint mPoint_07h; 82 : : point::GeoPoint mPoint_08h; 83 : : point::GeoPoint mPoint_10h; 84 : : point::GeoPoint mPoint_11h; 85 : : }; 86 : : 87 : : } // namespace test_support 88 : : } // namespace map 89 : : } // namespace ad