9 , m_quadTree(app, uvec2(m_app->getConfig().pickerMaxDistance()*2), m_app->getConfig().pickerMaxDistance())
11 , m_highlightEffect(app)
12 , m_mode(m_app->getConfig().pickerMode())
13 , m_modeHasChanged(true)
47 auto& cursor = uvec2(wnd.getClippedCursor().x, wndSize.y - wnd.getClippedCursor().y);
50 int max = (int)glm::max(wndSize.x, wndSize.y);
51 bool tenthSecondPassed = (int)((time - timeDelta) * 10) != (
int)(time * 10);
53 if (wnd.keyDown(GLFW_KEY_PAGE_UP) && tenthSecondPassed)
55 else if (wnd.keyDown(GLFW_KEY_PAGE_DOWN) && tenthSecondPassed)
64 if (scene.hasSceneChanged() || camera.hasViewChanged() || wnd.hasProjChanged() ||
m_modeHasChanged)
101 if (!pressed)
return;
103 if (key == GLFW_KEY_F1)
void draw(double time, double timeDelta)
void resize(uvec2 const &size)
PickerUpdateMode updateMode()
void onKeyStateChanged(int key, bool pressed)
void onWindowSizeChanged(vec2 const &size)
void maxDistance(uint const distance)
SceneGraph & getSceneGraph()
void update(double time, double timeDelta)
void readAllIds(OUT id_t *target)
void resize(vec2 const &size)
vec2 const & getSize() const
void draw(double time, double timeDelta)
void readIds(OUT id_t *target, uvec2 const center, uint const distance)
HighlightTargetEffect m_highlightEffect
bool findNear(uvec2 const &pos, OUT id_t &foundId, OUT uvec2 &foundPos, OUT float &foundDistance)