Files
Denso/srcs/RobotNet10/Commons/RobotNet10.MapManager/Services/IMapQueryService.cs
2026-07-03 16:31:37 +07:00

44 lines
1.6 KiB
C#

using RobotNet10.MapManager.Data;
namespace RobotNet10.MapManager.Services;
/// <summary>
/// Service for querying map data (nodes and edges) by VehicleType
/// </summary>
public interface IMapQueryService
{
/// <summary>
/// Get nodes filtered by VehicleType
/// Returns only nodes that have NodeVehicleProperties for the specified VehicleType
/// </summary>
Task<List<Node>> GetNodesByVehicleTypeAsync(Guid vehicleTypeId);
/// <summary>
/// Get edges filtered by VehicleType
/// Returns only edges that have EdgeVehicleProperties for the specified VehicleType
/// </summary>
Task<List<Edge>> GetEdgesByVehicleTypeAsync(Guid vehicleTypeId);
/// <summary>
/// Get nodes filtered by VehicleType and LevelId
/// Returns only nodes that have NodeVehicleProperties for the specified VehicleType and belong to the specified level
/// </summary>
Task<List<Node>> GetNodesByVehicleTypeAndLevelAsync(Guid vehicleTypeId, Guid levelId);
/// <summary>
/// Get edges filtered by VehicleType and LevelId
/// Returns only edges that have EdgeVehicleProperties for the specified VehicleType and belong to the specified level
/// </summary>
Task<List<Edge>> GetEdgesByVehicleTypeAndLevelAsync(Guid vehicleTypeId, Guid levelId);
/// <summary>
/// Get total count of nodes across all levels
/// </summary>
Task<int> GetTotalNodesCountAsync();
/// <summary>
/// Get total count of edges across all levels
/// </summary>
Task<int> GetTotalEdgesCountAsync();
}