summaryrefslogtreecommitdiff
path: root/indra/llcommon/llcriticaldamp.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2024-06-10 17:06:06 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2024-06-10 19:25:02 +0300
commit0dcc912cecdfb365c1f4246545ece40ccb7bc18e (patch)
treeccf664c765d1adbbf4985069321df65c85ca36e2 /indra/llcommon/llcriticaldamp.cpp
parentbd8438f7083643ae5812b14e35e69e69ef1616c6 (diff)
parentd317454c82e016a02c8a708a0118f3ff29aa8e82 (diff)
Merge main into inventory_favorites
# Conflicts: # indra/llui/llfolderviewmodel.h # indra/newview/llpanelwearing.cpp # indra/newview/llwearableitemslist.cpp
Diffstat (limited to 'indra/llcommon/llcriticaldamp.cpp')
-rw-r--r--indra/llcommon/llcriticaldamp.cpp100
1 files changed, 50 insertions, 50 deletions
diff --git a/indra/llcommon/llcriticaldamp.cpp b/indra/llcommon/llcriticaldamp.cpp
index 54be855f67..bb5f2b647a 100644
--- a/indra/llcommon/llcriticaldamp.cpp
+++ b/indra/llcommon/llcriticaldamp.cpp
@@ -1,25 +1,25 @@
-/**
+/**
* @file llcriticaldamp.cpp
* @brief Implementation of the critical damping functionality.
*
* $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -39,20 +39,20 @@ F32 LLSmoothInterpolation::sTimeDelta;
// helper functors
struct LLSmoothInterpolation::CompareTimeConstants
{
- bool operator()(const F32& a, const LLSmoothInterpolation::Interpolant& b) const
- {
- return a < b.mTimeScale;
- }
+ bool operator()(const F32& a, const LLSmoothInterpolation::Interpolant& b) const
+ {
+ return a < b.mTimeScale;
+ }
- bool operator()(const LLSmoothInterpolation::Interpolant& a, const F32& b) const
- {
- return a.mTimeScale < b; // bottom of a is higher than bottom of b
- }
+ bool operator()(const LLSmoothInterpolation::Interpolant& a, const F32& b) const
+ {
+ return a.mTimeScale < b; // bottom of a is higher than bottom of b
+ }
- bool operator()(const LLSmoothInterpolation::Interpolant& a, const LLSmoothInterpolation::Interpolant& b) const
- {
- return a.mTimeScale < b.mTimeScale; // bottom of a is higher than bottom of b
- }
+ bool operator()(const LLSmoothInterpolation::Interpolant& a, const LLSmoothInterpolation::Interpolant& b) const
+ {
+ return a.mTimeScale < b.mTimeScale; // bottom of a is higher than bottom of b
+ }
};
//-----------------------------------------------------------------------------
@@ -60,7 +60,7 @@ struct LLSmoothInterpolation::CompareTimeConstants
//-----------------------------------------------------------------------------
LLSmoothInterpolation::LLSmoothInterpolation()
{
- sTimeDelta = 0.f;
+ sTimeDelta = 0.f;
}
// static
@@ -69,46 +69,46 @@ LLSmoothInterpolation::LLSmoothInterpolation()
//-----------------------------------------------------------------------------
void LLSmoothInterpolation::updateInterpolants()
{
- sTimeDelta = sInternalTimer.getElapsedTimeAndResetF32();
+ sTimeDelta = sInternalTimer.getElapsedTimeAndResetF32();
- for (S32 i = 0; i < sInterpolants.size(); i++)
- {
- Interpolant& interp = sInterpolants[i];
- interp.mInterpolant = calcInterpolant(interp.mTimeScale);
- }
-}
+ for (S32 i = 0; i < sInterpolants.size(); i++)
+ {
+ Interpolant& interp = sInterpolants[i];
+ interp.mInterpolant = calcInterpolant(interp.mTimeScale);
+ }
+}
//-----------------------------------------------------------------------------
// getInterpolant()
//-----------------------------------------------------------------------------
F32 LLSmoothInterpolation::getInterpolant(F32SecondsImplicit time_constant, bool use_cache)
{
- if (time_constant == 0.f)
- {
- return 1.f;
- }
+ if (time_constant == 0.f)
+ {
+ return 1.f;
+ }
- if (use_cache)
- {
- interpolant_vec_t::iterator find_it = std::lower_bound(sInterpolants.begin(), sInterpolants.end(), time_constant.value(), CompareTimeConstants());
- if (find_it != sInterpolants.end() && find_it->mTimeScale == time_constant)
- {
- return find_it->mInterpolant;
- }
- else
- {
- Interpolant interp;
- interp.mTimeScale = time_constant.value();
- interp.mInterpolant = calcInterpolant(time_constant.value());
- sInterpolants.insert(find_it, interp);
- return interp.mInterpolant;
- }
- }
- else
- {
- return calcInterpolant(time_constant.value());
+ if (use_cache)
+ {
+ interpolant_vec_t::iterator find_it = std::lower_bound(sInterpolants.begin(), sInterpolants.end(), time_constant.value(), CompareTimeConstants());
+ if (find_it != sInterpolants.end() && find_it->mTimeScale == time_constant)
+ {
+ return find_it->mInterpolant;
+ }
+ else
+ {
+ Interpolant interp;
+ interp.mTimeScale = time_constant.value();
+ interp.mInterpolant = calcInterpolant(time_constant.value());
+ sInterpolants.insert(find_it, interp);
+ return interp.mInterpolant;
+ }
+ }
+ else
+ {
+ return calcInterpolant(time_constant.value());
- }
+ }
}
//-----------------------------------------------------------------------------
@@ -116,6 +116,6 @@ F32 LLSmoothInterpolation::getInterpolant(F32SecondsImplicit time_constant, bool
//-----------------------------------------------------------------------------
F32 LLSmoothInterpolation::calcInterpolant(F32 time_constant)
{
- return llclamp(1.f - powf(2.f, -sTimeDelta / time_constant), 0.f, 1.f);
+ return llclamp(1.f - powf(2.f, -sTimeDelta / time_constant), 0.f, 1.f);
}