From fcc3b68ad82172ca1f02337bc3adf234d792be4d Mon Sep 17 00:00:00 2001 From: MaximZaitsev Date: Tue, 30 Aug 2016 17:22:55 +0300 Subject: [PATCH] add sendind walls length to client --- .../server_client/client_debug.proto | 1 + server/src/main/java/algorithm/RoomModel.kt | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/proto/protofiles_sources/server_client/client_debug.proto b/proto/protofiles_sources/server_client/client_debug.proto index 01d1f79bac6..fa44401bde4 100644 --- a/proto/protofiles_sources/server_client/client_debug.proto +++ b/proto/protofiles_sources/server_client/client_debug.proto @@ -13,6 +13,7 @@ message DebugResponse { repeated int32 x = 8 [packed = true]; repeated int32 y = 9 [packed = true]; + repeated int32 wall_distances = 10 [packed = true]; } diff --git a/server/src/main/java/algorithm/RoomModel.kt b/server/src/main/java/algorithm/RoomModel.kt index ee69a26c1f7..a0f651d2364 100644 --- a/server/src/main/java/algorithm/RoomModel.kt +++ b/server/src/main/java/algorithm/RoomModel.kt @@ -96,13 +96,21 @@ object RoomModel { end_x[i] = (nextPoint.x + 0.5).toInt() end_y[i] = (nextPoint.y + 0.5).toInt() } + + val wallDistances = walls.filter { it.isFinished }.map { + val firstPoint = it.points.first() + val lastPoint = it.points.last() + val vector = algorithm.geometry.Vector(firstPoint, lastPoint) + vector.length().toInt() + }.toIntArray() + val alg = DebugClInterface.algorithmImpl if (alg is RoomBypassingAlgorithm) { return DebugResponse.BuilderDebugResponse(begin_x, begin_y, end_x, end_y, alg.carX, - alg.carY, alg.carAngle, pointsX, pointsY).build() + alg.carY, alg.carAngle, pointsX, pointsY, wallDistances).build() } return DebugResponse.BuilderDebugResponse(begin_x, begin_y, end_x, end_y, 0, - 0, 0, pointsX, pointsY).build() + 0, 0, pointsX, pointsY, wallDistances).build() } } \ No newline at end of file