diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2017-11-05 09:25:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-05 09:25:33 +0100 |
commit | a89fa34c21103430b1d140ee04c3ae6a433d77ce (patch) | |
tree | 9ecfb36702c2044937c2063f4ef09da62bd7ca1f /thirdparty/bullet/src/BulletInverseDynamics/details/IDEigenInterface.hpp | |
parent | f7a41c1e309226bd0deb6381e71a5ce005cbe4ef (diff) | |
parent | fb4871c919571d719d27738cc4d7db496a575b57 (diff) | |
download | redot-engine-a89fa34c21103430b1d140ee04c3ae6a433d77ce.tar.gz |
Merge pull request #12641 from AndreaCatania/bullet
Bullet physics wrapper
Diffstat (limited to 'thirdparty/bullet/src/BulletInverseDynamics/details/IDEigenInterface.hpp')
-rw-r--r-- | thirdparty/bullet/src/BulletInverseDynamics/details/IDEigenInterface.hpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/thirdparty/bullet/src/BulletInverseDynamics/details/IDEigenInterface.hpp b/thirdparty/bullet/src/BulletInverseDynamics/details/IDEigenInterface.hpp new file mode 100644 index 0000000000..836395cea2 --- /dev/null +++ b/thirdparty/bullet/src/BulletInverseDynamics/details/IDEigenInterface.hpp @@ -0,0 +1,36 @@ +#ifndef INVDYNEIGENINTERFACE_HPP_ +#define INVDYNEIGENINTERFACE_HPP_ +#include "../IDConfig.hpp" +namespace btInverseDynamics { + +#define BT_ID_HAVE_MAT3X + +#ifdef BT_USE_DOUBLE_PRECISION +typedef Eigen::Matrix<double, Eigen::Dynamic, 1, Eigen::DontAlign> vecx; +typedef Eigen::Matrix<double, 3, 1, Eigen::DontAlign> vec3; +typedef Eigen::Matrix<double, 3, 3, Eigen::DontAlign> mat33; +typedef Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::DontAlign> matxx; +typedef Eigen::Matrix<double, 3, Eigen::Dynamic, Eigen::DontAlign> mat3x; +#else +typedef Eigen::Matrix<float, Eigen::Dynamic, 1, Eigen::DontAlign> vecx; +typedef Eigen::Matrix<float, 3, 1, Eigen::DontAlign> vec3; +typedef Eigen::Matrix<float, 3, 3, Eigen::DontAlign> mat33; +typedef Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::DontAlign> matxx; +typedef Eigen::Matrix<float, 3, Eigen::Dynamic, Eigen::DontAlign> mat3x; +#endif + +inline void resize(mat3x &m, Eigen::Index size) { + m.resize(3, size); + m.setZero(); +} + +inline void setMatxxElem(const idArrayIdx row, const idArrayIdx col, const idScalar val, matxx*m){ + (*m)(row, col) = val; +} + +inline void setMat3xElem(const idArrayIdx row, const idArrayIdx col, const idScalar val, mat3x*m){ + (*m)(row, col) = val; +} + +} +#endif // INVDYNEIGENINTERFACE_HPP_ |