make GLUT optional in cmake
fix for btMultiBody to avoid extreme energy gain
This commit is contained in:
@@ -139,7 +139,6 @@ ENDIF (USE_GRAPHICAL_BENCHMARK)
|
|||||||
|
|
||||||
IF (WIN32)
|
IF (WIN32)
|
||||||
OPTION(USE_GLUT "Use Glut" ON)
|
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_WARNINGS )
|
||||||
ADD_DEFINITIONS( -D_CRT_SECURE_NO_DEPRECATE )
|
ADD_DEFINITIONS( -D_CRT_SECURE_NO_DEPRECATE )
|
||||||
ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
|
ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
|
||||||
@@ -178,6 +177,11 @@ ENDIF (OPENGL_FOUND)
|
|||||||
|
|
||||||
#FIND_PACKAGE(GLU)
|
#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 (USE_GLUT)
|
||||||
IF (MSVC)
|
IF (MSVC)
|
||||||
SET(GLUT_FOUND TRUE)
|
SET(GLUT_FOUND TRUE)
|
||||||
@@ -190,7 +194,7 @@ IF (USE_GLUT)
|
|||||||
message("Win32 using static freeglut in ObsoleteDemos/Glut/glut32.lib")
|
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)
|
SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos/Glut/glut32.lib glu32.lib gdi32.lib winmm.lib user32.lib)
|
||||||
ENDIF (CMAKE_CL_64)
|
ENDIF (CMAKE_CL_64)
|
||||||
INCLUDE_DIRECTORIES(${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos/Glut)
|
SET(GLUT_INCLUDE_DIR ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos/Glut )
|
||||||
ELSE()
|
ELSE()
|
||||||
FIND_PACKAGE(GLUT)
|
FIND_PACKAGE(GLUT)
|
||||||
IF (GLUT_FOUND)
|
IF (GLUT_FOUND)
|
||||||
@@ -208,20 +212,25 @@ IF (USE_GLUT)
|
|||||||
ENDIF (GLUT_FOUND)
|
ENDIF (GLUT_FOUND)
|
||||||
ENDIF (MSVC)
|
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.
|
# 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()
|
||||||
ENDIF(USE_GLUT)
|
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)
|
IF(EXISTS ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos AND IS_DIRECTORY ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos)
|
||||||
SUBDIRS(ObsoleteDemos)
|
SUBDIRS(ObsoleteDemos)
|
||||||
ENDIF()
|
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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ static BulletDemoEntry allDemos[]=
|
|||||||
|
|
||||||
{"Ragdoll",RagDollDemo::MyCreateFunc},
|
{"Ragdoll",RagDollDemo::MyCreateFunc},
|
||||||
{"MultiBody1",FeatherstoneDemo1::MyCreateFunc},
|
{"MultiBody1",FeatherstoneDemo1::MyCreateFunc},
|
||||||
|
// {"MultiBody2",FeatherstoneDemo2::MyCreateFunc},
|
||||||
|
|
||||||
{"MultiDofDemo",MultiDofDemo::MyCreateFunc},
|
{"MultiDofDemo",MultiDofDemo::MyCreateFunc},
|
||||||
{"LuaDemo",LuaDemo::MyCreateFunc}
|
{"LuaDemo",LuaDemo::MyCreateFunc}
|
||||||
|
|
||||||
|
|||||||
1
Demos3/CMakeLists.txt
Normal file
1
Demos3/CMakeLists.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
SUBDIRS( SimpleOpenGL3 )
|
||||||
41
Demos3/SimpleOpenGL3/CMakeLists.txt
Normal file
41
Demos3/SimpleOpenGL3/CMakeLists.txt
Normal file
@@ -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)
|
||||||
@@ -26,8 +26,9 @@
|
|||||||
"../../btgui/Timing/b3Clock.h"
|
"../../btgui/Timing/b3Clock.h"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if os.is("Linux") then links {"X11"} end
|
if os.is("Linux") then links {"X11"} end
|
||||||
|
|
||||||
if os.is("MacOSX") then
|
if os.is("MacOSX") then
|
||||||
links{"Cocoa.framework"}
|
links{"Cocoa.framework"}
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut)
|
|||||||
########################################################
|
########################################################
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL
|
${BULLET_PHYSICS_SOURCE_DIR}/src ../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ IF (USE_GLUT)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
IF (USE_MULTITHREADED_BENCHMARK)
|
IF (USE_MULTITHREADED_BENCHMARK)
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ ${BULLET_PHYSICS_SOURCE_DIR}/src
|
|||||||
)
|
)
|
||||||
|
|
||||||
IF (USE_GLUT)
|
IF (USE_GLUT)
|
||||||
|
INCLUDE_DIRECTORIES( ${GLUT_INCLUDE_DIR} )
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
OpenGLSupport BulletDynamics BulletCollision LinearMath ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
|
OpenGLSupport BulletDynamics BulletCollision LinearMath ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -12,6 +12,8 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ IF (USE_GLUT)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -285,7 +285,8 @@ btMultiBody* FeatherstoneMultiBodyDemo::createFeatherstoneMultiBody(class btMult
|
|||||||
btVector3 inertia = btVector3 (91,344,253)*scaling*scaling;
|
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);
|
// bod->setHasSelfCollision(false);
|
||||||
|
|
||||||
//btQuaternion orn(btVector3(0,0,1),-0.25*SIMD_HALF_PI);//0,0,0,1);
|
//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)
|
if (1)
|
||||||
{
|
{
|
||||||
btMultiBodyJointMotor* con = new btMultiBodyJointMotor(bod,i,0,500000);
|
btMultiBodyJointMotor* con = new btMultiBodyJointMotor(bod,i,0,0,500000);
|
||||||
world->addMultiBodyConstraint(con);
|
world->addMultiBodyConstraint(con);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -447,6 +448,8 @@ btMultiBody* FeatherstoneMultiBodyDemo::createFeatherstoneMultiBody(class btMult
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
world->addMultiBody(bod);
|
world->addMultiBody(bod);
|
||||||
|
|
||||||
return bod;
|
return bod;
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ IF (USE_GLUT)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -13,7 +13,8 @@
|
|||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ IF (USE_GLUT)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src ${BULLET_PHYSICS_SOURCE_DIR}/Extras/ConvexHull
|
${BULLET_PHYSICS_SOURCE_DIR}/src ${BULLET_PHYSICS_SOURCE_DIR}/Extras/ConvexHull
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ IF (USE_GLUT)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
LINK_LIBRARIES(
|
LINK_LIBRARIES(
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/Glut)
|
|||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||||
../OpenGL
|
../OpenGL
|
||||||
|
${GLUT_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
1
btgui/CMakeLists.txt
Normal file
1
btgui/CMakeLists.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
SUBDIRS( gwen OpenGLWindow )
|
||||||
13
btgui/Gwen/CMakeLists.txt
Normal file
13
btgui/Gwen/CMakeLists.txt
Normal file
@@ -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})
|
||||||
|
|
||||||
41
btgui/OpenGLWindow/CMakeLists.txt
Normal file
41
btgui/OpenGLWindow/CMakeLists.txt
Normal file
@@ -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})
|
||||||
|
|
||||||
@@ -80,6 +80,8 @@
|
|||||||
#define __glew_h__
|
#define __glew_h__
|
||||||
#define __GLEW_H__
|
#define __GLEW_H__
|
||||||
|
|
||||||
|
#define GLEW_STATIC 1
|
||||||
|
|
||||||
#if defined(__gl_h_) || defined(__GL_H__) || defined(__X_GL_H)
|
#if defined(__gl_h_) || defined(__GL_H__) || defined(__X_GL_H)
|
||||||
#error gl.h included before glew.h
|
#error gl.h included before glew.h
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
90
src/Bullet3Collision/CMakeLists.txt
Normal file
90
src/Bullet3Collision/CMakeLists.txt
Normal file
@@ -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)
|
||||||
63
src/Bullet3Common/CMakeLists.txt
Normal file
63
src/Bullet3Common/CMakeLists.txt
Normal file
@@ -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)
|
||||||
58
src/Bullet3Dynamics/CMakeLists.txt
Normal file
58
src/Bullet3Dynamics/CMakeLists.txt
Normal file
@@ -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)
|
||||||
44
src/Bullet3Geometry/CMakeLists.txt
Normal file
44
src/Bullet3Geometry/CMakeLists.txt
Normal file
@@ -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)
|
||||||
@@ -100,6 +100,7 @@ btMultiBody::btMultiBody(int n_links,
|
|||||||
m_angularDamping(0.04f),
|
m_angularDamping(0.04f),
|
||||||
m_useGyroTerm(true),
|
m_useGyroTerm(true),
|
||||||
m_maxAppliedImpulse(1000.f),
|
m_maxAppliedImpulse(1000.f),
|
||||||
|
m_maxCoordinateVelocity(100.f),
|
||||||
m_hasSelfCollision(true),
|
m_hasSelfCollision(true),
|
||||||
m_dofCount(0),
|
m_dofCount(0),
|
||||||
__posUpdated(false),
|
__posUpdated(false),
|
||||||
@@ -2410,12 +2411,24 @@ void btMultiBody::calcAccelerationDeltas(const btScalar *force, btScalar *output
|
|||||||
output[4] = vdot_out[1];
|
output[4] = vdot_out[1];
|
||||||
output[5] = vdot_out[2];
|
output[5] = vdot_out[2];
|
||||||
|
|
||||||
|
|
||||||
/////////////////
|
/////////////////
|
||||||
//printf("delta = [");
|
/*
|
||||||
//for(int dof = 0; dof < getNumLinks() + 6; ++dof)
|
int ndof = getNumLinks() + 6;
|
||||||
// printf("%.2f ", output[dof]);
|
printf("test force(impulse) (%d) = [\n",ndof);
|
||||||
//printf("]\n");
|
|
||||||
|
for (int i=0;i<ndof;i++)
|
||||||
|
{
|
||||||
|
printf("%.2f ", force[i]);
|
||||||
|
printf("]\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("delta(%d) = [",ndof);
|
||||||
|
for(int dof = 0; dof < getNumLinks() + 6; ++dof)
|
||||||
|
printf("%.2f ", output[dof]);
|
||||||
|
printf("]\n");
|
||||||
/////////////////
|
/////////////////
|
||||||
|
*/
|
||||||
|
|
||||||
int dummy = 0;
|
int dummy = 0;
|
||||||
}
|
}
|
||||||
@@ -2747,16 +2760,25 @@ void btMultiBody::fillContactJacobian(int link,
|
|||||||
n_local[0] = rot_from_world[0] * normal;
|
n_local[0] = rot_from_world[0] * normal;
|
||||||
|
|
||||||
// omega coeffients first.
|
// omega coeffients first.
|
||||||
btVector3 omega_coeffs;
|
if (this->m_fixedBase)
|
||||||
omega_coeffs = p_minus_com_world.cross(normal);
|
{
|
||||||
jac[0] = omega_coeffs[0];
|
for (int i=0;i<6;i++)
|
||||||
jac[1] = omega_coeffs[1];
|
{
|
||||||
jac[2] = omega_coeffs[2];
|
jac[i]=0;
|
||||||
// then v coefficients
|
}
|
||||||
jac[3] = normal[0];
|
} else
|
||||||
jac[4] = normal[1];
|
{
|
||||||
jac[5] = normal[2];
|
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.
|
// Set remaining jac values to zero for now.
|
||||||
for (int i = 6; i < 6 + num_links; ++i) {
|
for (int i = 6; i < 6 + num_links; ++i) {
|
||||||
jac[i] = 0;
|
jac[i] = 0;
|
||||||
|
|||||||
@@ -342,6 +342,7 @@ public:
|
|||||||
{
|
{
|
||||||
sum += delta_vee[i]*multiplier*delta_vee[i]*multiplier;
|
sum += delta_vee[i]*multiplier*delta_vee[i]*multiplier;
|
||||||
m_realBuf[i] += 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)
|
for (int dof = 0; dof < 6 + getNumDofs(); ++dof)
|
||||||
{
|
{
|
||||||
m_realBuf[dof] += delta_vee[dof] * multiplier;
|
m_realBuf[dof] += delta_vee[dof] * multiplier;
|
||||||
|
btClamp(m_realBuf[dof],-m_maxCoordinateVelocity,m_maxCoordinateVelocity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -473,6 +475,15 @@ public:
|
|||||||
{
|
{
|
||||||
m_useGyroTerm = useGyro;
|
m_useGyroTerm = useGyro;
|
||||||
}
|
}
|
||||||
|
btScalar getMaxCoordinateVelocity() const
|
||||||
|
{
|
||||||
|
return m_maxCoordinateVelocity ;
|
||||||
|
}
|
||||||
|
void setMaxCoordinateVelocity(btScalar maxVel)
|
||||||
|
{
|
||||||
|
m_maxCoordinateVelocity = maxVel;
|
||||||
|
}
|
||||||
|
|
||||||
btScalar getMaxAppliedImpulse() const
|
btScalar getMaxAppliedImpulse() const
|
||||||
{
|
{
|
||||||
return m_maxAppliedImpulse;
|
return m_maxAppliedImpulse;
|
||||||
@@ -481,7 +492,6 @@ public:
|
|||||||
{
|
{
|
||||||
m_maxAppliedImpulse = maxImp;
|
m_maxAppliedImpulse = maxImp;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setHasSelfCollision(bool hasSelfCollision)
|
void setHasSelfCollision(bool hasSelfCollision)
|
||||||
{
|
{
|
||||||
m_hasSelfCollision = hasSelfCollision;
|
m_hasSelfCollision = hasSelfCollision;
|
||||||
@@ -582,6 +592,7 @@ private:
|
|||||||
btScalar m_angularDamping;
|
btScalar m_angularDamping;
|
||||||
bool m_useGyroTerm;
|
bool m_useGyroTerm;
|
||||||
btScalar m_maxAppliedImpulse;
|
btScalar m_maxAppliedImpulse;
|
||||||
|
btScalar m_maxCoordinateVelocity;
|
||||||
bool m_hasSelfCollision;
|
bool m_hasSelfCollision;
|
||||||
bool m_isMultiDof;
|
bool m_isMultiDof;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
SUBDIRS( BulletSoftBody BulletCollision BulletDynamics LinearMath )
|
SUBDIRS( Bullet3Dynamics Bullet3Collision Bullet3Geometry Bullet3Common BulletSoftBody BulletCollision BulletDynamics LinearMath )
|
||||||
|
|
||||||
IF(BUILD_MULTITHREADING)
|
IF(BUILD_MULTITHREADING)
|
||||||
SUBDIRS(MiniCL BulletMultiThreaded)
|
SUBDIRS(MiniCL BulletMultiThreaded)
|
||||||
|
|||||||
Reference in New Issue
Block a user