| | |
| | | RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId()); |
| | | |
| | | RgvProtocol rgvProtocolE, rgvProtocolB; |
| | | if (rgvProtocol.getRgvPos() < rgvProtocolOther.getRgvPos()) { |
| | | if (IsItSmall(slave)) { |
| | | rgvProtocolE = rgvProtocolOther; |
| | | rgvProtocolB = rgvProtocol; |
| | | } else { |
| | |
| | | |
| | | } |
| | | |
| | | public Long[][] avoidRangeArr(RgvSlave slave, Long trackEntireLength, Long trackBenchmark, Long avoidDistance) { |
| | | RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId()); |
| | | RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId()); |
| | | |
| | | RgvProtocol rgvProtocolE, rgvProtocolB; |
| | | if (IsItSmall(slave)) { |
| | | rgvProtocolE = rgvProtocolOther; |
| | | rgvProtocolB = rgvProtocol; |
| | | |
| | | long entireLength = rgvProtocolE.getRgvPosDestination() - rgvProtocolE.getCarBodyJiaoMing() - avoidDistance - rgvProtocolB.getCarBodyKunPeng(); |
| | | long benchmark = trackBenchmark + rgvProtocolB.getCarBodyJiaoMing(); |
| | | |
| | | long entireLengthOther = trackEntireLength - rgvProtocolE.getCarBodyKunPeng(); |
| | | long benchmarkOther = rgvProtocolB.getRgvPosDestination() + rgvProtocolB.getCarBodyKunPeng() + avoidDistance + rgvProtocolE.getCarBodyJiaoMing(); |
| | | |
| | | return new Long[][]{new Long[]{entireLength, benchmark}, new Long[]{entireLengthOther, benchmarkOther}}; |
| | | |
| | | } else { |
| | | rgvProtocolE = rgvProtocol; |
| | | rgvProtocolB = rgvProtocolOther; |
| | | |
| | | long entireLength = trackEntireLength - rgvProtocolE.getCarBodyKunPeng(); |
| | | long benchmark = rgvProtocolB.getRgvPosDestination() + rgvProtocolB.getCarBodyKunPeng() + avoidDistance + rgvProtocolE.getCarBodyJiaoMing(); |
| | | |
| | | long entireLengthOther = rgvProtocolE.getRgvPosDestination() - rgvProtocolE.getCarBodyJiaoMing() - avoidDistance - rgvProtocolB.getCarBodyKunPeng(); |
| | | long benchmarkOther = trackBenchmark + rgvProtocolB.getCarBodyJiaoMing(); |
| | | |
| | | return new Long[][]{new Long[]{entireLength, benchmark}, new Long[]{entireLengthOther, benchmarkOther}}; |
| | | } |
| | | |
| | | } |
| | | |
| | | public boolean avoidRange(Long avoid, Long[] range) { |
| | | return avoid < range[0] && avoid > range[1]; |
| | | } |