diff --git a/include/MantleAPI/Traffic/i_traffic_swarm_service.h b/include/MantleAPI/Traffic/i_traffic_swarm_service.h index 0c018c32a4109eee8879fcd608baef433e312d01..c879b33c0ce4005821bfafd10d302901a5fa36e5 100644 --- a/include/MantleAPI/Traffic/i_traffic_swarm_service.h +++ b/include/MantleAPI/Traffic/i_traffic_swarm_service.h @@ -43,7 +43,15 @@ struct TrafficSwarmParameters class ITrafficSwarmService { public: - virtual std::vector<mantle_api::Pose> GetAvailableSpawningPoses() const = 0; + enum class RelativePosition + { + kInFront = 0, + kBehind + }; + + using SpawningPosition = std::pair<mantle_api::Pose, RelativePosition>; + + virtual std::vector<SpawningPosition> GetAvailableSpawningPoses() const = 0; virtual mantle_api::VehicleProperties GetVehicleProperties(mantle_api::VehicleClass vehicle_class) const = 0; virtual void UpdateControllerConfig(std::unique_ptr<mantle_api::ExternalControllerConfig>& config, units::velocity::meters_per_second_t speed) = 0; diff --git a/test/MantleAPI/Test/test_utils.h b/test/MantleAPI/Test/test_utils.h index 6755a0075145bec34b6d4c0f92abcc4dc46c6b35..4f887ef9d416221e63f3a7b65ba1bb940677db38 100755 --- a/test/MantleAPI/Test/test_utils.h +++ b/test/MantleAPI/Test/test_utils.h @@ -481,7 +481,7 @@ public: class MockTrafficSwarmService : public mantle_api::ITrafficSwarmService { public: - MOCK_METHOD(std::vector<mantle_api::Pose>, + MOCK_METHOD(std::vector<ITrafficSwarmService::SpawningPosition>, GetAvailableSpawningPoses, (), (const, override));