54 lines
2.2 KiB
C#
54 lines
2.2 KiB
C#
using RobotNet10.FleetManager.Shared.DTOs.RobotModel;
|
|
using RobotNet10.MapManager.Data;
|
|
|
|
namespace RobotNet10.FleetManager.Services;
|
|
|
|
/// <summary>
|
|
/// Service for managing robot model map data based on VehicleType filtering
|
|
/// </summary>
|
|
public interface IRobotModelMapService
|
|
{
|
|
/// <summary>
|
|
/// Get filtered nodes for a robot model based on VehicleType properties
|
|
/// Returns only nodes that have NodeVehicleProperties for the robot model's VehicleType
|
|
/// </summary>
|
|
Task<List<Node>> GetFilteredNodesAsync(Guid robotModelId);
|
|
|
|
/// <summary>
|
|
/// Get filtered edges for a robot model based on VehicleType properties
|
|
/// Returns only edges that have EdgeVehicleProperties for the robot model's VehicleType
|
|
/// </summary>
|
|
Task<List<Edge>> GetFilteredEdgesAsync(Guid robotModelId);
|
|
|
|
/// <summary>
|
|
/// Get filtered nodes for a robot model based on VehicleType properties and LevelId
|
|
/// Returns only nodes that have NodeVehicleProperties for the robot model's VehicleType and belong to the specified level
|
|
/// </summary>
|
|
Task<List<Node>> GetFilteredNodesByLevelAsync(Guid robotModelId, Guid levelId);
|
|
|
|
/// <summary>
|
|
/// Get filtered edges for a robot model based on VehicleType properties and LevelId
|
|
/// Returns only edges that have EdgeVehicleProperties for the robot model's VehicleType and belong to the specified level
|
|
/// </summary>
|
|
Task<List<Edge>> GetFilteredEdgesByLevelAsync(Guid robotModelId, Guid levelId);
|
|
|
|
/// <summary>
|
|
/// Get validated map data (nodes + edges) for a robot model
|
|
/// Returns only valid nodes/edges after validation (nodes with edges, edges with both nodes)
|
|
/// </summary>
|
|
Task<RobotModelMapDataDto> GetValidatedMapDataAsync(Guid robotModelId);
|
|
|
|
/// <summary>
|
|
/// Validate map data for a robot model
|
|
/// Returns validation result with errors/warnings
|
|
/// </summary>
|
|
Task<MapValidationResultDto> ValidateMapForRobotModelAsync(Guid robotModelId);
|
|
|
|
/// <summary>
|
|
/// Check if robot model has valid map configuration
|
|
/// Returns true if VehicleTypeId and MapId are set and map data is valid
|
|
/// </summary>
|
|
Task<bool> HasValidMapConfigurationAsync(Guid robotModelId);
|
|
}
|
|
|