package com.algo.model; /** * 冲突模型 * 表示AGV路径规划中的冲突信息 */ public class Conflict { /** * 冲突类型:vertex(顶点冲突), edge(边冲突), follow(跟随冲突) */ private String type; /** * 冲突AGV1 */ private String agv1; /** * 冲突AGV2 */ private String agv2; /** * 冲突发生的时间步 */ private int timeStep; /** * AGV1的冲突位置 */ private String position1; /** * AGV2的冲突位置 */ private String position2; /** * 冲突描述 */ private String description; // 构造函数 public Conflict() { } public Conflict(String type, String agv1, String agv2, int timeStep, String position1, String position2, String description) { this.type = type; this.agv1 = agv1; this.agv2 = agv2; this.timeStep = timeStep; this.position1 = position1; this.position2 = position2; this.description = description; } // Getter和Setter方法 public String getType() { return type; } public void setType(String type) { this.type = type; } public String getAgv1() { return agv1; } public void setAgv1(String agv1) { this.agv1 = agv1; } public String getAgv2() { return agv2; } public void setAgv2(String agv2) { this.agv2 = agv2; } public int getTimeStep() { return timeStep; } public void setTimeStep(int timeStep) { this.timeStep = timeStep; } public String getPosition1() { return position1; } public void setPosition1(String position1) { this.position1 = position1; } public String getPosition2() { return position2; } public void setPosition2(String position2) { this.position2 = position2; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } @Override public String toString() { return "Conflict{" + "type='" + type + '\'' + ", agv1='" + agv1 + '\'' + ", agv2='" + agv2 + '\'' + ", timeStep=" + timeStep + ", position1='" + position1 + '\'' + ", position2='" + position2 + '\'' + ", description='" + description + '\'' + '}'; } }