diff --git a/libs/drape_frontend/colored_symbol_shape.cpp b/libs/drape_frontend/colored_symbol_shape.cpp index e4732170e..863719eb3 100644 --- a/libs/drape_frontend/colored_symbol_shape.cpp +++ b/libs/drape_frontend/colored_symbol_shape.cpp @@ -118,7 +118,7 @@ void ColoredSymbolShape::Draw(ref_ptr context, ref_ptr(m_params.m_radiusInPixels), 2 * static_cast(m_params.m_radiusInPixels)); // Here we use an equilateral triangle to render circle (incircle of a triangle). - static float constexpr kSqrt3 = static_cast(sqrt(3.0f)); + static float constexpr kSqrt3 = 1.732050808f; float r = m_params.m_radiusInPixels - m_params.m_outlineWidth; V::TTexCoord uv2(uv.x, uv.y, norm(0.0, 0.0)); @@ -195,7 +195,7 @@ void ColoredSymbolShape::Draw(ref_ptr context, ref_ptr(sqrt(2.0f)); + static float constexpr kSqrt2 = 1.414213562f; float r = m_params.m_radiusInPixels - m_params.m_outlineWidth; V::TTexCoord uv2(uv.x, uv.y, norm(-halfWidthBody, halfHeightBody)); buffer.push_back(V(position, V::TNormal(0.0, 0.0, r, 0.0f), uv2)); diff --git a/libs/drape_frontend/line_shape.cpp b/libs/drape_frontend/line_shape.cpp index b42c44480..bd847560d 100644 --- a/libs/drape_frontend/line_shape.cpp +++ b/libs/drape_frontend/line_shape.cpp @@ -198,7 +198,7 @@ private: void CreateRoundCap(glsl::vec2 const & pos) { // Here we use an equilateral triangle to render circle (incircle of a triangle). - static float constexpr kSqrt3 = sqrt(3.0f); + static float constexpr kSqrt3 = 1.732050808f; float const radius = GetHalfWidth(); m_capGeometry.emplace_back(CapVertex::TPosition(pos, m_params.m_depth), diff --git a/libs/drape_frontend/path_text_handle.cpp b/libs/drape_frontend/path_text_handle.cpp index 3c556c281..5209d7669 100644 --- a/libs/drape_frontend/path_text_handle.cpp +++ b/libs/drape_frontend/path_text_handle.cpp @@ -11,8 +11,8 @@ namespace df namespace { double constexpr kValidPathSplineTurn = 15 * math::pi / 180; -double constexpr kCosTurn = cos(kValidPathSplineTurn); -double constexpr kSinTurn = sin(kValidPathSplineTurn); +double constexpr kCosTurn = 0.999989561; // cos(kValidPathSplineTurn) +double constexpr kSinTurn = 0.004569245; // sin(kValidPathSplineTurn) double constexpr kRoundStep = 23; int constexpr kMaxStepsCount = 7; diff --git a/libs/drape_frontend/route_shape.cpp b/libs/drape_frontend/route_shape.cpp index bcd31ad15..539905e3a 100644 --- a/libs/drape_frontend/route_shape.cpp +++ b/libs/drape_frontend/route_shape.cpp @@ -382,8 +382,8 @@ void RouteShape::PrepareMarkersGeometry(std::vector const & mark { ASSERT(!markers.empty(), ()); - static float constexpr kSqrt3 = sqrt(3.0f); - static float constexpr kSqrt2 = sqrt(2.0f); + static float constexpr kSqrt3 = 1.732050808f; + static float constexpr kSqrt2 = 1.414213562f; static float constexpr kInnerRadius = 0.6f; static float constexpr kOuterRadius = 1.0f; diff --git a/libs/drape_frontend/traffic_generator.cpp b/libs/drape_frontend/traffic_generator.cpp index b1a2bcf93..94ef095c9 100644 --- a/libs/drape_frontend/traffic_generator.cpp +++ b/libs/drape_frontend/traffic_generator.cpp @@ -101,7 +101,7 @@ void SubmitCircleStaticVertices(RoadClass roadClass, glsl::vec3 const & pivot, g glsl::vec2 const & uv, std::vector & circlesGeometry) { // Here we use an equilateral triangle to render circle (incircle of a triangle). - static float constexpr kSqrt3 = sqrt(3.0f); + static float constexpr kSqrt3 = 1.732050808f; auto const p = glsl::vec4(pivot, static_cast(roadClass)); circlesGeometry.emplace_back(p, glsl::vec4(rightNormal, -kSqrt3, -1.0f), uv); circlesGeometry.emplace_back(p, glsl::vec4(rightNormal, kSqrt3, -1.0f), uv); diff --git a/libs/drape_frontend/transit_scheme_builder.cpp b/libs/drape_frontend/transit_scheme_builder.cpp index bfec1b123..83418ee00 100644 --- a/libs/drape_frontend/transit_scheme_builder.cpp +++ b/libs/drape_frontend/transit_scheme_builder.cpp @@ -118,7 +118,7 @@ void GenerateLineCaps(ref_ptr context, std::vector