diff --git a/CMakeLists.txt b/CMakeLists.txt index 704c6ce8cbe9a3482d79a5497cc951d86657a105..c67436a527cfda16a9c239583151343e0def0a1e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,8 @@ ADD_REQUIRED_DEPENDENCY("urdfdom >= v0.3.0") SET(HEADERS exception.hpp assert.hpp + math/sincos.hpp + tools/timer.hpp spatial/symmetric3.hpp spatial/se3.hpp spatial/motion.hpp @@ -60,7 +62,6 @@ SET(HEADERS multibody/visitor.hpp multibody/parser/urdf.hpp multibody/parser/sample-models.hpp - tools/timer.hpp algorithm/rnea.hpp algorithm/crba.hpp algorithm/jacobian.hpp @@ -80,6 +81,7 @@ SET(HEADERS ) MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio") +MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/math") MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/spatial") MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/multibody") MAKE_DIRECTORY("${${PROJECT_NAME}_BINARY_DIR}/include/pinocchio/multibody/joint") diff --git a/cmake b/cmake index 112f519a2efb0a86f86fac94003be15ea4e8699b..2ff6e02faf16d06d442b87b680a400f083c101e0 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit 112f519a2efb0a86f86fac94003be15ea4e8699b +Subproject commit 2ff6e02faf16d06d442b87b680a400f083c101e0 diff --git a/src/math/sincos.hpp b/src/math/sincos.hpp new file mode 100644 index 0000000000000000000000000000000000000000..2745062b71f4f6cf8f1355415961317cb27ffc28 --- /dev/null +++ b/src/math/sincos.hpp @@ -0,0 +1,12 @@ +#ifndef __math_sincos_hpp__ +#define __math_sincos_hpp__ + +#include <cmath> + +#ifdef __linux__ +#define SINCOS sincos +#elif __APPLE__ +#define SINCOS __sincos +#endif + +#endif //#ifndef __math_sincos_hpp__ diff --git a/src/multibody/joint/joint-revolute.hpp b/src/multibody/joint/joint-revolute.hpp index 18c3fc7aa268a285a23678490cb611eb9f60e200..5f698c0e5443b80ca524568e9605ee0f724dbd6d 100644 --- a/src/multibody/joint/joint-revolute.hpp +++ b/src/multibody/joint/joint-revolute.hpp @@ -4,6 +4,7 @@ #include "pinocchio/multibody/joint/joint-base.hpp" #include "pinocchio/multibody/constraint.hpp" #include "pinocchio/spatial/inertia.hpp" +#include "pinocchio/math/sincos.hpp" #include "pinocchio/multibody/force-set.hpp" namespace se3 @@ -161,7 +162,7 @@ namespace se3 Eigen::Matrix3d JointRevolute<0>::cartesianRotation(const double & angle) { Eigen::Matrix3d R3; - double ca,sa; sincos(angle,&sa,&ca); + double ca,sa; SINCOS (angle,&sa,&ca); R3 << 1,0,0, 0,ca,-sa, @@ -172,7 +173,7 @@ namespace se3 Eigen::Matrix3d JointRevolute<1>::cartesianRotation(const double & angle) { Eigen::Matrix3d R3; - double ca,sa; sincos(angle,&sa,&ca); + double ca,sa; SINCOS (angle,&sa,&ca); R3 << ca, 0, sa, 0, 1, 0, @@ -183,7 +184,7 @@ namespace se3 Eigen::Matrix3d JointRevolute<2>::cartesianRotation(const double & angle) { Eigen::Matrix3d R3; - double ca,sa; sincos(angle,&sa,&ca); + double ca,sa; SINCOS (angle,&sa,&ca); R3 << ca,-sa,0, sa,ca,0,