From d94f2865a400171cdc3237033a2274aca19737ff Mon Sep 17 00:00:00 2001 From: xuxinchao <13522809046@163.com> Date: Tue, 28 Jun 2022 15:01:18 +0800 Subject: [PATCH] PNC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 处于美化模式或者自动驾驶状态下展示 --- .../map/identify/IdentifyOriginDataDrawer.kt | 68 +++++++++++-------- 1 file changed, 39 insertions(+), 29 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/identify/IdentifyOriginDataDrawer.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/identify/IdentifyOriginDataDrawer.kt index 9bf0d07688..62479f1181 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/identify/IdentifyOriginDataDrawer.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/identify/IdentifyOriginDataDrawer.kt @@ -4,14 +4,15 @@ import android.annotation.SuppressLint import android.util.Log import androidx.collection.ArraySet import com.mogo.commons.AbsMogoApplication +import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.enums.TrafficTypeEnum +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.w import com.mogo.map.MogoMarkerManager import com.mogo.module.common.MogoApisHandler import mogo.telematics.pad.MessagePad import mogo.telematics.pad.MessagePad.TrackedObject -import java.util.* import java.util.concurrent.ConcurrentHashMap import java.util.function.Consumer import kotlin.collections.ArrayList @@ -21,12 +22,14 @@ import kotlin.collections.ArrayList * @date 2021/10/19 10:45 上午 * 域控制器识别信息绘制 */ -class IdentifyOriginDataDrawer : Identify { +class IdentifyOriginDataDrawer : Identify, IMoGoAutopilotStatusListener { companion object { private const val TAG = "IdentifyDataDrawer" } + private var mAutopilotStatus: Int = 0 //自动驾驶状态 + /** * 上一帧数据的缓存 */ @@ -58,42 +61,45 @@ class IdentifyOriginDataDrawer : Identify { @SuppressLint("NewApi") override fun renderPlanningWarningObj(planningObjects: List?) { - - if (planningObjects == null) { - Log.d("hy","planningObjects null") - if (colorTrafficData.size == 0) { + //处于美化模式或者自动驾驶状态下展示 + if(FunctionBuildConfig.isDemoMode || mAutopilotStatus==2){ + if (planningObjects == null) { + Log.d("hy","planningObjects null") + if (colorTrafficData.size == 0) { + return + } + colorTrafficData.forEach { + val cacheData = mMarkersCaches[it] //todo 是否要直接绘制 还是等下一帧 + if (cacheData != null) { + mMarkersCaches[it] = cacheData.toBuilder().setColor("#D8D8D8FF").build() + } + } + colorTrafficData.clear() return } - colorTrafficData.forEach { - val cacheData = mMarkersCaches[it] //todo 是否要直接绘制 还是等下一帧 - if (cacheData != null) { - mMarkersCaches[it] = cacheData.toBuilder().setColor("#D8D8D8FF").build() - } - } - colorTrafficData.clear() - return - } - val tempTrafficData = ArrayList() + val tempTrafficData = ArrayList() // //todo test code 用于模拟感知物 -// mMarkersCaches["67025"] = obj -// mMarkersCaches["3124"] = obj1 -// mMarkersCaches["12"] = obj2 + mMarkersCaches["67025"] = obj + mMarkersCaches["3124"] = obj1 + mMarkersCaches["12"] = obj2 - mMarkersCaches.forEach { (uuid, data) -> - var temp = data - planningObjects.forEach { - val trackId = it.uuid.toString() - if(uuid == trackId){ - colorTrafficData.add(trackId) - temp = data.toBuilder().setColor("#FFBCB239").build() + mMarkersCaches.forEach { (uuid, data) -> + var temp = data + planningObjects.forEach { + val trackId = it.uuid.toString() + if(uuid == trackId){ + colorTrafficData.add(trackId) + temp = data.toBuilder().setColor("#FFBCB239").build() + } } + tempTrafficData.add(temp) } - tempTrafficData.add(temp) + + MogoMarkerManager.getInstance(AbsMogoApplication.getApp()) + .updateBatchMarkerPosition(tempTrafficData) } - MogoMarkerManager.getInstance(AbsMogoApplication.getApp()) - .updateBatchMarkerPosition(tempTrafficData) } /** @@ -176,4 +182,8 @@ class IdentifyOriginDataDrawer : Identify { trafficDataUuidList.clear() } + override fun onAutopilotStatusResponse(autoPilotStatusInfo: AutopilotStatusInfo) { + mAutopilotStatus = autoPilotStatusInfo.state + } + } \ No newline at end of file