MCPcopy Create free account
hub / github.com/comaps/comaps / SetArrow

Method SetArrow

libs/drape_frontend/debug_rect_renderer.cpp:67–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

65}
66
67void DebugRectRenderer::SetArrow(ref_ptr<dp::GraphicsContext> context, m2::PointF const & arrowStart,
68 m2::PointF const & arrowEnd, ScreenBase const & screen)
69{
70 std::vector<float> vertices;
71 m2::PointF const dir = (arrowEnd - arrowStart).Normalize();
72 m2::PointF const side = m2::PointF(-dir.y, dir.x);
73 PixelPointToScreenSpace(screen, arrowStart, vertices);
74 PixelPointToScreenSpace(screen, arrowEnd, vertices);
75 PixelPointToScreenSpace(screen, arrowEnd - dir * 12 + side * 3, vertices);
76 PixelPointToScreenSpace(screen, arrowEnd, vertices);
77 PixelPointToScreenSpace(screen, arrowEnd - dir * 12 - side * 3, vertices);
78
79 ASSERT_LESS_OR_EQUAL(m_currentArrowMesh, m_arrowMeshes.size(), ());
80 if (m_currentArrowMesh == m_arrowMeshes.size())
81 m_arrowMeshes.emplace_back(CreateMesh(context, m_program, std::move(vertices), "DebugArrow"));
82 else
83 m_arrowMeshes[m_currentArrowMesh]->UpdateBuffer(context, 0 /* bufferInd */, vertices);
84}
85
86void DebugRectRenderer::SetRect(ref_ptr<dp::GraphicsContext> context, m2::RectF const & rect, ScreenBase const & screen)
87{

Callers

nothing calls this directly

Calls 6

PixelPointToScreenSpaceFunction · 0.85
CreateMeshFunction · 0.85
NormalizeMethod · 0.45
sizeMethod · 0.45
emplace_backMethod · 0.45
UpdateBufferMethod · 0.45

Tested by

no test coverage detected