From 76785d6e01cfd96eb13ac2cd22b3879e59174f3f Mon Sep 17 00:00:00 2001 From: "erwin.coumans" Date: Mon, 12 Dec 2011 11:53:20 +0000 Subject: [PATCH] Only set the m_interpolationWorldTransform to m_worldTransform for kinematic objects, and use the new transform directly for static/dynamic objects. update some cmake project files --- Demos/ConcaveRaycastDemo/CMakeLists.txt | 18 ++++++++++++++++++ Demos/Raytracer/CMakeLists.txt | 18 +++++++++++++++++- src/BulletDynamics/Dynamics/btRigidBody.cpp | 2 +- 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/Demos/ConcaveRaycastDemo/CMakeLists.txt b/Demos/ConcaveRaycastDemo/CMakeLists.txt index f1cb3478f..71bb8ce6b 100644 --- a/Demos/ConcaveRaycastDemo/CMakeLists.txt +++ b/Demos/ConcaveRaycastDemo/CMakeLists.txt @@ -31,6 +31,24 @@ ELSE() ) ENDIF() +IF (WIN32) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + IF (CMAKE_CL_64) + ADD_CUSTOM_COMMAND( + TARGET AppConcaveRayCastDemo + POST_BUILD + COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/glut64.dll ${CMAKE_CURRENT_BINARY_DIR} + ) + ELSE(CMAKE_CL_64) + ADD_CUSTOM_COMMAND( + TARGET AppConcaveRayCastDemo + POST_BUILD + COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/GLUT32.DLL ${CMAKE_CURRENT_BINARY_DIR} + ) + ENDIF(CMAKE_CL_64) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +ENDIF(WIN32) + IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES) SET_TARGET_PROPERTIES(AppConcaveRayCastDemo PROPERTIES DEBUG_POSTFIX "_Debug") diff --git a/Demos/Raytracer/CMakeLists.txt b/Demos/Raytracer/CMakeLists.txt index 4bf81b119..21eef2480 100644 --- a/Demos/Raytracer/CMakeLists.txt +++ b/Demos/Raytracer/CMakeLists.txt @@ -24,8 +24,24 @@ ADD_EXECUTABLE(AppRaytracer ) +IF (WIN32) + IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + IF (CMAKE_CL_64) + ADD_CUSTOM_COMMAND( + TARGET AppRaytracer + POST_BUILD + COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/glut64.dll ${CMAKE_CURRENT_BINARY_DIR} + ) + ELSE(CMAKE_CL_64) + ADD_CUSTOM_COMMAND( + TARGET AppRaytracer + POST_BUILD + COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/GLUT32.DLL ${CMAKE_CURRENT_BINARY_DIR} + ) + ENDIF(CMAKE_CL_64) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) +ENDIF(WIN32) - IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES) SET_TARGET_PROPERTIES(AppRaytracer PROPERTIES DEBUG_POSTFIX "_Debug") SET_TARGET_PROPERTIES(AppRaytracer PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel") diff --git a/src/BulletDynamics/Dynamics/btRigidBody.cpp b/src/BulletDynamics/Dynamics/btRigidBody.cpp index aefb26a1b..f0cfd687b 100644 --- a/src/BulletDynamics/Dynamics/btRigidBody.cpp +++ b/src/BulletDynamics/Dynamics/btRigidBody.cpp @@ -286,7 +286,7 @@ btQuaternion btRigidBody::getOrientation() const void btRigidBody::setCenterOfMassTransform(const btTransform& xform) { - if (isStaticOrKinematicObject()) + if (isKinematicObject()) { m_interpolationWorldTransform = m_worldTransform; } else