Measuring: GLGizmoMeasure - Fixed detection of current hovered feature
This commit is contained in:
parent
bac3eebf51
commit
8a88b98f7f
1 changed files with 3 additions and 4 deletions
|
@ -249,12 +249,11 @@ void GLGizmoMeasure::on_render()
|
||||||
Vec3f position_on_model;
|
Vec3f position_on_model;
|
||||||
Vec3f normal_on_model;
|
Vec3f normal_on_model;
|
||||||
size_t model_facet_idx;
|
size_t model_facet_idx;
|
||||||
m_c->raycaster()->raycasters().front()->unproject_on_mesh(m_mouse_pos, model_matrix, camera, position_on_model, normal_on_model, nullptr, &model_facet_idx);
|
const bool mouse_on_object = m_c->raycaster()->raycasters().front()->unproject_on_mesh(m_mouse_pos, model_matrix, camera, position_on_model, normal_on_model, nullptr, &model_facet_idx);
|
||||||
|
|
||||||
const bool is_hovering_on_locked_feature = m_mode == EMode::ExtendedSelection && m_hover_id != -1;
|
const bool is_hovering_on_locked_feature = m_mode == EMode::ExtendedSelection && m_hover_id != -1;
|
||||||
|
|
||||||
if (m_mode == EMode::BasicSelection) {
|
if (m_mode == EMode::BasicSelection) {
|
||||||
std::optional<Measure::SurfaceFeature> curr_feature = m_measuring->get_feature(model_facet_idx, position_on_model.cast<double>());
|
std::optional<Measure::SurfaceFeature> curr_feature = mouse_on_object ? m_measuring->get_feature(model_facet_idx, position_on_model.cast<double>()) : std::nullopt;
|
||||||
m_curr_point_on_feature_position.reset();
|
m_curr_point_on_feature_position.reset();
|
||||||
if (m_curr_feature != curr_feature) {
|
if (m_curr_feature != curr_feature) {
|
||||||
GLGizmoMeasure::on_unregister_raycasters_for_picking();
|
GLGizmoMeasure::on_unregister_raycasters_for_picking();
|
||||||
|
|
Loading…
Add table
Reference in a new issue