aboutsummaryrefslogtreecommitdiffstats
path: root/common/vecmat.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/vecmat.h')
-rw-r--r--common/vecmat.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/common/vecmat.h b/common/vecmat.h
index d301cc30..997b535b 100644
--- a/common/vecmat.h
+++ b/common/vecmat.h
@@ -35,10 +35,11 @@ public:
return *this;
}
- T normalize()
+ T normalize(T lim = std::numeric_limits<T>::epsilon())
{
+ lim = std::max(lim, std::numeric_limits<T>::epsilon());
const T length{std::sqrt(mVals[0]*mVals[0] + mVals[1]*mVals[1] + mVals[2]*mVals[2])};
- if(length > std::numeric_limits<T>::epsilon())
+ if(length > lim)
{
T inv_length{T{1}/length};
mVals[0] *= inv_length;