Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaria Volvenkova <d.volvenkova@corp.mail.ru>2016-06-09 16:30:39 +0300
committerDaria Volvenkova <d.volvenkova@corp.mail.ru>2016-07-07 15:31:07 +0300
commit2ac8539d73b9502c5ca05b85f2a05c019f393a84 (patch)
tree2430a55b00ea26b1edbd7eb28d3b6297f65e6bb7 /drape_frontend
parentc949c0c407bbd1742a03b7189ee42c59f03dcbae (diff)
Calculate current rotation angle in perspective mode.
Diffstat (limited to 'drape_frontend')
-rwxr-xr-xdrape_frontend/frontend_renderer.cpp6
-rw-r--r--drape_frontend/navigator.cpp4
-rw-r--r--drape_frontend/rule_drawer.cpp4
3 files changed, 9 insertions, 5 deletions
diff --git a/drape_frontend/frontend_renderer.cpp b/drape_frontend/frontend_renderer.cpp
index 3b06a0adbf..9b826a08c7 100755
--- a/drape_frontend/frontend_renderer.cpp
+++ b/drape_frontend/frontend_renderer.cpp
@@ -1232,7 +1232,11 @@ void FrontendRenderer::RefreshModelView(ScreenBase const & screen)
m_generalUniforms.SetMatrix4x4Value("modelView", mv.m_data);
- float const zScale = 2.0f / (screen.GetHeight() * screen.GetScale());
+ // TODO: Calculate exact value of zScale
+ double const averageScale3d = 3.0;
+ float const zScale = 2.0f / (screen.PixelRectIn3d().SizeY() * averageScale3d * screen.GetScale());
+ //float const zScale = 2.0f / (screen.GetHeight() * screen.GetScale());
+
m_generalUniforms.SetFloatValue("zScale", zScale);
}
diff --git a/drape_frontend/navigator.cpp b/drape_frontend/navigator.cpp
index b68c595e37..a2e2034ec1 100644
--- a/drape_frontend/navigator.cpp
+++ b/drape_frontend/navigator.cpp
@@ -309,9 +309,9 @@ void Navigator::Disable3dMode()
bool Navigator::UpdatePerspective()
{
- bool const isPerspective = m_Screen.isPerspective();
+ double const maxPerspAngle = m_Screen.GetMaxRotationAngle();
m_Screen.UpdatePerspectiveParameters();
- return isPerspective != m_Screen.isPerspective();
+ return maxPerspAngle != m_Screen.GetMaxRotationAngle();
}
m2::AnyRectD ToRotated(Navigator const & navigator, m2::RectD const & rect)
diff --git a/drape_frontend/rule_drawer.cpp b/drape_frontend/rule_drawer.cpp
index a3b2ba949a..2a7a3a8102 100644
--- a/drape_frontend/rule_drawer.cpp
+++ b/drape_frontend/rule_drawer.cpp
@@ -203,10 +203,10 @@ void RuleDrawer::operator()(FeatureType const & f)
double const lat = MercatorBounds::YToLat(featureCenter.y);
m2::RectD rectMercator = MercatorBounds::MetresToXY(lon, lat, heightInMeters);
- areaHeight = m2::PointD(rectMercator.SizeX(), rectMercator.SizeY()).Length();
+ areaHeight = (rectMercator.SizeX() + rectMercator.SizeY()) / 2.0;
rectMercator = MercatorBounds::MetresToXY(lon, lat, minHeigthInMeters);
- areaMinHeight = m2::PointD(rectMercator.SizeX(), rectMercator.SizeY()).Length();
+ areaMinHeight = (rectMercator.SizeX() + rectMercator.SizeY()) / 2.0;
}
bool applyPointStyle = s.PointStyleExists();