diff --git a/cmake/macros/IncludeBullet.cmake b/cmake/macros/IncludeBullet.cmake index a238b33660..186e84d1ab 100644 --- a/cmake/macros/IncludeBullet.cmake +++ b/cmake/macros/IncludeBullet.cmake @@ -8,11 +8,9 @@ # macro(INCLUDE_BULLET) - find_package(Bullet) - if (BULLET_FOUND) - include_directories("${BULLET_INCLUDE_DIRS}") - if (APPLE OR UNIX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_BULLET_PHYSICS -isystem ${BULLET_INCLUDE_DIRS}") - endif () - endif (BULLET_FOUND) + find_package(Bullet REQUIRED) + include_directories("${BULLET_INCLUDE_DIRS}") + if (APPLE OR UNIX) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem ${BULLET_INCLUDE_DIRS}") + endif() endmacro(INCLUDE_BULLET) diff --git a/cmake/modules/FindBullet.cmake b/cmake/modules/FindBullet.cmake new file mode 100644 index 0000000000..65d064e91b --- /dev/null +++ b/cmake/modules/FindBullet.cmake @@ -0,0 +1,93 @@ +# - Try to find the Bullet physics engine +# +# This module defines the following variables +# +# BULLET_FOUND - Was bullet found +# BULLET_INCLUDE_DIRS - the Bullet include directories +# BULLET_LIBRARIES - Link to this, by default it includes +# all bullet components (Dynamics, +# Collision, LinearMath, & SoftBody) +# +# This module accepts the following variables +# +# BULLET_ROOT - Can be set to bullet install path or Windows build path +# +# Modified on 2015.01.15 by Andrew Meadows +# This is an adapted version of the FindBullet.cmake module distributed with Cmake 2.8.12.2 +# The original license for that file is displayed below. +# +#============================================================================= +# Copyright 2009 Kitware, Inc. +# Copyright 2009 Philip Lowman +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distribute this file outside of CMake, substitute the full +# License text for the above reference.) + + +include("${MACRO_DIR}/HifiLibrarySearchHints.cmake") +hifi_library_search_hints("bullet") + +macro(_FIND_BULLET_LIBRARY _var) + find_library(${_var} + NAMES + ${ARGN} + HINTS + ${BULLET_SEARCH_DIRS} + $ENV{BULLET_ROOT_DIR} + ${BULLET_ROOT} + ${BULLET_ROOT}/out/release8/libs + ${BULLET_ROOT}/out/debug8/libs + PATH_SUFFIXES lib lib/Release lib/Debug + ) + mark_as_advanced(${_var}) +endmacro() + +macro(_BULLET_APPEND_LIBRARIES _list _release) + set(_debug ${_release}_DEBUG) + if(${_debug}) + set(${_list} ${${_list}} optimized ${${_release}} debug ${${_debug}}) + else() + set(${_list} ${${_list}} ${${_release}}) + endif() +endmacro() + +find_path(BULLET_INCLUDE_DIR NAMES btBulletCollisionCommon.h + HINTS + ${BULLET_SEARCH_DIRS}/include + $ENV{BULLET_ROOT_DIR} + ${BULLET_ROOT}/include + ${BULLET_ROOT}/src + PATH_SUFFIXES bullet +) + +# Find the libraries + +_FIND_BULLET_LIBRARY(BULLET_DYNAMICS_LIBRARY BulletDynamics) +_FIND_BULLET_LIBRARY(BULLET_DYNAMICS_LIBRARY_DEBUG BulletDynamics_Debug BulletDynamics_d) +_FIND_BULLET_LIBRARY(BULLET_COLLISION_LIBRARY BulletCollision) +_FIND_BULLET_LIBRARY(BULLET_COLLISION_LIBRARY_DEBUG BulletCollision_Debug BulletCollision_d) +_FIND_BULLET_LIBRARY(BULLET_MATH_LIBRARY BulletMath LinearMath) +_FIND_BULLET_LIBRARY(BULLET_MATH_LIBRARY_DEBUG BulletMath_Debug BulletMath_d LinearMath_Debug LinearMath_d) +_FIND_BULLET_LIBRARY(BULLET_SOFTBODY_LIBRARY BulletSoftBody) +_FIND_BULLET_LIBRARY(BULLET_SOFTBODY_LIBRARY_DEBUG BulletSoftBody_Debug BulletSoftBody_d) + + +find_package_handle_standard_args(Bullet "Could NOT find Bullet, try to set the path to Bullet root folder in the system variable BULLET_ROOT_DIR" + BULLET_DYNAMICS_LIBRARY BULLET_COLLISION_LIBRARY BULLET_MATH_LIBRARY + BULLET_INCLUDE_DIR +) + +set(BULLET_INCLUDE_DIRS ${BULLET_INCLUDE_DIR}) +if(BULLET_FOUND) + _BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_DYNAMICS_LIBRARY) + _BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_COLLISION_LIBRARY) + _BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_MATH_LIBRARY) + _BULLET_APPEND_LIBRARIES(BULLET_LIBRARIES BULLET_SOFTBODY_LIBRARY) +endif() diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 3ef17e9067..4dfe8313c6 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -190,9 +190,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : _frameCount(0), _fps(60.0f), _justStarted(true), -#ifdef USE_BULLET_PHYSICS _physicsEngine(glm::vec3(0.0f)), -#endif // USE_BULLET_PHYSICS _entities(true, this, this), _entityCollisionSystem(), _entityClipboardRenderer(false, this, this), @@ -1725,12 +1723,10 @@ void Application::init() { // save settings when avatar changes connect(_myAvatar, &MyAvatar::transformChanged, this, &Application::bumpSettings); -#ifdef USE_BULLET_PHYSICS EntityTree* tree = _entities.getTree(); _physicsEngine.setEntityTree(tree); tree->setSimulation(&_physicsEngine); _physicsEngine.init(&_entityEditSender); -#endif // USE_BULLET_PHYSICS // make sure our texture cache knows about window size changes DependencyManager::get()->associateWithWidget(glCanvas.data()); @@ -2041,12 +2037,10 @@ void Application::update(float deltaTime) { updateDialogs(deltaTime); // update various stats dialogs if present updateCursor(deltaTime); // Handle cursor updates -#ifdef USE_BULLET_PHYSICS { PerformanceTimer perfTimer("physics"); _physicsEngine.stepSimulation(); } -#endif // USE_BULLET_PHYSICS if (!_aboutToQuit) { PerformanceTimer perfTimer("entities"); @@ -3682,7 +3676,6 @@ void Application::openUrl(const QUrl& url) { void Application::updateMyAvatarTransform() { bumpSettings(); -#ifdef USE_BULLET_PHYSICS const float SIMULATION_OFFSET_QUANTIZATION = 16.0f; // meters glm::vec3 avatarPosition = _myAvatar->getPosition(); glm::vec3 physicsWorldOffset = _physicsEngine.getOriginOffset(); @@ -3696,7 +3689,6 @@ void Application::updateMyAvatarTransform() { // TODO: Andrew to replace this with method that actually moves existing object positions in PhysicsEngine _physicsEngine.setOriginOffset(newOriginOffset); } -#endif // USE_BULLET_PHYSICS } void Application::domainSettingsReceived(const QJsonObject& domainSettingsObject) { diff --git a/interface/src/Application.h b/interface/src/Application.h index 39d3832487..a875c6b9fe 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -463,9 +463,7 @@ private: bool _justStarted; Stars _stars; -#ifdef USE_BULLET_PHYSICS PhysicsEngine _physicsEngine; -#endif // USE_BULLET_PHYSICS EntityTreeRenderer _entities; EntityCollisionSystem _entityCollisionSystem; diff --git a/interface/src/ui/overlays/Text3DOverlay.cpp b/interface/src/ui/overlays/Text3DOverlay.cpp index 92f6350936..2f4cde50f7 100644 --- a/interface/src/ui/overlays/Text3DOverlay.cpp +++ b/interface/src/ui/overlays/Text3DOverlay.cpp @@ -238,8 +238,8 @@ QSizeF Text3DOverlay::textSize(const QString& text) const { QFont font(SANS_FONT_FAMILY, FIXED_FONT_POINT_SIZE); // Same font properties as render() QFontMetrics fontMetrics(font); - const float TEXT_SCALE_ADJUST = 1.02f; // Experimentally detemined for the specified font - const int TEXT_HEIGHT_ADJUST = -6; + const float TEXT_SCALE_ADJUST = 1.025f; // Experimentally detemined for the specified font + const int TEXT_HEIGHT_ADJUST = -10; float scaleFactor = _lineHeight * TEXT_SCALE_ADJUST * LINE_SCALE_RATIO / (float)FIXED_FONT_POINT_SIZE; QStringList lines = text.split(QRegExp("\r\n|\r|\n")); diff --git a/libraries/physics/src/BulletUtil.h b/libraries/physics/src/BulletUtil.h index 78524a122e..52bf2c8b06 100644 --- a/libraries/physics/src/BulletUtil.h +++ b/libraries/physics/src/BulletUtil.h @@ -12,8 +12,6 @@ #ifndef hifi_BulletUtil_h #define hifi_BulletUtil_h -#ifdef USE_BULLET_PHYSICS - #include #include #include @@ -34,5 +32,4 @@ inline btQuaternion glmToBullet(const glm::quat& g) { return btQuaternion(g.x, g.y, g.z, g.w); } -#endif // USE_BULLET_PHYSICS #endif // hifi_BulletUtil_h diff --git a/libraries/physics/src/EntityMotionState.cpp b/libraries/physics/src/EntityMotionState.cpp index 64d14075dd..9ff4a9d0e1 100644 --- a/libraries/physics/src/EntityMotionState.cpp +++ b/libraries/physics/src/EntityMotionState.cpp @@ -12,9 +12,7 @@ #include #include -#ifdef USE_BULLET_PHYSICS #include "BulletUtil.h" -#endif // USE_BULLET_PHYSICS #include "EntityMotionState.h" #include "SimpleEntityKinematicController.h" @@ -62,7 +60,6 @@ void EntityMotionState::addKinematicController() { } } -#ifdef USE_BULLET_PHYSICS // This callback is invoked by the physics simulation in two cases: // (1) when the RigidBody is first added to the world // (irregardless of MotionType: STATIC, DYNAMIC, or KINEMATIC) @@ -93,10 +90,8 @@ void EntityMotionState::setWorldTransform(const btTransform& worldTrans) { _outgoingPacketFlags = DIRTY_PHYSICS_FLAGS; EntityMotionState::enqueueOutgoingEntity(_entity); } -#endif // USE_BULLET_PHYSICS void EntityMotionState::updateObjectEasy(uint32_t flags, uint32_t frame) { -#ifdef USE_BULLET_PHYSICS if (flags & (EntityItem::DIRTY_POSITION | EntityItem::DIRTY_VELOCITY)) { if (flags & EntityItem::DIRTY_POSITION) { _sentPosition = _entity->getPositionInMeters() - ObjectMotionState::getWorldOffset(); @@ -132,11 +127,9 @@ void EntityMotionState::updateObjectEasy(uint32_t flags, uint32_t frame) { _body->updateInertiaTensor(); } _body->activate(); -#endif // USE_BULLET_PHYSICS }; void EntityMotionState::updateObjectVelocities() { -#ifdef USE_BULLET_PHYSICS if (_body) { _sentVelocity = _entity->getVelocityInMeters(); setVelocity(_sentVelocity); @@ -150,7 +143,6 @@ void EntityMotionState::updateObjectVelocities() { _body->setActivationState(ACTIVE_TAG); } -#endif // USE_BULLET_PHYSICS } void EntityMotionState::computeShapeInfo(ShapeInfo& shapeInfo) { @@ -162,7 +154,6 @@ float EntityMotionState::computeMass(const ShapeInfo& shapeInfo) const { } void EntityMotionState::sendUpdate(OctreeEditPacketSender* packetSender, uint32_t frame) { -#ifdef USE_BULLET_PHYSICS if (!_entity->isKnownID()) { return; // never update entities that are unknown } @@ -232,12 +223,11 @@ void EntityMotionState::sendUpdate(OctreeEditPacketSender* packetSender, uint32_ _outgoingPacketFlags = DIRTY_PHYSICS_FLAGS; _sentFrame = frame; } -#endif // USE_BULLET_PHYSICS } uint32_t EntityMotionState::getIncomingDirtyFlags() const { uint32_t dirtyFlags = _entity->getDirtyFlags(); -#ifdef USE_BULLET_PHYSICS + // we add DIRTY_MOTION_TYPE if the body's motion type disagrees with entity velocity settings int bodyFlags = _body->getCollisionFlags(); bool isMoving = _entity->isMoving(); @@ -245,6 +235,5 @@ uint32_t EntityMotionState::getIncomingDirtyFlags() const { (bodyFlags & btCollisionObject::CF_KINEMATIC_OBJECT && !isMoving)) { dirtyFlags |= EntityItem::DIRTY_MOTION_TYPE; } -#endif // USE_BULLET_PHYSICS return dirtyFlags; } diff --git a/libraries/physics/src/EntityMotionState.h b/libraries/physics/src/EntityMotionState.h index 6d98ee167d..da06d46451 100644 --- a/libraries/physics/src/EntityMotionState.h +++ b/libraries/physics/src/EntityMotionState.h @@ -14,18 +14,8 @@ #include -#include "ObjectMotionState.h" - -#ifndef USE_BULLET_PHYSICS -// ObjectMotionState stubbery #include "KinematicController.h" -class ObjectMotionState { -public: - // so that this stub implementation is not completely empty we give the class a data member - KinematicController* _kinematicController; - bool _stubData; -}; -#endif // USE_BULLET_PHYSICS +#include "ObjectMotionState.h" class EntityItem; @@ -52,13 +42,11 @@ public: // virtual override for ObjectMotionState void addKinematicController(); -#ifdef USE_BULLET_PHYSICS // this relays incoming position/rotation to the RigidBody void getWorldTransform(btTransform& worldTrans) const; // this relays outgoing position/rotation to the EntityItem void setWorldTransform(const btTransform& worldTrans); -#endif // USE_BULLET_PHYSICS // these relay incoming values to the RigidBody void updateObjectEasy(uint32_t flags, uint32_t frame); diff --git a/libraries/physics/src/ObjectMotionState.cpp b/libraries/physics/src/ObjectMotionState.cpp index 0e6637b4f2..f4997b679c 100644 --- a/libraries/physics/src/ObjectMotionState.cpp +++ b/libraries/physics/src/ObjectMotionState.cpp @@ -9,8 +9,6 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // -#ifdef USE_BULLET_PHYSICS - #include #include "BulletUtil.h" @@ -18,14 +16,6 @@ #include "ObjectMotionState.h" #include "PhysicsEngine.h" -const float MIN_DENSITY = 200.0f; -const float DEFAULT_DENSITY = 1000.0f; -const float MAX_DENSITY = 20000.0f; - -const float MIN_VOLUME = 0.001f; -const float DEFAULT_VOLUME = 1.0f; -const float MAX_VOLUME = 1000000.0f; - const float DEFAULT_FRICTION = 0.5f; const float MAX_FRICTION = 10.0f; @@ -180,5 +170,3 @@ void ObjectMotionState::removeKinematicController() { _kinematicController = NULL; } } - -#endif // USE_BULLET_PHYSICS diff --git a/libraries/physics/src/ObjectMotionState.h b/libraries/physics/src/ObjectMotionState.h index ccb94aa66c..4d454554cb 100644 --- a/libraries/physics/src/ObjectMotionState.h +++ b/libraries/physics/src/ObjectMotionState.h @@ -12,8 +12,13 @@ #ifndef hifi_ObjectMotionState_h #define hifi_ObjectMotionState_h +#include +#include + #include +#include "ShapeInfo.h" + enum MotionType { MOTION_TYPE_STATIC, // no motion MOTION_TYPE_DYNAMIC, // motion according to physical laws @@ -32,13 +37,6 @@ const uint32_t DIRTY_PHYSICS_FLAGS = HARD_DIRTY_PHYSICS_FLAGS | EASY_DIRTY_PHYSI // These are the outgoing flags that the PhysicsEngine can affect: const uint32_t OUTGOING_DIRTY_PHYSICS_FLAGS = EntityItem::DIRTY_POSITION | EntityItem::DIRTY_VELOCITY; -#ifdef USE_BULLET_PHYSICS - -#include -#include -#include // for EntityItem::DIRTY_FOO bitmasks - -#include "ShapeInfo.h" class OctreeEditPacketSender; class KinematicController; @@ -117,5 +115,4 @@ protected: KinematicController* _kinematicController = NULL; }; -#endif // USE_BULLET_PHYSICS #endif // hifi_ObjectMotionState_h diff --git a/libraries/physics/src/PhysicsEngine.cpp b/libraries/physics/src/PhysicsEngine.cpp index c5c2d91cf3..e33e1a453c 100644 --- a/libraries/physics/src/PhysicsEngine.cpp +++ b/libraries/physics/src/PhysicsEngine.cpp @@ -10,7 +10,8 @@ // #include "PhysicsEngine.h" - +#include "ShapeInfoUtil.h" +#include "ThreadSafeDynamicsWorld.h" static uint32_t _frameCount; @@ -19,11 +20,6 @@ uint32_t PhysicsEngine::getFrameCount() { return _frameCount; } -#ifdef USE_BULLET_PHYSICS - -#include "ShapeInfoUtil.h" -#include "ThreadSafeDynamicsWorld.h" - PhysicsEngine::PhysicsEngine(const glm::vec3& offset) : _collisionConfig(NULL), _collisionDispatcher(NULL), @@ -411,5 +407,3 @@ void PhysicsEngine::updateObjectHard(btRigidBody* body, ObjectMotionState* motio body->activate(); } - -#endif // USE_BULLET_PHYSICS diff --git a/libraries/physics/src/PhysicsEngine.h b/libraries/physics/src/PhysicsEngine.h index b11dd82081..f37f12ea8d 100644 --- a/libraries/physics/src/PhysicsEngine.h +++ b/libraries/physics/src/PhysicsEngine.h @@ -16,8 +16,6 @@ const float PHYSICS_ENGINE_FIXED_SUBSTEP = 1.0f / 60.0f; -#ifdef USE_BULLET_PHYSICS - #include #include @@ -96,11 +94,4 @@ private: EntityEditPacketSender* _entityPacketSender; }; -#else // USE_BULLET_PHYSICS -// PhysicsEngine stubbery until Bullet is required -class PhysicsEngine { -public: - static uint32_t getFrameCount(); -}; -#endif // USE_BULLET_PHYSICS #endif // hifi_PhysicsEngine_h diff --git a/libraries/physics/src/ShapeInfoUtil.cpp b/libraries/physics/src/ShapeInfoUtil.cpp index f562201f73..0e9dc55a8c 100644 --- a/libraries/physics/src/ShapeInfoUtil.cpp +++ b/libraries/physics/src/ShapeInfoUtil.cpp @@ -15,9 +15,6 @@ #include "ShapeInfoUtil.h" #include "BulletUtil.h" -#ifdef USE_BULLET_PHYSICS - - int ShapeInfoUtil::toBulletShapeType(int shapeInfoType) { int bulletShapeType = INVALID_SHAPE_PROXYTYPE; switch(shapeInfoType) { @@ -168,5 +165,3 @@ DoubleHashKey ShapeInfoUtil::computeHash(const ShapeInfo& info) { key._hash2 = (int)hash; return key; } - -#endif // USE_BULLET_PHYSICS diff --git a/libraries/physics/src/ShapeInfoUtil.h b/libraries/physics/src/ShapeInfoUtil.h index 7363cf483b..438e3df715 100644 --- a/libraries/physics/src/ShapeInfoUtil.h +++ b/libraries/physics/src/ShapeInfoUtil.h @@ -12,8 +12,6 @@ #ifndef hifi_ShapeInfoUtil_h #define hifi_ShapeInfoUtil_h -#ifdef USE_BULLET_PHYSICS - #include #include @@ -35,5 +33,4 @@ namespace ShapeInfoUtil { int fromBulletShapeType(int bulletShapeType); }; -#endif // USE_BULLET_PHYSICS #endif // hifi_ShapeInfoUtil_h diff --git a/libraries/physics/src/ShapeManager.cpp b/libraries/physics/src/ShapeManager.cpp index 1da705a5ff..b153150ce6 100644 --- a/libraries/physics/src/ShapeManager.cpp +++ b/libraries/physics/src/ShapeManager.cpp @@ -9,8 +9,6 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // -#ifdef USE_BULLET_PHYSICS - #include #include "ShapeInfoUtil.h" @@ -104,6 +102,3 @@ int ShapeManager::getNumReferences(const ShapeInfo& info) const { } return -1; } - - -#endif // USE_BULLET_PHYSICS diff --git a/libraries/physics/src/ShapeManager.h b/libraries/physics/src/ShapeManager.h index 6eb4f363ff..3fe80c7b61 100644 --- a/libraries/physics/src/ShapeManager.h +++ b/libraries/physics/src/ShapeManager.h @@ -12,8 +12,6 @@ #ifndef hifi_ShapeManager_h #define hifi_ShapeManager_h -#ifdef USE_BULLET_PHYSICS - #include #include @@ -52,5 +50,4 @@ private: btAlignedObjectArray _pendingGarbage; }; -#endif // USE_BULLET_PHYSICS #endif // hifi_ShapeManager_h diff --git a/libraries/physics/src/ThreadSafeDynamicsWorld.cpp b/libraries/physics/src/ThreadSafeDynamicsWorld.cpp index e204ae9e7f..c7ee9ce2a0 100644 --- a/libraries/physics/src/ThreadSafeDynamicsWorld.cpp +++ b/libraries/physics/src/ThreadSafeDynamicsWorld.cpp @@ -17,7 +17,6 @@ #include "ThreadSafeDynamicsWorld.h" -#ifdef USE_BULLET_PHYSICS ThreadSafeDynamicsWorld::ThreadSafeDynamicsWorld( btDispatcher* dispatcher, btBroadphaseInterface* pairCache, @@ -82,4 +81,3 @@ int ThreadSafeDynamicsWorld::stepSimulation( btScalar timeStep, int maxSubSteps, return subSteps; } -#endif // USE_BULLET_PHYSICS diff --git a/libraries/physics/src/ThreadSafeDynamicsWorld.h b/libraries/physics/src/ThreadSafeDynamicsWorld.h index 64d5413c56..832efb9b60 100644 --- a/libraries/physics/src/ThreadSafeDynamicsWorld.h +++ b/libraries/physics/src/ThreadSafeDynamicsWorld.h @@ -18,7 +18,6 @@ #ifndef hifi_ThreadSafeDynamicsWorld_h #define hifi_ThreadSafeDynamicsWorld_h -#ifdef USE_BULLET_PHYSICS #include ATTRIBUTE_ALIGNED16(class) ThreadSafeDynamicsWorld : public btDiscreteDynamicsWorld { @@ -40,13 +39,4 @@ public: float getLocalTimeAccumulation() const { return m_localTime; } }; -#else // USE_BULLET_PHYSICS -// stubbery for ThreadSafeDynamicsWorld when Bullet not available -class ThreadSafeDynamicsWorld { -public: - ThreadSafeDynamicsWorld() {} -}; - -#endif // USE_BULLET_PHYSICS - #endif // hifi_ThreadSafeDynamicsWorld_h diff --git a/tests/physics/src/BulletUtilTests.cpp b/tests/physics/src/BulletUtilTests.cpp index 06b1815c6e..a094cfe94b 100644 --- a/tests/physics/src/BulletUtilTests.cpp +++ b/tests/physics/src/BulletUtilTests.cpp @@ -16,7 +16,6 @@ #include "BulletUtilTests.h" -#ifdef USE_BULLET_PHYSICS void BulletUtilTests::fromBulletToGLM() { btVector3 bV(1.23f, 4.56f, 7.89f); glm::vec3 gV = bulletToGLM(bV); @@ -101,14 +100,3 @@ void BulletUtilTests::runAllTests() { fromBulletToGLM(); fromGLMToBullet(); } - -#else // USE_BULLET_PHYSICS -void BulletUtilTests::fromBulletToGLM() { -} - -void BulletUtilTests::fromGLMToBullet() { -} - -void BulletUtilTests::runAllTests() { -} -#endif // USE_BULLET_PHYSICS diff --git a/tests/physics/src/ShapeInfoTests.cpp b/tests/physics/src/ShapeInfoTests.cpp index a4db3a5764..cbef53f2eb 100644 --- a/tests/physics/src/ShapeInfoTests.cpp +++ b/tests/physics/src/ShapeInfoTests.cpp @@ -11,10 +11,8 @@ #include -#ifdef USE_BULLET_PHYSICS #include #include -#endif // USE_BULLET_PHYSICS #include #include @@ -24,7 +22,6 @@ #include "ShapeInfoTests.h" void ShapeInfoTests::testHashFunctions() { -#ifdef USE_BULLET_PHYSICS int maxTests = 10000000; ShapeInfo info; btHashMap hashes; @@ -135,11 +132,9 @@ void ShapeInfoTests::testHashFunctions() { for (int i = 0; i < 32; ++i) { std::cout << "bit 0x" << std::hex << masks[i] << std::dec << " = " << bits[i] << std::endl; } -#endif // USE_BULLET_PHYSICS } void ShapeInfoTests::testBoxShape() { -#ifdef USE_BULLET_PHYSICS ShapeInfo info; glm::vec3 halfExtents(1.23f, 4.56f, 7.89f); info.setBox(halfExtents); @@ -165,11 +160,9 @@ void ShapeInfoTests::testBoxShape() { } delete shape; -#endif // USE_BULLET_PHYSICS } void ShapeInfoTests::testSphereShape() { -#ifdef USE_BULLET_PHYSICS ShapeInfo info; float radius = 1.23f; info.setSphere(radius); @@ -191,11 +184,9 @@ void ShapeInfoTests::testSphereShape() { } delete shape; -#endif // USE_BULLET_PHYSICS } void ShapeInfoTests::testCylinderShape() { -#ifdef USE_BULLET_PHYSICS ShapeInfo info; float radius = 1.23f; float height = 4.56f; @@ -218,11 +209,9 @@ void ShapeInfoTests::testCylinderShape() { } delete shape; -#endif // USE_BULLET_PHYSICS } void ShapeInfoTests::testCapsuleShape() { -#ifdef USE_BULLET_PHYSICS ShapeInfo info; float radius = 1.23f; float height = 4.56f; @@ -245,7 +234,6 @@ void ShapeInfoTests::testCapsuleShape() { } delete shape; -#endif // USE_BULLET_PHYSICS } void ShapeInfoTests::runAllTests() { diff --git a/tests/physics/src/ShapeManagerTests.cpp b/tests/physics/src/ShapeManagerTests.cpp index 5be247f25f..e49b9b8063 100644 --- a/tests/physics/src/ShapeManagerTests.cpp +++ b/tests/physics/src/ShapeManagerTests.cpp @@ -17,7 +17,6 @@ #include "ShapeManagerTests.h" void ShapeManagerTests::testShapeAccounting() { -#ifdef USE_BULLET_PHYSICS ShapeManager shapeManager; ShapeInfo info; info.setBox(glm::vec3(1.0f, 1.0f, 1.0f)); @@ -118,11 +117,9 @@ void ShapeManagerTests::testShapeAccounting() { std::cout << __FILE__ << ":" << __LINE__ << " ERROR: expected refcount = 1 for shape but found refcount = " << numReferences << std::endl; } -#endif // USE_BULLET_PHYSICS } void ShapeManagerTests::addManyShapes() { -#ifdef USE_BULLET_PHYSICS ShapeManager shapeManager; int numSizes = 100; @@ -152,11 +149,9 @@ void ShapeManagerTests::addManyShapes() { std::cout << __FILE__ << ":" << __LINE__ << " ERROR: expected numShapes = " << numSizes << " but found numShapes = " << numShapes << std::endl; } -#endif // USE_BULLET_PHYSICS } void ShapeManagerTests::addBoxShape() { -#ifdef USE_BULLET_PHYSICS ShapeInfo info; glm::vec3 halfExtents(1.23f, 4.56f, 7.89f); info.setBox(halfExtents); @@ -172,11 +167,9 @@ void ShapeManagerTests::addBoxShape() { std::cout << __FILE__ << ":" << __LINE__ << " ERROR: Box ShapeInfo --> shape --> ShapeInfo --> shape did not work" << std::endl; } -#endif // USE_BULLET_PHYSICS } void ShapeManagerTests::addSphereShape() { -#ifdef USE_BULLET_PHYSICS ShapeInfo info; float radius = 1.23f; info.setSphere(radius); @@ -192,11 +185,9 @@ void ShapeManagerTests::addSphereShape() { std::cout << __FILE__ << ":" << __LINE__ << " ERROR: Sphere ShapeInfo --> shape --> ShapeInfo --> shape did not work" << std::endl; } -#endif // USE_BULLET_PHYSICS } void ShapeManagerTests::addCylinderShape() { -#ifdef USE_BULLET_PHYSICS ShapeInfo info; float radius = 1.23f; float height = 4.56f; @@ -213,11 +204,9 @@ void ShapeManagerTests::addCylinderShape() { std::cout << __FILE__ << ":" << __LINE__ << " ERROR: Cylinder ShapeInfo --> shape --> ShapeInfo --> shape did not work" << std::endl; } -#endif // USE_BULLET_PHYSICS } void ShapeManagerTests::addCapsuleShape() { -#ifdef USE_BULLET_PHYSICS ShapeInfo info; float radius = 1.23f; float height = 4.56f; @@ -234,7 +223,6 @@ void ShapeManagerTests::addCapsuleShape() { std::cout << __FILE__ << ":" << __LINE__ << " ERROR: Capsule ShapeInfo --> shape --> ShapeInfo --> shape did not work" << std::endl; } -#endif // USE_BULLET_PHYSICS } void ShapeManagerTests::runAllTests() {