From 2c4f0b52e3ffdf82622547f0a00ef4751eb6cedf Mon Sep 17 00:00:00 2001 From: valerio <valerio@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Mon, 26 Jul 2010 14:04:14 +0000 Subject: [PATCH] Fix for Angle(Vec3,Vec3) returning nan git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2590 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- modules/geom/src/vecmat3_op.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/geom/src/vecmat3_op.cc b/modules/geom/src/vecmat3_op.cc index 8ef740e37..4c6a2732a 100644 --- a/modules/geom/src/vecmat3_op.cc +++ b/modules/geom/src/vecmat3_op.cc @@ -95,7 +95,10 @@ Real Det(const Mat3& m) Real Angle(const Vec3& v1, const Vec3& v2) { - return std::acos(Dot(Normalize(v1), Normalize(v2))); + Real dot_product = Dot(Normalize(v1), Normalize(v2)); + dot_product=std::max(static_cast<Real>(-1.0),dot_product); + dot_product=std::min(static_cast<Real>(1.0),dot_product); + return std::acos(dot_product); } Mat3 EulerTransformation(Real theta, Real phi, Real xi) -- GitLab