pub enum MapfConflict {
Show 14 variants
InvalidStart {
agent_id: String,
point: Point,
},
InvalidGoal {
agent_id: String,
point: Point,
},
EmptyAgentPath {
agent_id: String,
},
MissingAgentPath {
agent_id: String,
},
UnknownAgentPath {
agent_id: String,
},
DuplicateAgentPath {
agent_id: String,
},
StartMismatch {
agent_id: String,
expected: Point,
actual: Point,
},
OutOfBoundsCell {
agent_id: String,
timestep: usize,
point: Point,
},
BlockedCell {
agent_id: String,
timestep: usize,
point: Point,
},
IllegalTransition {
agent_id: String,
timestep: usize,
from: Point,
to: Point,
},
GoalNotReached {
agent_id: String,
expected: Point,
actual: Point,
},
GoalDeparted {
agent_id: String,
timestep: usize,
goal: Point,
actual: Point,
},
Vertex {
timestep: usize,
point: Point,
agent_ids: Vec<String>,
},
EdgeSwap {
timestep: usize,
from: Point,
to: Point,
agent_a: String,
agent_b: String,
},
}Expand description
Validation issue or conflict found in a MAPF plan.
Structural issues (missing paths, illegal moves) are reported alongside
multi-agent vertex and edge-swap conflicts. Any non-empty conflict list
makes MapfValidationReport::valid false.
Variants§
InvalidStart
Problem start is not walkable.
InvalidGoal
Problem goal is not walkable.
EmptyAgentPath
Agent path has zero positions.
MissingAgentPath
Problem agent has no path entry in the plan.
UnknownAgentPath
Plan path references an unknown agent id.
DuplicateAgentPath
More than one path for the same agent id.
StartMismatch
Path timestep 0 does not match the problem start.
OutOfBoundsCell
Path visits a cell outside the grid.
BlockedCell
Path visits a blocked cell.
IllegalTransition
Consecutive positions are not a legal 4-way step or wait.
GoalNotReached
Path never occupies the agent goal.
GoalDeparted
Agent left the goal after first arrival.
Vertex
Two or more agents occupy the same cell at the same timestep.
EdgeSwap
Two agents swap edges between consecutive timesteps.
Implementations§
Trait Implementations§
Source§impl Clone for MapfConflict
impl Clone for MapfConflict
Source§fn clone(&self) -> MapfConflict
fn clone(&self) -> MapfConflict
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more