diff --git a/CMakeLists.txt b/CMakeLists.txt index eedd74221..235149c77 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -139,7 +139,6 @@ ENDIF (USE_GRAPHICAL_BENCHMARK) IF (WIN32) OPTION(USE_GLUT "Use Glut" ON) -ADD_DEFINITIONS( -D_IRR_STATIC_LIB_ ) ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS ) ADD_DEFINITIONS( -D_CRT_SECURE_NO_DEPRECATE ) ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS ) @@ -178,6 +177,11 @@ ENDIF (OPENGL_FOUND) #FIND_PACKAGE(GLU) + + +OPTION(BUILD_OBSOLETE_DEMOS "Set when you want to build the obsolete Bullet 2 demos" OFF) +IF(BUILD_OBSOLETE_DEMOS) + IF (USE_GLUT) IF (MSVC) SET(GLUT_FOUND TRUE) @@ -190,7 +194,7 @@ IF (USE_GLUT) message("Win32 using static freeglut in ObsoleteDemos/Glut/glut32.lib") SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos/Glut/glut32.lib glu32.lib gdi32.lib winmm.lib user32.lib) ENDIF (CMAKE_CL_64) - INCLUDE_DIRECTORIES(${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos/Glut) + SET(GLUT_INCLUDE_DIR ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos/Glut ) ELSE() FIND_PACKAGE(GLUT) IF (GLUT_FOUND) @@ -208,20 +212,25 @@ IF (USE_GLUT) ENDIF (GLUT_FOUND) ENDIF (MSVC) - IF(NOT WIN32) + IF(NOT WIN32 AND NOT APPLE) # This is added for linux. This should always work if everything is installed and working fine. - INCLUDE_DIRECTORIES(/usr/include /usr/local/include) + SET(GLUT_INCLUDE_DIR /usr/include /usr/local/include) ENDIF() ENDIF(USE_GLUT) -OPTION(BUILD_DEMOS "Set when you want to build the demos" ON) -IF(BUILD_DEMOS) IF(EXISTS ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos AND IS_DIRECTORY ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos) SUBDIRS(ObsoleteDemos) ENDIF() -ENDIF(BUILD_DEMOS) +ENDIF(BUILD_OBSOLETE_DEMOS) +OPTION(BUILD_BULLET3_DEMOS "Set when you want to build the Bullet 3 demos" ON) +IF(BUILD_BULLET3_DEMOS) + IF(EXISTS ${BULLET_PHYSICS_SOURCE_DIR}/Demos3 AND IS_DIRECTORY ${BULLET_PHYSICS_SOURCE_DIR}/Demos3) + SUBDIRS(Demos3) + SUBDIRS(btgui) + ENDIF() +ENDIF(BUILD_BULLET3_DEMOS) diff --git a/Demos3/AllBullet2Demos/BulletDemoEntries.h b/Demos3/AllBullet2Demos/BulletDemoEntries.h index 1466b8156..2be144815 100644 --- a/Demos3/AllBullet2Demos/BulletDemoEntries.h +++ b/Demos3/AllBullet2Demos/BulletDemoEntries.h @@ -37,6 +37,8 @@ static BulletDemoEntry allDemos[]= {"Ragdoll",RagDollDemo::MyCreateFunc}, {"MultiBody1",FeatherstoneDemo1::MyCreateFunc}, +// {"MultiBody2",FeatherstoneDemo2::MyCreateFunc}, + {"MultiDofDemo",MultiDofDemo::MyCreateFunc}, {"LuaDemo",LuaDemo::MyCreateFunc} diff --git a/Demos3/CMakeLists.txt b/Demos3/CMakeLists.txt new file mode 100644 index 000000000..bcd6775fb --- /dev/null +++ b/Demos3/CMakeLists.txt @@ -0,0 +1 @@ +SUBDIRS( SimpleOpenGL3 ) diff --git a/Demos3/SimpleOpenGL3/CMakeLists.txt b/Demos3/SimpleOpenGL3/CMakeLists.txt new file mode 100644 index 000000000..e144a2ce4 --- /dev/null +++ b/Demos3/SimpleOpenGL3/CMakeLists.txt @@ -0,0 +1,41 @@ + + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src + ${BULLET_PHYSICS_SOURCE_DIR}/btgui +) + + +SET(AppSimpleOpenGL3_SRCS + main.cpp + ${BULLET_PHYSICS_SOURCE_DIR}/build3/bullet.rc +) + +IF (WIN32) + SET(AppSimpleOpenGL3_SRCS ${AppSimpleOpenGL3_SRCS} ${AppSimpleOpenGL3_Common_SRCS}) + INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/btgui/OpenGLWindow/GlewWindows + ) + ADD_DEFINITIONS(-DGLEW_STATIC) +ELSE(WIN32) + IF(NOT APPLE) + LINK_LIBRARIES( GLEW) + ENDIF(NOT APPLE) +ENDIF(WIN32) + + + +LINK_LIBRARIES( + Bullet3Common OpenGLWindow gwen ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} +) + +ADD_EXECUTABLE(AppSimpleOpenGL3 + ${AppSimpleOpenGL3_SRCS} +) + + +IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES) + SET_TARGET_PROPERTIES(AppSimpleOpenGL3 PROPERTIES DEBUG_POSTFIX "_Debug") + SET_TARGET_PROPERTIES(AppSimpleOpenGL3 PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel") + SET_TARGET_PROPERTIES(AppSimpleOpenGL3 PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo") +ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES) \ No newline at end of file diff --git a/Demos3/SimpleOpenGL3/premake4.lua b/Demos3/SimpleOpenGL3/premake4.lua index 679ca3a10..2ab575f07 100644 --- a/Demos3/SimpleOpenGL3/premake4.lua +++ b/Demos3/SimpleOpenGL3/premake4.lua @@ -26,8 +26,9 @@ "../../btgui/Timing/b3Clock.h" } + if os.is("Linux") then links {"X11"} end if os.is("MacOSX") then - links{"Cocoa.framework"} + links{"Cocoa.framework"} end diff --git a/ObsoleteDemos/BasicDemo/CMakeLists.txt b/ObsoleteDemos/BasicDemo/CMakeLists.txt index be0f14c50..eaf265a83 100644 --- a/ObsoleteDemos/BasicDemo/CMakeLists.txt +++ b/ObsoleteDemos/BasicDemo/CMakeLists.txt @@ -12,7 +12,8 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut) ######################################################## INCLUDE_DIRECTORIES( -${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) diff --git a/ObsoleteDemos/Benchmarks/CMakeLists.txt b/ObsoleteDemos/Benchmarks/CMakeLists.txt index 36ab330d0..dae23300c 100644 --- a/ObsoleteDemos/Benchmarks/CMakeLists.txt +++ b/ObsoleteDemos/Benchmarks/CMakeLists.txt @@ -13,6 +13,7 @@ IF (USE_GLUT) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL + ${GLUT_INCLUDE_DIR} ) IF (USE_MULTITHREADED_BENCHMARK) diff --git a/ObsoleteDemos/Box2dDemo/CMakeLists.txt b/ObsoleteDemos/Box2dDemo/CMakeLists.txt index b39336f01..9c993a32c 100644 --- a/ObsoleteDemos/Box2dDemo/CMakeLists.txt +++ b/ObsoleteDemos/Box2dDemo/CMakeLists.txt @@ -17,6 +17,7 @@ ${BULLET_PHYSICS_SOURCE_DIR}/src ) IF (USE_GLUT) + INCLUDE_DIRECTORIES( ${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( OpenGLSupport BulletDynamics BulletCollision LinearMath ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ) diff --git a/ObsoleteDemos/BspDemo/CMakeLists.txt b/ObsoleteDemos/BspDemo/CMakeLists.txt index 3dfd9f678..0a070a541 100644 --- a/ObsoleteDemos/BspDemo/CMakeLists.txt +++ b/ObsoleteDemos/BspDemo/CMakeLists.txt @@ -12,6 +12,8 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} + ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/CcdPhysicsDemo/CMakeLists.txt b/ObsoleteDemos/CcdPhysicsDemo/CMakeLists.txt index 6bfe6b5b5..f7ee06103 100644 --- a/ObsoleteDemos/CcdPhysicsDemo/CMakeLists.txt +++ b/ObsoleteDemos/CcdPhysicsDemo/CMakeLists.txt @@ -14,6 +14,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/CharacterDemo/CMakeLists.txt b/ObsoleteDemos/CharacterDemo/CMakeLists.txt index 48513f822..1a74ed557 100644 --- a/ObsoleteDemos/CharacterDemo/CMakeLists.txt +++ b/ObsoleteDemos/CharacterDemo/CMakeLists.txt @@ -12,6 +12,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/CollisionDemo/CMakeLists.txt b/ObsoleteDemos/CollisionDemo/CMakeLists.txt index 9e61a1d52..7f544ca30 100644 --- a/ObsoleteDemos/CollisionDemo/CMakeLists.txt +++ b/ObsoleteDemos/CollisionDemo/CMakeLists.txt @@ -13,6 +13,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/CollisionInterfaceDemo/CMakeLists.txt b/ObsoleteDemos/CollisionInterfaceDemo/CMakeLists.txt index 3a1764648..9dd777bce 100644 --- a/ObsoleteDemos/CollisionInterfaceDemo/CMakeLists.txt +++ b/ObsoleteDemos/CollisionInterfaceDemo/CMakeLists.txt @@ -14,6 +14,7 @@ IF (USE_GLUT) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL + ${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/ConcaveConvexcastDemo/CMakeLists.txt b/ObsoleteDemos/ConcaveConvexcastDemo/CMakeLists.txt index 46a378848..356a4495e 100644 --- a/ObsoleteDemos/ConcaveConvexcastDemo/CMakeLists.txt +++ b/ObsoleteDemos/ConcaveConvexcastDemo/CMakeLists.txt @@ -13,6 +13,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/ConcaveRaycastDemo/CMakeLists.txt b/ObsoleteDemos/ConcaveRaycastDemo/CMakeLists.txt index e848e176f..e64fb3aa9 100644 --- a/ObsoleteDemos/ConcaveRaycastDemo/CMakeLists.txt +++ b/ObsoleteDemos/ConcaveRaycastDemo/CMakeLists.txt @@ -13,6 +13,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/ContinuousConvexCollision/CMakeLists.txt b/ObsoleteDemos/ContinuousConvexCollision/CMakeLists.txt index bf0d151d4..6426bc382 100644 --- a/ObsoleteDemos/ContinuousConvexCollision/CMakeLists.txt +++ b/ObsoleteDemos/ContinuousConvexCollision/CMakeLists.txt @@ -13,6 +13,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/ConvexHullDistance/CMakeLists.txt b/ObsoleteDemos/ConvexHullDistance/CMakeLists.txt index 5876c8481..7e02bf696 100644 --- a/ObsoleteDemos/ConvexHullDistance/CMakeLists.txt +++ b/ObsoleteDemos/ConvexHullDistance/CMakeLists.txt @@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) diff --git a/ObsoleteDemos/DoublePrecisionDemo/CMakeLists.txt b/ObsoleteDemos/DoublePrecisionDemo/CMakeLists.txt index 4cc802f94..bb557c67c 100644 --- a/ObsoleteDemos/DoublePrecisionDemo/CMakeLists.txt +++ b/ObsoleteDemos/DoublePrecisionDemo/CMakeLists.txt @@ -13,6 +13,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/DynamicControlDemo/CMakeLists.txt b/ObsoleteDemos/DynamicControlDemo/CMakeLists.txt index 95329d45e..04521bcfd 100644 --- a/ObsoleteDemos/DynamicControlDemo/CMakeLists.txt +++ b/ObsoleteDemos/DynamicControlDemo/CMakeLists.txt @@ -13,6 +13,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/FeatherstoneMultiBodyDemo/CMakeLists.txt b/ObsoleteDemos/FeatherstoneMultiBodyDemo/CMakeLists.txt index da0358790..cb8c544a7 100644 --- a/ObsoleteDemos/FeatherstoneMultiBodyDemo/CMakeLists.txt +++ b/ObsoleteDemos/FeatherstoneMultiBodyDemo/CMakeLists.txt @@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) diff --git a/ObsoleteDemos/FeatherstoneMultiBodyDemo/FeatherstoneMultiBodyDemo.cpp b/ObsoleteDemos/FeatherstoneMultiBodyDemo/FeatherstoneMultiBodyDemo.cpp index f0cf59f67..412b51315 100644 --- a/ObsoleteDemos/FeatherstoneMultiBodyDemo/FeatherstoneMultiBodyDemo.cpp +++ b/ObsoleteDemos/FeatherstoneMultiBodyDemo/FeatherstoneMultiBodyDemo.cpp @@ -285,7 +285,8 @@ btMultiBody* FeatherstoneMultiBodyDemo::createFeatherstoneMultiBody(class btMult btVector3 inertia = btVector3 (91,344,253)*scaling*scaling; - btMultiBody * bod = new btMultiBody(n_links, mass, inertia, settings.m_isFixedBase, settings.m_canSleep); + bool multiDof = false; + btMultiBody * bod = new btMultiBody(n_links, mass, inertia, settings.m_isFixedBase, settings.m_canSleep,multiDof); // bod->setHasSelfCollision(false); //btQuaternion orn(btVector3(0,0,1),-0.25*SIMD_HALF_PI);//0,0,0,1); @@ -360,7 +361,7 @@ btMultiBody* FeatherstoneMultiBodyDemo::createFeatherstoneMultiBody(class btMult { if (1) { - btMultiBodyJointMotor* con = new btMultiBodyJointMotor(bod,i,0,500000); + btMultiBodyJointMotor* con = new btMultiBodyJointMotor(bod,i,0,0,500000); world->addMultiBodyConstraint(con); } @@ -447,6 +448,8 @@ btMultiBody* FeatherstoneMultiBodyDemo::createFeatherstoneMultiBody(class btMult } } + + world->addMultiBody(bod); return bod; diff --git a/ObsoleteDemos/ForkLiftDemo/CMakeLists.txt b/ObsoleteDemos/ForkLiftDemo/CMakeLists.txt index 32de1d26d..d4f067710 100644 --- a/ObsoleteDemos/ForkLiftDemo/CMakeLists.txt +++ b/ObsoleteDemos/ForkLiftDemo/CMakeLists.txt @@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL + ${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/FractureDemo/CMakeLists.txt b/ObsoleteDemos/FractureDemo/CMakeLists.txt index 2d3e2922c..425ddc116 100644 --- a/ObsoleteDemos/FractureDemo/CMakeLists.txt +++ b/ObsoleteDemos/FractureDemo/CMakeLists.txt @@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) diff --git a/ObsoleteDemos/GenericJointDemo/CMakeLists.txt b/ObsoleteDemos/GenericJointDemo/CMakeLists.txt index ec05de89f..afcd423cb 100644 --- a/ObsoleteDemos/GenericJointDemo/CMakeLists.txt +++ b/ObsoleteDemos/GenericJointDemo/CMakeLists.txt @@ -14,6 +14,7 @@ IF (USE_GLUT) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL + ${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/GjkConvexCastDemo/CMakeLists.txt b/ObsoleteDemos/GjkConvexCastDemo/CMakeLists.txt index 61816b703..cc9037d07 100644 --- a/ObsoleteDemos/GjkConvexCastDemo/CMakeLists.txt +++ b/ObsoleteDemos/GjkConvexCastDemo/CMakeLists.txt @@ -13,6 +13,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/GyroscopicDemo/CMakeLists.txt b/ObsoleteDemos/GyroscopicDemo/CMakeLists.txt index fadb61845..f47d62f37 100644 --- a/ObsoleteDemos/GyroscopicDemo/CMakeLists.txt +++ b/ObsoleteDemos/GyroscopicDemo/CMakeLists.txt @@ -13,7 +13,8 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src -../OpenGL +../OpenGL +${GLUT_INCLUDE_DIR} ) diff --git a/ObsoleteDemos/InternalEdgeDemo/CMakeLists.txt b/ObsoleteDemos/InternalEdgeDemo/CMakeLists.txt index f4e298d48..ca4b111f0 100644 --- a/ObsoleteDemos/InternalEdgeDemo/CMakeLists.txt +++ b/ObsoleteDemos/InternalEdgeDemo/CMakeLists.txt @@ -13,6 +13,7 @@ IF (USE_GLUT) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL + ${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/MovingConcaveDemo/CMakeLists.txt b/ObsoleteDemos/MovingConcaveDemo/CMakeLists.txt index 1f6b41d91..e4a173022 100644 --- a/ObsoleteDemos/MovingConcaveDemo/CMakeLists.txt +++ b/ObsoleteDemos/MovingConcaveDemo/CMakeLists.txt @@ -15,6 +15,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL + ${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/MultiMaterialDemo/CMakeLists.txt b/ObsoleteDemos/MultiMaterialDemo/CMakeLists.txt index ed165d7c8..0acf2c1e1 100644 --- a/ObsoleteDemos/MultiMaterialDemo/CMakeLists.txt +++ b/ObsoleteDemos/MultiMaterialDemo/CMakeLists.txt @@ -13,6 +13,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/OpenGL/CMakeLists.txt b/ObsoleteDemos/OpenGL/CMakeLists.txt index 067b09944..721ec4e99 100644 --- a/ObsoleteDemos/OpenGL/CMakeLists.txt +++ b/ObsoleteDemos/OpenGL/CMakeLists.txt @@ -15,6 +15,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ${BULLET_PHYSICS_SOURCE_DIR}/Extras/ConvexHull +${GLUT_INCLUDE_DIR} ) diff --git a/ObsoleteDemos/RagdollDemo/CMakeLists.txt b/ObsoleteDemos/RagdollDemo/CMakeLists.txt index 5224010e2..286c0542c 100644 --- a/ObsoleteDemos/RagdollDemo/CMakeLists.txt +++ b/ObsoleteDemos/RagdollDemo/CMakeLists.txt @@ -13,6 +13,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/RaytestDemo/CMakeLists.txt b/ObsoleteDemos/RaytestDemo/CMakeLists.txt index f40b09f90..8dfeef10a 100644 --- a/ObsoleteDemos/RaytestDemo/CMakeLists.txt +++ b/ObsoleteDemos/RaytestDemo/CMakeLists.txt @@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) diff --git a/ObsoleteDemos/Raytracer/CMakeLists.txt b/ObsoleteDemos/Raytracer/CMakeLists.txt index f0e04fbb6..2f3b6a991 100644 --- a/ObsoleteDemos/Raytracer/CMakeLists.txt +++ b/ObsoleteDemos/Raytracer/CMakeLists.txt @@ -13,6 +13,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/RollingFrictionDemo/CMakeLists.txt b/ObsoleteDemos/RollingFrictionDemo/CMakeLists.txt index 695625964..9753cd0df 100644 --- a/ObsoleteDemos/RollingFrictionDemo/CMakeLists.txt +++ b/ObsoleteDemos/RollingFrictionDemo/CMakeLists.txt @@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) diff --git a/ObsoleteDemos/SimplexDemo/CMakeLists.txt b/ObsoleteDemos/SimplexDemo/CMakeLists.txt index d7ae414e0..d6ce31d1a 100644 --- a/ObsoleteDemos/SimplexDemo/CMakeLists.txt +++ b/ObsoleteDemos/SimplexDemo/CMakeLists.txt @@ -13,6 +13,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/SliderConstraintDemo/CMakeLists.txt b/ObsoleteDemos/SliderConstraintDemo/CMakeLists.txt index eb9b1b687..d8b40c60c 100644 --- a/ObsoleteDemos/SliderConstraintDemo/CMakeLists.txt +++ b/ObsoleteDemos/SliderConstraintDemo/CMakeLists.txt @@ -14,6 +14,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/SoftDemo/CMakeLists.txt b/ObsoleteDemos/SoftDemo/CMakeLists.txt index 8a4327744..7fe2edc8f 100644 --- a/ObsoleteDemos/SoftDemo/CMakeLists.txt +++ b/ObsoleteDemos/SoftDemo/CMakeLists.txt @@ -15,6 +15,7 @@ IF (USE_GLUT) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL + ${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/UserCollisionAlgorithm/CMakeLists.txt b/ObsoleteDemos/UserCollisionAlgorithm/CMakeLists.txt index 928797d2e..087835d6a 100644 --- a/ObsoleteDemos/UserCollisionAlgorithm/CMakeLists.txt +++ b/ObsoleteDemos/UserCollisionAlgorithm/CMakeLists.txt @@ -14,6 +14,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/VehicleDemo/CMakeLists.txt b/ObsoleteDemos/VehicleDemo/CMakeLists.txt index bd10fdd92..5cb862e20 100644 --- a/ObsoleteDemos/VehicleDemo/CMakeLists.txt +++ b/ObsoleteDemos/VehicleDemo/CMakeLists.txt @@ -14,6 +14,7 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) LINK_LIBRARIES( diff --git a/ObsoleteDemos/VoronoiFractureDemo/CMakeLists.txt b/ObsoleteDemos/VoronoiFractureDemo/CMakeLists.txt index 4d37f088c..8b1a10963 100644 --- a/ObsoleteDemos/VoronoiFractureDemo/CMakeLists.txt +++ b/ObsoleteDemos/VoronoiFractureDemo/CMakeLists.txt @@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut) INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL +${GLUT_INCLUDE_DIR} ) diff --git a/btgui/CMakeLists.txt b/btgui/CMakeLists.txt new file mode 100644 index 000000000..85b54fa39 --- /dev/null +++ b/btgui/CMakeLists.txt @@ -0,0 +1 @@ +SUBDIRS( gwen OpenGLWindow ) diff --git a/btgui/Gwen/CMakeLists.txt b/btgui/Gwen/CMakeLists.txt new file mode 100644 index 000000000..c88f8e1b0 --- /dev/null +++ b/btgui/Gwen/CMakeLists.txt @@ -0,0 +1,13 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src + ${BULLET_PHYSICS_SOURCE_DIR}/btgui +) + +ADD_DEFINITIONS( -DGWEN_COMPILE_STATIC -D_HAS_EXCEPTIONS=0 -D_STATIC_CPPLIB ) + +FILE(GLOB gwen_SRCS "*.cpp") +FILE(GLOB gwen_HDRS "*.h") + +ADD_LIBRARY(gwen ${gwen_SRCS} ${gwen_HDRS}) + diff --git a/btgui/OpenGLWindow/CMakeLists.txt b/btgui/OpenGLWindow/CMakeLists.txt new file mode 100644 index 000000000..e12a1008b --- /dev/null +++ b/btgui/OpenGLWindow/CMakeLists.txt @@ -0,0 +1,41 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src + ${BULLET_PHYSICS_SOURCE_DIR}/btgui +) + +FILE(GLOB OpenGLWindow_HDRS "*.h" "../OpenGLTrueTypeFont/*.h") + +FILE(GLOB OpenGLWindowMac_CPP "Mac*.mm") +FILE(GLOB OpenGLWindowWin32_CPP "Win32*.cpp") +FILE(GLOB OpenGLWindowLinux_CPP "X11*.cpp") + +FILE(GLOB OpenGLWindowCommon_CPP "*.cpp" "../OpenGLTrueTypeFont/*.cpp" "../FontFiles/OpenSans.cpp" ) + +LIST(REMOVE_ITEM OpenGLWindowCommon_CPP ${OpenGLWindowMac_CPP} ) +LIST(REMOVE_ITEM OpenGLWindowCommon_CPP ${OpenGLWindowWin32_CPP} ) +LIST(REMOVE_ITEM OpenGLWindowCommon_CPP ${OpenGLWindowLinux_CPP} ) +LIST(REMOVE_ITEM OpenGLWindowCommon_CPP X11OpenGLWindow.cpp ) +#MESSAGE (${OpenGLWindowCommon_CPP}) + +IF (WIN32) + SET(OpenGLWindow_SRCS ${BULLET_PHYSICS_SOURCE_DIR}/btgui/OpenGLWindow/GlewWindows/glew.c ${OpenGLWindowWin32_CPP} ${OpenGLWindowCommon_CPP}) + INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/btgui/OpenGLWindow/GlewWindows + ) + ADD_DEFINITIONS(-DGLEW_STATIC) +ENDIF(WIN32) + +IF (APPLE) + SET(OpenGLWindow_SRCS ${OpenGLWindowMac_CPP} ${OpenGLWindowCommon_CPP} ) +ENDIF(APPLE) + +#no Linux detection? +IF(NOT WIN32 AND NOT APPLE) + SET(OpenGLWindow_SRCS ${OpenGLWindowLinux_CPP} ${OpenGLWindowCommon_CPP} ) +ENDIF() + + + +ADD_LIBRARY(OpenGLWindow ${OpenGLWindow_SRCS} ${OpenGLWindow_HDRS}) + diff --git a/btgui/OpenGLWindow/GlewWindows/GL/glew.h b/btgui/OpenGLWindow/GlewWindows/GL/glew.h index 58c89d665..9e1f25ec8 100644 --- a/btgui/OpenGLWindow/GlewWindows/GL/glew.h +++ b/btgui/OpenGLWindow/GlewWindows/GL/glew.h @@ -80,6 +80,8 @@ #define __glew_h__ #define __GLEW_H__ +#define GLEW_STATIC 1 + #if defined(__gl_h_) || defined(__GL_H__) || defined(__X_GL_H) #error gl.h included before glew.h #endif diff --git a/src/Bullet3Collision/CMakeLists.txt b/src/Bullet3Collision/CMakeLists.txt new file mode 100644 index 000000000..39a7b348e --- /dev/null +++ b/src/Bullet3Collision/CMakeLists.txt @@ -0,0 +1,90 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src +) + +SET(Bullet3Collision_SRCS + BroadPhaseCollision/b3DynamicBvh.cpp + BroadPhaseCollision/b3DynamicBvhBroadphase.cpp + BroadPhaseCollision/b3OverlappingPairCache.cpp + NarrowPhaseCollision/b3ConvexUtility.cpp + NarrowPhaseCollision/b3CpuNarrowPhase.cpp +) + +SET(Bullet3CollisionBroadPhase_HDRS + BroadPhaseCollision/b3BroadphaseCallback.h + BroadPhaseCollision/b3DynamicBvh.h + BroadPhaseCollision/b3DynamicBvhBroadphase.h + BroadPhaseCollision/b3OverlappingPair.h + BroadPhaseCollision/b3OverlappingPairCache.h +) +SET(Bullet3CollisionBroadPhaseShared_HDRS + BroadPhaseCollision/shared/b3Aabb.h +) + +SET(Bullet3CollisionNarrowPhase_HDRS + NarrowPhaseCollision/b3Config.h + NarrowPhaseCollision/b3Contact4.h + NarrowPhaseCollision/b3ConvexUtility.h + NarrowPhaseCollision/b3CpuNarrowPhase.h + NarrowPhaseCollision/b3RaycastInfo.h + NarrowPhaseCollision/b3RigidBodyCL.h +) +SET(Bullet3CollisionNarrowPhaseShared_HDRS + + NarrowPhaseCollision/shared/b3BvhSubtreeInfoData.h + NarrowPhaseCollision/shared/b3BvhTraversal.h + NarrowPhaseCollision/shared/b3ClipFaces.h + NarrowPhaseCollision/shared/b3Collidable.h + NarrowPhaseCollision/shared/b3Contact4Data.h + NarrowPhaseCollision/shared/b3ContactConvexConvexSAT.h + NarrowPhaseCollision/shared/b3ContactSphereSphere.h + NarrowPhaseCollision/shared/b3ConvexPolyhedronData.h + NarrowPhaseCollision/shared/b3FindConcaveSatAxis.h + NarrowPhaseCollision/shared/b3FindSeparatingAxis.h + NarrowPhaseCollision/shared/b3MprPenetration.h + NarrowPhaseCollision/shared/b3NewContactReduction.h + NarrowPhaseCollision/shared/b3QuantizedBvhNodeData.h + NarrowPhaseCollision/shared/b3ReduceContacts.h + NarrowPhaseCollision/shared/b3RigidBodyData.h + NarrowPhaseCollision/shared/b3UpdateAabbs.h +) + +SET(Bullet3Collision_HDRS + ${Bullet3CollisionBroadPhase_HDRS} + ${Bullet3CollisionBroadPhaseShared_HDRS} + ${Bullet3CollisionNarrowPhaseShared_HDRS} + ${Bullet3CollisionNarrowPhase_HDRS} +) + +ADD_LIBRARY(Bullet3Collision ${Bullet3Collision_SRCS} ${Bullet3Collision_HDRS}) +SET_TARGET_PROPERTIES(Bullet3Collision PROPERTIES VERSION ${BULLET_VERSION}) +SET_TARGET_PROPERTIES(Bullet3Collision PROPERTIES SOVERSION ${BULLET_VERSION}) + +IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + #FILES_MATCHING requires CMake 2.6 + IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Collision DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Collision + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN +".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + SET_TARGET_PROPERTIES(Bullet3Collision PROPERTIES FRAMEWORK true) + SET_TARGET_PROPERTIES(Bullet3Collision PROPERTIES PUBLIC_HEADER "${Bullet3Collision_HDRS}") + # Have to list out sub-directories manually: + #todo + #SET_PROPERTY(SOURCE ${Bullet3CollisionBroadPhase_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/BroadPhaseCollision) + + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +ENDIF (INSTALL_LIBS) diff --git a/src/Bullet3Common/CMakeLists.txt b/src/Bullet3Common/CMakeLists.txt new file mode 100644 index 000000000..61bece8f5 --- /dev/null +++ b/src/Bullet3Common/CMakeLists.txt @@ -0,0 +1,63 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src +) + +SET(Bullet3Common_SRCS + b3AlignedAllocator.cpp + b3Vector3.cpp + b3Logging.cpp +) + +SET(Bullet3Common_HDRS + b3AlignedAllocator.h + b3AlignedObjectArray.h + b3CommandLineArgs.h + b3HashMap.h + b3Logging.h + b3Matrix3x3.h + b3MinMax.h + b3PoolAllocator.h + b3QuadWord.h + b3Quaternion.h + b3Random.h + b3Scalar.h + b3StackAlloc.h + b3Transform.h + b3TransformUtil.h + b3Vector3.h + shared/b3Float4 + shared/b3Int2.h + shared/b3Int4.h + shared/b3Mat3x3.h + shared/b3PlatformDefinitions + shared/b3Quat.h +) + +ADD_LIBRARY(Bullet3Common ${Bullet3Common_SRCS} ${Bullet3Common_HDRS}) +SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES VERSION ${BULLET_VERSION}) +SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES SOVERSION ${BULLET_VERSION}) + +IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + #FILES_MATCHING requires CMake 2.6 + IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Common DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Common + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN +".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES FRAMEWORK true) + SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES PUBLIC_HEADER "${Bullet3Common_HDRS}") + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +ENDIF (INSTALL_LIBS) diff --git a/src/Bullet3Dynamics/CMakeLists.txt b/src/Bullet3Dynamics/CMakeLists.txt new file mode 100644 index 000000000..1e48ee827 --- /dev/null +++ b/src/Bullet3Dynamics/CMakeLists.txt @@ -0,0 +1,58 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src +) + +SET(Bullet3Dynamics_SRCS + b3CpuRigidBodyPipeline.cpp + ConstraintSolver/b3FixedConstraint.cpp + ConstraintSolver/b3Generic6DofConstraint.cpp + ConstraintSolver/b3PgsJacobiSolver.cpp + ConstraintSolver/b3Point2PointConstraint.cpp + ConstraintSolver/b3TypedConstraint.cpp +) + +SET(Bullet3Dynamics_HDRS + b3CpuRigidBodyPipeline.h + ConstraintSolver/b3ContactSolverInfo.h + ConstraintSolver/b3FixedConstraint.h + ConstraintSolver/b3Generic6DofConstraint.h + ConstraintSolver/b3JacobianEntry.h + ConstraintSolver/b3PgsJacobiSolver.h + ConstraintSolver/b3Point2PointConstraint.h + ConstraintSolver/b3SolverBody.h + ConstraintSolver/b3SolverConstraint.h + ConstraintSolver/b3TypedConstraint.h + shared/b3ContactConstraint4.h + shared/b3ConvertConstraint4.h + shared/b3Inertia.h + shared/b3IntegrateTransforms.h +) + +ADD_LIBRARY(Bullet3Dynamics ${Bullet3Dynamics_SRCS} ${Bullet3Dynamics_HDRS}) +SET_TARGET_PROPERTIES(Bullet3Dynamics PROPERTIES VERSION ${BULLET_VERSION}) +SET_TARGET_PROPERTIES(Bullet3Dynamics PROPERTIES SOVERSION ${BULLET_VERSION}) + +IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + #FILES_MATCHING requires CMake 2.6 + IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Dynamics DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Dynamics + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN +".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + SET_TARGET_PROPERTIES(Bullet3Dynamics PROPERTIES FRAMEWORK true) + SET_TARGET_PROPERTIES(Bullet3Dynamics PROPERTIES PUBLIC_HEADER "${Bullet3Dynamics_HDRS}") + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +ENDIF (INSTALL_LIBS) diff --git a/src/Bullet3Geometry/CMakeLists.txt b/src/Bullet3Geometry/CMakeLists.txt new file mode 100644 index 000000000..8a8f8ab50 --- /dev/null +++ b/src/Bullet3Geometry/CMakeLists.txt @@ -0,0 +1,44 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src +) + +SET(Bullet3Geometry_SRCS + b3ConvexHullComputer.cpp + b3GeometryUtil.cpp +) + +SET(Bullet3Geometry_HDRS + b3AabbUtil.h + b3ConvexHullComputer.h + b3GeometryUtil.h + b3GrahamScan2dConvexHull.h +) + +ADD_LIBRARY(Bullet3Geometry ${Bullet3Geometry_SRCS} ${Bullet3Geometry_HDRS}) +SET_TARGET_PROPERTIES(Bullet3Geometry PROPERTIES VERSION ${BULLET_VERSION}) +SET_TARGET_PROPERTIES(Bullet3Geometry PROPERTIES SOVERSION ${BULLET_VERSION}) + +IF (INSTALL_LIBS) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + #FILES_MATCHING requires CMake 2.6 + IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Geometry DESTINATION .) + ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + INSTALL(TARGETS Bullet3Geometry + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN +".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + SET_TARGET_PROPERTIES(Bullet3Geometry PROPERTIES FRAMEWORK true) + SET_TARGET_PROPERTIES(Bullet3Geometry PROPERTIES PUBLIC_HEADER "${Bullet3Geometry_HDRS}") + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +ENDIF (INSTALL_LIBS) diff --git a/src/BulletDynamics/Featherstone/btMultiBody.cpp b/src/BulletDynamics/Featherstone/btMultiBody.cpp index 91b575bed..c8812af44 100644 --- a/src/BulletDynamics/Featherstone/btMultiBody.cpp +++ b/src/BulletDynamics/Featherstone/btMultiBody.cpp @@ -100,6 +100,7 @@ btMultiBody::btMultiBody(int n_links, m_angularDamping(0.04f), m_useGyroTerm(true), m_maxAppliedImpulse(1000.f), + m_maxCoordinateVelocity(100.f), m_hasSelfCollision(true), m_dofCount(0), __posUpdated(false), @@ -2410,12 +2411,24 @@ void btMultiBody::calcAccelerationDeltas(const btScalar *force, btScalar *output output[4] = vdot_out[1]; output[5] = vdot_out[2]; + ///////////////// - //printf("delta = ["); - //for(int dof = 0; dof < getNumLinks() + 6; ++dof) - // printf("%.2f ", output[dof]); - //printf("]\n"); + /* + int ndof = getNumLinks() + 6; + printf("test force(impulse) (%d) = [\n",ndof); + + for (int i=0;im_fixedBase) + { + for (int i=0;i<6;i++) + { + jac[i]=0; + } + } else + { + btVector3 omega_coeffs; + omega_coeffs = p_minus_com_world.cross(normal); + jac[0] = omega_coeffs[0]; + jac[1] = omega_coeffs[1]; + jac[2] = omega_coeffs[2]; + // then v coefficients + jac[3] = normal[0]; + jac[4] = normal[1]; + jac[5] = normal[2]; + } // Set remaining jac values to zero for now. for (int i = 6; i < 6 + num_links; ++i) { jac[i] = 0; diff --git a/src/BulletDynamics/Featherstone/btMultiBody.h b/src/BulletDynamics/Featherstone/btMultiBody.h index d08c0b09c..b14fc95b8 100644 --- a/src/BulletDynamics/Featherstone/btMultiBody.h +++ b/src/BulletDynamics/Featherstone/btMultiBody.h @@ -342,6 +342,7 @@ public: { sum += delta_vee[i]*multiplier*delta_vee[i]*multiplier; m_realBuf[i] += delta_vee[i] * multiplier; + btClamp(m_realBuf[i],-m_maxCoordinateVelocity,m_maxCoordinateVelocity); } } @@ -366,6 +367,7 @@ public: for (int dof = 0; dof < 6 + getNumDofs(); ++dof) { m_realBuf[dof] += delta_vee[dof] * multiplier; + btClamp(m_realBuf[dof],-m_maxCoordinateVelocity,m_maxCoordinateVelocity); } } @@ -473,6 +475,15 @@ public: { m_useGyroTerm = useGyro; } + btScalar getMaxCoordinateVelocity() const + { + return m_maxCoordinateVelocity ; + } + void setMaxCoordinateVelocity(btScalar maxVel) + { + m_maxCoordinateVelocity = maxVel; + } + btScalar getMaxAppliedImpulse() const { return m_maxAppliedImpulse; @@ -481,7 +492,6 @@ public: { m_maxAppliedImpulse = maxImp; } - void setHasSelfCollision(bool hasSelfCollision) { m_hasSelfCollision = hasSelfCollision; @@ -582,6 +592,7 @@ private: btScalar m_angularDamping; bool m_useGyroTerm; btScalar m_maxAppliedImpulse; + btScalar m_maxCoordinateVelocity; bool m_hasSelfCollision; bool m_isMultiDof; }; diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0acd9f0ea..c372ff07a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -SUBDIRS( BulletSoftBody BulletCollision BulletDynamics LinearMath ) +SUBDIRS( Bullet3Dynamics Bullet3Collision Bullet3Geometry Bullet3Common BulletSoftBody BulletCollision BulletDynamics LinearMath ) IF(BUILD_MULTITHREADING) SUBDIRS(MiniCL BulletMultiThreaded)