From ae07ce2ea710432706d99758392d2a1120f34178 Mon Sep 17 00:00:00 2001 From: nicolaichuk Date: Wed, 29 Mar 2017 17:11:26 +0300 Subject: [PATCH 1/3] * add BT_USE_INVERSE_DYNAMICS_WITH_BULLET2 --- src/BulletInverseDynamics/IDConfig.hpp | 17 +++++++++++++++++ src/BulletInverseDynamics/IDErrorMessages.hpp | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/BulletInverseDynamics/IDConfig.hpp b/src/BulletInverseDynamics/IDConfig.hpp index 000cdc58a..ebb10e7a1 100644 --- a/src/BulletInverseDynamics/IDConfig.hpp +++ b/src/BulletInverseDynamics/IDConfig.hpp @@ -68,6 +68,10 @@ typedef btScalar idScalar; #ifdef BT_USE_DOUBLE_PRECISION #define BT_ID_USE_DOUBLE_PRECISION #endif + +#ifndef BT_USE_INVERSE_DYNAMICS_WITH_BULLET2 + + // use bullet types for arrays and array indices #include "Bullet3Common/b3AlignedObjectArray.h" // this is to make it work with C++2003, otherwise we could do this: @@ -80,6 +84,19 @@ struct idArray { typedef int idArrayIdx; #define ID_DECLARE_ALIGNED_ALLOCATOR() B3_DECLARE_ALIGNED_ALLOCATOR() +#else // BT_USE_INVERSE_DYNAMICS_WITH_BULLET2 + +#include "LinearMath/btAlignedObjectArray.h" +template +struct idArray { + typedef btAlignedObjectArray type; +}; +typedef int idArrayIdx; +#define ID_DECLARE_ALIGNED_ALLOCATOR() BT_DECLARE_ALIGNED_ALLOCATOR() + +#endif // BT_USE_INVERSE_DYNAMICS_WITH_BULLET2 + + // use bullet's allocator functions #define idMalloc btAllocFunc #define idFree btFreeFunc diff --git a/src/BulletInverseDynamics/IDErrorMessages.hpp b/src/BulletInverseDynamics/IDErrorMessages.hpp index a3866edc5..4e4c3f70b 100644 --- a/src/BulletInverseDynamics/IDErrorMessages.hpp +++ b/src/BulletInverseDynamics/IDErrorMessages.hpp @@ -5,7 +5,7 @@ /// name of file being compiled, without leading path components #define __INVDYN_FILE_WO_DIR__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) -#ifndef BT_ID_WO_BULLET +#if !defined(BT_ID_WO_BULLET) && !defined(BT_USE_INVERSE_DYNAMICS_WITH_BULLET2) #include "Bullet3Common/b3Logging.h" #define error_message(...) b3Error(__VA_ARGS__) #define warning_message(...) b3Warning(__VA_ARGS__) From f30464ebcb7aa7054550edecdbe72dd98e755b4e Mon Sep 17 00:00:00 2001 From: nicolaichuk Date: Wed, 29 Mar 2017 18:20:36 +0300 Subject: [PATCH 2/3] Revert "add compare operators in btAABB" This reverts commit 18f17be47d4853b273204ee17e06f78d5a669566. --- src/BulletCollision/Gimpact/btBoxCollision.h | 19 +------ .../Gimpact/btGImpactBvhStructs.h | 56 ------------------- 2 files changed, 1 insertion(+), 74 deletions(-) diff --git a/src/BulletCollision/Gimpact/btBoxCollision.h b/src/BulletCollision/Gimpact/btBoxCollision.h index 2fa1fb0df..0a0357e5a 100644 --- a/src/BulletCollision/Gimpact/btBoxCollision.h +++ b/src/BulletCollision/Gimpact/btBoxCollision.h @@ -234,24 +234,7 @@ public: btAABB() {} - - bool operator<(const btAABB& obj) const { - return - m_min < obj.m_min && - m_max < obj.m_max; - } - - bool operator>(const btAABB& obj) const { - return - m_min > obj.m_min && - m_max > obj.m_max; - } - - bool operator==(const btAABB& obj) const { - return - m_min == obj.m_min && - m_max == obj.m_max; - } + btAABB(const btVector3 & V1, const btVector3 & V2, diff --git a/src/BulletCollision/Gimpact/btGImpactBvhStructs.h b/src/BulletCollision/Gimpact/btGImpactBvhStructs.h index 1e082fe2d..9342a572d 100644 --- a/src/BulletCollision/Gimpact/btGImpactBvhStructs.h +++ b/src/BulletCollision/Gimpact/btGImpactBvhStructs.h @@ -35,25 +35,6 @@ struct GIM_PAIR { int m_index1; int m_index2; - - bool operator<(const GIM_PAIR& obj) const { - return - m_index1 < obj.m_index1 && - m_index2 < obj.m_index2; - } - - bool operator>(const GIM_PAIR& obj) const { - return - m_index1 > obj.m_index1 && - m_index2 > obj.m_index2; - } - - bool operator==(const GIM_PAIR& obj) const { - return - m_index1 == obj.m_index1 && - m_index2 == obj.m_index2; - } - GIM_PAIR() {} @@ -75,24 +56,6 @@ struct GIM_BVH_DATA { btAABB m_bound; int m_data; - - bool operator<(const GIM_BVH_DATA& obj) const { - return - m_bound < obj.m_bound && - m_data < obj.m_data; - } - - bool operator>(const GIM_BVH_DATA& obj) const { - return - m_bound > obj.m_bound && - m_data > obj.m_data; - } - - bool operator==(const GIM_BVH_DATA& obj) const { - return - m_bound == obj.m_bound && - m_data == obj.m_data; - } }; //! Node Structure for trees @@ -103,25 +66,6 @@ public: protected: int m_escapeIndexOrDataIndex; public: - - bool operator<(const GIM_BVH_TREE_NODE& obj) const { - return - m_bound < obj.m_bound && - m_escapeIndexOrDataIndex < obj.m_escapeIndexOrDataIndex; - } - - bool operator>(const GIM_BVH_TREE_NODE& obj) const { - return - m_bound > obj.m_bound && - m_escapeIndexOrDataIndex > obj.m_escapeIndexOrDataIndex; - } - - bool operator==(const GIM_BVH_TREE_NODE& obj) const { - return - m_bound == obj.m_bound && - m_escapeIndexOrDataIndex == obj.m_escapeIndexOrDataIndex; - } - GIM_BVH_TREE_NODE() { m_escapeIndexOrDataIndex = 0; From a35926267816bc3e2bf511118eb2bf5b1b0a4238 Mon Sep 17 00:00:00 2001 From: nicolaichuk Date: Wed, 29 Mar 2017 18:21:08 +0300 Subject: [PATCH 3/3] remove redefine warning_message --- src/BulletInverseDynamics/IDErrorMessages.hpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/BulletInverseDynamics/IDErrorMessages.hpp b/src/BulletInverseDynamics/IDErrorMessages.hpp index 4e4c3f70b..1dc22f860 100644 --- a/src/BulletInverseDynamics/IDErrorMessages.hpp +++ b/src/BulletInverseDynamics/IDErrorMessages.hpp @@ -24,11 +24,6 @@ fprintf(stderr, "[Warning:%s:%d] ", __INVDYN_FILE_WO_DIR__, __LINE__); \ fprintf(stderr, __VA_ARGS__); \ } while (0) -#define warning_message(...) \ - do { \ - fprintf(stderr, "[Warning:%s:%d] ", __INVDYN_FILE_WO_DIR__, __LINE__); \ - fprintf(stderr, __VA_ARGS__); \ - } while (0) #define id_printf(...) printf(__VA_ARGS__) #endif // BT_ID_WO_BULLET #endif