Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/iksolver')
-rw-r--r--intern/iksolver/CMakeLists.txt2
-rw-r--r--intern/iksolver/SConscript2
-rw-r--r--intern/iksolver/intern/IK_QSegment.cpp23
-rw-r--r--intern/iksolver/intern/TNT/svd.h10
-rw-r--r--intern/iksolver/intern/TNT/vec.h2
-rw-r--r--intern/iksolver/test/ik_glut_test/common/GlutDrawer.cpp4
-rw-r--r--intern/iksolver/test/ik_glut_test/common/GlutKeyboardManager.cpp4
-rw-r--r--intern/iksolver/test/ik_glut_test/common/GlutMouseManager.cpp4
-rw-r--r--intern/iksolver/test/ik_glut_test/intern/main.cpp4
9 files changed, 19 insertions, 36 deletions
diff --git a/intern/iksolver/CMakeLists.txt b/intern/iksolver/CMakeLists.txt
index 3c345ae7e6a..8ea05ac994d 100644
--- a/intern/iksolver/CMakeLists.txt
+++ b/intern/iksolver/CMakeLists.txt
@@ -28,5 +28,5 @@ SET(INC intern ../moto/include ../memutil)
FILE(GLOB SRC intern/*.cpp)
-BLENDERLIB(bf_IK "${SRC}" "${INC}")
+BLENDERLIB(bf_intern_ik "${SRC}" "${INC}")
#, libtype=['blender'], priority = [10] )
diff --git a/intern/iksolver/SConscript b/intern/iksolver/SConscript
index 7adb2d50893..bdf7cd350ff 100644
--- a/intern/iksolver/SConscript
+++ b/intern/iksolver/SConscript
@@ -5,5 +5,5 @@ sources = env.Glob('intern/*.cpp')
incs = 'intern ../moto/include ../memutil'
-env.BlenderLib ('bf_IK', sources, Split(incs), [], libtype=['intern','player'], priority=[100,90] )
+env.BlenderLib ('bf_intern_ik', sources, Split(incs), [], libtype=['intern','player'], priority=[100,90] )
diff --git a/intern/iksolver/intern/IK_QSegment.cpp b/intern/iksolver/intern/IK_QSegment.cpp
index 50364f3627f..5de5846cb61 100644
--- a/intern/iksolver/intern/IK_QSegment.cpp
+++ b/intern/iksolver/intern/IK_QSegment.cpp
@@ -28,9 +28,6 @@
*/
#include "IK_QSegment.h"
-#ifdef WIN32
-#define _USE_MATH_DEFINES
-#endif
#include <cmath>
// Utility functions
@@ -372,8 +369,8 @@ void IK_QSphericalSegment::SetLimit(int axis, MT_Scalar lmin, MT_Scalar lmax)
return;
if (axis == 1) {
- lmin = MT_clamp(lmin, -M_PI, M_PI);
- lmax = MT_clamp(lmax, -M_PI, M_PI);
+ lmin = MT_clamp(lmin, -MT_PI, MT_PI);
+ lmax = MT_clamp(lmax, -MT_PI, MT_PI);
m_min_y = lmin;
m_max_y = lmax;
@@ -382,8 +379,8 @@ void IK_QSphericalSegment::SetLimit(int axis, MT_Scalar lmin, MT_Scalar lmax)
}
else {
// clamp and convert to axis angle parameters
- lmin = MT_clamp(lmin, -M_PI, M_PI);
- lmax = MT_clamp(lmax, -M_PI, M_PI);
+ lmin = MT_clamp(lmin, -MT_PI, MT_PI);
+ lmax = MT_clamp(lmax, -MT_PI, MT_PI);
lmin = sin(lmin*0.5);
lmax = sin(lmax*0.5);
@@ -615,8 +612,8 @@ void IK_QRevoluteSegment::SetLimit(int axis, MT_Scalar lmin, MT_Scalar lmax)
return;
// clamp and convert to axis angle parameters
- lmin = MT_clamp(lmin, -M_PI, M_PI);
- lmax = MT_clamp(lmax, -M_PI, M_PI);
+ lmin = MT_clamp(lmin, -MT_PI, MT_PI);
+ lmax = MT_clamp(lmax, -MT_PI, MT_PI);
m_min = lmin;
m_max = lmax;
@@ -754,8 +751,8 @@ void IK_QSwingSegment::SetLimit(int axis, MT_Scalar lmin, MT_Scalar lmax)
return;
// clamp and convert to axis angle parameters
- lmin = MT_clamp(lmin, -M_PI, M_PI);
- lmax = MT_clamp(lmax, -M_PI, M_PI);
+ lmin = MT_clamp(lmin, -MT_PI, MT_PI);
+ lmax = MT_clamp(lmax, -MT_PI, MT_PI);
lmin = sin(lmin*0.5);
lmax = sin(lmax*0.5);
@@ -900,8 +897,8 @@ void IK_QElbowSegment::SetLimit(int axis, MT_Scalar lmin, MT_Scalar lmax)
return;
// clamp and convert to axis angle parameters
- lmin = MT_clamp(lmin, -M_PI, M_PI);
- lmax = MT_clamp(lmax, -M_PI, M_PI);
+ lmin = MT_clamp(lmin, -MT_PI, MT_PI);
+ lmax = MT_clamp(lmax, -MT_PI, MT_PI);
lmin = lmin;
lmax = lmax;
diff --git a/intern/iksolver/intern/TNT/svd.h b/intern/iksolver/intern/TNT/svd.h
index 9ca51fa2650..9ae289474a9 100644
--- a/intern/iksolver/intern/TNT/svd.h
+++ b/intern/iksolver/intern/TNT/svd.h
@@ -349,8 +349,9 @@ void SVD(MaTRiX &A, MaTRiX &U, VecToR &s, MaTRiX &V, VecToR &work1, VecToR &work
for (j = k; j < p-1; j++) {
typename MaTRiX::value_type t = hypot(f,g);
- typename MaTRiX::value_type cs = f/t;
- typename MaTRiX::value_type sn = g/t;
+ /* division by zero checks added to avoid NaN (brecht) */
+ typename MaTRiX::value_type cs = (t == 0.0f)? 0.0f: f/t;
+ typename MaTRiX::value_type sn = (t == 0.0f)? 0.0f: g/t;
if (j != k) {
e[j-1] = t;
}
@@ -366,8 +367,9 @@ void SVD(MaTRiX &A, MaTRiX &U, VecToR &s, MaTRiX &V, VecToR &work1, VecToR &work
}
t = hypot(f,g);
- cs = f/t;
- sn = g/t;
+ /* division by zero checks added to avoid NaN (brecht) */
+ cs = (t == 0.0f)? 0.0f: f/t;
+ sn = (t == 0.0f)? 0.0f: g/t;
s[j] = t;
f = cs*e[j] + sn*s[j+1];
s[j+1] = -sn*e[j] + cs*s[j+1];
diff --git a/intern/iksolver/intern/TNT/vec.h b/intern/iksolver/intern/TNT/vec.h
index 1729d83ca10..040097afbd9 100644
--- a/intern/iksolver/intern/TNT/vec.h
+++ b/intern/iksolver/intern/TNT/vec.h
@@ -416,7 +416,7 @@ void vectoradd(
A[i] += B[i];
}
-// same with seperate output vector
+// same with separate output vector
template <class T>
void vectoradd(
diff --git a/intern/iksolver/test/ik_glut_test/common/GlutDrawer.cpp b/intern/iksolver/test/ik_glut_test/common/GlutDrawer.cpp
index 7b87c69928f..1882038163d 100644
--- a/intern/iksolver/test/ik_glut_test/common/GlutDrawer.cpp
+++ b/intern/iksolver/test/ik_glut_test/common/GlutDrawer.cpp
@@ -26,10 +26,6 @@
* ***** END GPL LICENSE BLOCK *****
*/
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
#include "GlutDrawer.h"
#include "MT_assert.h"
diff --git a/intern/iksolver/test/ik_glut_test/common/GlutKeyboardManager.cpp b/intern/iksolver/test/ik_glut_test/common/GlutKeyboardManager.cpp
index 9412dc25e42..c7c592204e8 100644
--- a/intern/iksolver/test/ik_glut_test/common/GlutKeyboardManager.cpp
+++ b/intern/iksolver/test/ik_glut_test/common/GlutKeyboardManager.cpp
@@ -26,10 +26,6 @@
* ***** END GPL LICENSE BLOCK *****
*/
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
#include "GlutKeyboardManager.h"
#include "MT_assert.h"
diff --git a/intern/iksolver/test/ik_glut_test/common/GlutMouseManager.cpp b/intern/iksolver/test/ik_glut_test/common/GlutMouseManager.cpp
index 79187a7fd1b..98e36af5c79 100644
--- a/intern/iksolver/test/ik_glut_test/common/GlutMouseManager.cpp
+++ b/intern/iksolver/test/ik_glut_test/common/GlutMouseManager.cpp
@@ -26,10 +26,6 @@
* ***** END GPL LICENSE BLOCK *****
*/
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
#include "GlutMouseManager.h"
#include "MT_assert.h"
diff --git a/intern/iksolver/test/ik_glut_test/intern/main.cpp b/intern/iksolver/test/ik_glut_test/intern/main.cpp
index f323648dbd7..f2e91ee9c31 100644
--- a/intern/iksolver/test/ik_glut_test/intern/main.cpp
+++ b/intern/iksolver/test/ik_glut_test/intern/main.cpp
@@ -26,10 +26,6 @@
* ***** END GPL LICENSE BLOCK *****
*/
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
#include "MEM_SmartPtr.h"
#ifdef USE_QUATERNIONS