From 6c6ff08f9dd685135cff652c966cabb9dcf99879 Mon Sep 17 00:00:00 2001 From: Daria Volvenkova Date: Thu, 7 Jul 2016 18:46:19 +0300 Subject: Review fixes. --- geometry/screenbase.cpp | 17 ++++++++++++----- geometry/screenbase.hpp | 2 ++ 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'geometry') diff --git a/geometry/screenbase.cpp b/geometry/screenbase.cpp index 1c4503ac5c..89455ae424 100644 --- a/geometry/screenbase.cpp +++ b/geometry/screenbase.cpp @@ -94,11 +94,8 @@ void ScreenBase::UpdateDependentParameters() } } -double ScreenBase::CalculatePerspectiveAngle(double scale) const +double ScreenBase::CalculateAutoPerspectiveAngle(double scale) { - if (!m_isAutoPerspective) - return m_3dAngleX; - if (scale > kStartPerspectiveScale1) return 0.0; @@ -117,6 +114,14 @@ double ScreenBase::CalculatePerspectiveAngle(double scale) const return kMaxPerspectiveAngle2 * 0.99; } +double ScreenBase::CalculatePerspectiveAngle(double scale) const +{ + if (!m_isAutoPerspective) + return m_3dAngleX; + + return CalculateAutoPerspectiveAngle(scale); +} + void ScreenBase::SetAutoPerspective(bool isAutoPerspective) { m_isAutoPerspective = isAutoPerspective; @@ -421,10 +426,12 @@ void ScreenBase::ResetPerspective() m_isPerspective = false; m_isAutoPerspective = false; + double const old_dy = m_ViewportRect.SizeY() * (m_3dScale - 1.0); + + m_3dScale = 1.0; m_3dAngleX = 0.0; m_3dMaxAngleX = 0.0; - double const old_dy = m_ViewportRect.SizeY() * (m_3dScale - 1.0); Move(0.0, -old_dy / 2.0); } diff --git a/geometry/screenbase.hpp b/geometry/screenbase.hpp index d3fbc6fc99..b5f43a1562 100644 --- a/geometry/screenbase.hpp +++ b/geometry/screenbase.hpp @@ -162,6 +162,8 @@ public: m2::RectD CalculatePixelRect(double scale) const; double CalculatePerspectiveAngle(double scale) const; + static double CalculateAutoPerspectiveAngle(double scale); + /// Compute arbitrary pixel transformation, that translates the (oldPt1, oldPt2) -> (newPt1, newPt2) static MatrixT const CalcTransform(m2::PointD const & oldPt1, m2::PointD const & oldPt2, m2::PointD const & newPt1, m2::PointD const & newPt2, -- cgit v1.2.3