From 882aeee39adf6657c85c06c7533bb10e5d39cb5c Mon Sep 17 00:00:00 2001 From: belkinirena Date: Mon, 25 Jun 2018 16:20:57 +0300 Subject: [PATCH 1/2] Fixed bug is setting Depth Units in realsense_viewer Tracked on: DSO-9736 --- common/model-views.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/common/model-views.cpp b/common/model-views.cpp index 9c0ca4acf6..5f57610303 100644 --- a/common/model-views.cpp +++ b/common/model-views.cpp @@ -560,19 +560,14 @@ namespace rs2 } else { - auto step = fmod(range.step, 1); - int pow_val = 10; - while ((step *= 10.f) < 0.f) - { - pow_val *= 10; - } - if (ImGui::SliderFloat(id.c_str(), &value, range.min, range.max, "%.4f")) { + auto loffset = fmod(value, range.step); + auto roffset = range.step - loffset; + value = (loffset < roffset) ? value - loffset : value + roffset; value = (value < range.min) ? range.min : value; value = (value > range.max) ? range.max : value; - value = (int)(value * pow_val) / (float)(pow_val); model.add_log(to_string() << "Setting " << opt << " to " << value); endpoint->set_option(opt, value); *invalidate_flag = true; From 86b3db1d0545bb98bf74912ee6bb907dac1a3173 Mon Sep 17 00:00:00 2001 From: belkinirena Date: Thu, 28 Jun 2018 09:25:04 +0300 Subject: [PATCH 2/2] Added support in setting negative float values in realsense_viewer --- common/model-views.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/common/model-views.cpp b/common/model-views.cpp index 5f57610303..55c6718856 100644 --- a/common/model-views.cpp +++ b/common/model-views.cpp @@ -563,9 +563,12 @@ namespace rs2 if (ImGui::SliderFloat(id.c_str(), &value, range.min, range.max, "%.4f")) { - auto loffset = fmod(value, range.step); + auto loffset = std::abs(fmod(value, range.step)); auto roffset = range.step - loffset; - value = (loffset < roffset) ? value - loffset : value + roffset; + if (value >= 0) + value = (loffset < roffset) ? value - loffset : value + roffset; + else + value = (loffset < roffset) ? value + loffset : value - roffset; value = (value < range.min) ? range.min : value; value = (value > range.max) ? range.max : value; model.add_log(to_string() << "Setting " << opt << " to " << value);