44 lines
1.6 KiB
C#
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();
|
|
}
|