diff --git a/src/libslic3r/Measure.cpp b/src/libslic3r/Measure.cpp index f1305f8a1..804a0e7d9 100644 --- a/src/libslic3r/Measure.cpp +++ b/src/libslic3r/Measure.cpp @@ -1220,6 +1220,9 @@ MeasurementResult get_measurement(const SurfaceFeature& a, const SurfaceFeature& result.distance_infinite = std::make_optional(DistAndPoints{ it->dist, it->from, it->to }); } } + else { + result.distance_strict = std::make_optional(DistAndPoints{0, center, origin2}); + } } /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp index 1f689b10f..8ff30dbfc 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp @@ -649,9 +649,7 @@ void GLGizmoMeasure::on_render() Vec3f hit = Vec3f::Zero(); double closest_hit_squared_distance = std::numeric_limits::max(); for (auto item : m_gripper_id_raycast_map) { - if (!item.second->is_active()) { - continue; - } + auto world_tran = item.second->world_tran; Vec3f normal_on_gripper; if (item.second->mesh_raycaster->closest_hit(mouse_position, item.second->world_tran.get_matrix(), camera, hit, normal_on_gripper)) { @@ -2234,8 +2232,6 @@ void GLGizmoMeasure::reset_gripper_pick(GripperType id, bool is_all) reset_gripper_pick(GripperType::CIRCLE); reset_gripper_pick(GripperType::CIRCLE_1); reset_gripper_pick(GripperType::CIRCLE_2); - reset_gripper_pick(GripperType::SPHERE_1); - reset_gripper_pick(GripperType::SPHERE_1); } }