|
@@ -145,8 +145,23 @@ export default class HistoryUtil {
|
|
|
if (road1.way == Constant.oneWay) {
|
|
|
if (
|
|
|
road1.singleRoadWidth == road2.singleRoadWidth &&
|
|
|
- road1.singleRoadDrivewayCount == road2.singleRoadDrivewayCount
|
|
|
+ road1.singleRoadDrivewayCount == road2.singleRoadDrivewayCount &&
|
|
|
+ road1.singleLanes.length == road2.singleLanes.length
|
|
|
) {
|
|
|
+ for (let i = 0; i < road1.singleLanes.length; ++i) {
|
|
|
+ if (
|
|
|
+ !mathUtil.equalPoint(
|
|
|
+ road1.singleLanes[i].start,
|
|
|
+ road2.singleLanes[i].start
|
|
|
+ ) ||
|
|
|
+ !mathUtil.equalPoint(
|
|
|
+ road1.singleLanes[i].end,
|
|
|
+ road2.singleLanes[i].end
|
|
|
+ )
|
|
|
+ ) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
return false;
|
|
|
} else {
|
|
|
return true;
|
|
@@ -157,8 +172,38 @@ export default class HistoryUtil {
|
|
|
road1.rightWidth == road2.rightWidth &&
|
|
|
road1.leftDrivewayCount == road2.leftDrivewayCount &&
|
|
|
road1.rightDrivewayCount == road2.rightDrivewayCount &&
|
|
|
- road1.midDivide.midDivideWidth == road2.midDivide.midDivideWidth
|
|
|
+ road1.midDivide.midDivideWidth == road2.midDivide.midDivideWidth &&
|
|
|
+ road1.leftLanes.length == road2.leftLanes.length &&
|
|
|
+ road1.rightLanes.length == road2.rightLanes.length
|
|
|
) {
|
|
|
+ for (let i = 0; i < road1.leftLanes.length; ++i) {
|
|
|
+ if (
|
|
|
+ !mathUtil.equalPoint(
|
|
|
+ road1.leftLanes[i].start,
|
|
|
+ road2.leftLanes[i].start
|
|
|
+ ) ||
|
|
|
+ !mathUtil.equalPoint(
|
|
|
+ road1.leftLanes[i].end,
|
|
|
+ road2.leftLanes[i].end
|
|
|
+ )
|
|
|
+ ) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (let i = 0; i < road1.rightLanes.length; ++i) {
|
|
|
+ if (
|
|
|
+ !mathUtil.equalPoint(
|
|
|
+ road1.rightLanes[i].start,
|
|
|
+ road2.rightLanes[i].start
|
|
|
+ ) ||
|
|
|
+ !mathUtil.equalPoint(
|
|
|
+ road1.rightLanes[i].end,
|
|
|
+ road2.rightLanes[i].end
|
|
|
+ )
|
|
|
+ ) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
return false;
|
|
|
} else {
|
|
|
return true;
|