From de359880d4e1d5fbfae1cd99439886ea552501ea Mon Sep 17 00:00:00 2001 From: "r.kuznetsov" Date: Thu, 13 Jul 2017 14:22:00 +0300 Subject: [PATCH] Removed route preview animation --- drape_frontend/frontend_renderer.cpp | 2 +- drape_frontend/route_renderer.cpp | 18 +++++------------- drape_frontend/route_renderer.hpp | 2 +- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/drape_frontend/frontend_renderer.cpp b/drape_frontend/frontend_renderer.cpp index 2b84095d41..b81fe6d85c 100755 --- a/drape_frontend/frontend_renderer.cpp +++ b/drape_frontend/frontend_renderer.cpp @@ -1827,7 +1827,7 @@ void FrontendRenderer::Routine::Do() isActiveFrame |= m_renderer.m_myPositionController->IsWaitingForTimers(); isActiveFrame |= m_renderer.m_texMng->UpdateDynamicTextures(); - isActiveFrame |= m_renderer.m_routeRenderer->UpdatePreview(modelView); + m_renderer.m_routeRenderer->UpdatePreview(modelView); m_renderer.RenderScene(modelView); diff --git a/drape_frontend/route_renderer.cpp b/drape_frontend/route_renderer.cpp index 5766b57701..947197a7c8 100644 --- a/drape_frontend/route_renderer.cpp +++ b/drape_frontend/route_renderer.cpp @@ -285,7 +285,7 @@ void RouteRenderer::UpdateRoute(ScreenBase const & screen, CacheRouteArrowsCallb } } -bool RouteRenderer::UpdatePreview(ScreenBase const & screen) +void RouteRenderer::UpdatePreview(ScreenBase const & screen) { // Check if there are preview render data. if (m_previewRenderData.empty() && !m_waitForPreviewRenderData) @@ -294,21 +294,14 @@ bool RouteRenderer::UpdatePreview(ScreenBase const & screen) m_waitForPreviewRenderData = true; } if (m_waitForPreviewRenderData) - return false; + return; - float scale = 1.0f; float previewCircleRadius = 0.0; if (!m_previewSegments.empty()) { ClearPreviewHandles(); m_previewPivot = screen.GlobalRect().Center(); previewCircleRadius = CalculateRadius(screen); - - using namespace std::chrono; - auto dt = steady_clock::now() - m_showPreviewTimestamp; - double const seconds = duration_cast>(dt).count(); - scale = static_cast(1.0 + kPreviewAnimationScale * - abs(sin(kPreviewAnimationSpeed * seconds))); } double const currentScaleGtoP = 1.0 / screen.GetScale(); double const radiusMercator = previewCircleRadius / currentScaleGtoP; @@ -327,7 +320,7 @@ bool RouteRenderer::UpdatePreview(ScreenBase const & screen) double const distDelta = segmentLen / circlesCount; for (double d = distDelta * 0.5; d < segmentLen; d += distDelta) { - float const r = scale * static_cast(radiusMercator); + float const r = static_cast(radiusMercator); m2::PointD const pt = polyline.GetPointByDistance(d); m2::RectD const circleRect(pt.x - r, pt.y - r, pt.x + r, pt.y + r); if (!screen.ClipRect().IsIntersect(circleRect)) @@ -340,14 +333,13 @@ bool RouteRenderer::UpdatePreview(ScreenBase const & screen) // There is no any available handle. m_previewPointsRequest(kPreviewPointsCount); m_waitForPreviewRenderData = true; - return true; + return; } m2::PointD const convertedPt = MapShape::ConvertToLocal(pt, m_previewPivot, kShapeCoordScalar); - h->SetPoint(pointIndex, convertedPt, scale * previewCircleRadius, circleColor); + h->SetPoint(pointIndex, convertedPt, previewCircleRadius, circleColor); } } - return !m_previewSegments.empty(); } void RouteRenderer::ClearPreviewHandles() diff --git a/drape_frontend/route_renderer.hpp b/drape_frontend/route_renderer.hpp index d96922e3ad..135dcce260 100644 --- a/drape_frontend/route_renderer.hpp +++ b/drape_frontend/route_renderer.hpp @@ -53,7 +53,7 @@ public: void AddPreviewRenderData(drape_ptr && renderData, ref_ptr mng); - bool UpdatePreview(ScreenBase const & screen); + void UpdatePreview(ScreenBase const & screen); void Clear(); void ClearRouteData();