Merge pull request #1019 from erikogenvik/kinematic_controller_initialization
Kinematic controller initialization
This commit is contained in:
@@ -138,8 +138,34 @@ IF(BUILD_CLSOCKET)
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
ADD_EXECUTABLE(App_RobotSimulator ${RobotSimulator_SRCS})
|
||||
|
||||
#some code to support OpenGL and Glew cross platform
|
||||
IF (WIN32)
|
||||
INCLUDE_DIRECTORIES(
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/btgui/OpenGLWindow/GlewWindows
|
||||
)
|
||||
ADD_DEFINITIONS(-DGLEW_STATIC)
|
||||
LINK_LIBRARIES( ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} )
|
||||
ELSE(WIN32)
|
||||
IF(APPLE)
|
||||
find_library(COCOA NAMES Cocoa)
|
||||
MESSAGE(${COCOA})
|
||||
link_libraries(${COCOA} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
|
||||
|
||||
ELSE(APPLE)
|
||||
INCLUDE_DIRECTORIES(
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/btgui/OpenGLWindow/GlewWindows
|
||||
)
|
||||
ADD_DEFINITIONS("-DGLEW_INIT_OPENGL11_FUNCTIONS=1")
|
||||
ADD_DEFINITIONS("-DGLEW_STATIC")
|
||||
ADD_DEFINITIONS("-DGLEW_DYNAMIC_LOAD_ALL_GLX_FUNCTIONS=1")
|
||||
|
||||
LINK_LIBRARIES( pthread dl )
|
||||
ENDIF(APPLE)
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
ADD_EXECUTABLE(App_RobotSimulator ${RobotSimulator_SRCS})
|
||||
|
||||
SET_TARGET_PROPERTIES(App_RobotSimulator PROPERTIES VERSION ${BULLET_VERSION})
|
||||
SET_TARGET_PROPERTIES(App_RobotSimulator PROPERTIES DEBUG_POSTFIX "_d")
|
||||
@@ -153,7 +179,6 @@ ENDIF(WIN32)
|
||||
|
||||
|
||||
|
||||
|
||||
TARGET_LINK_LIBRARIES(App_RobotSimulator BulletExampleBrowserLib BulletFileLoader BulletWorldImporter BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamicsUtils BulletInverseDynamics LinearMath OpenGLWindow gwen BussIK Bullet3Common)
|
||||
|
||||
|
||||
|
||||
@@ -137,8 +137,6 @@ btKinematicCharacterController::btKinematicCharacterController (btPairCachingGho
|
||||
m_ghostObject = ghostObject;
|
||||
m_up.setValue(0.0f, 0.0f, 1.0f);
|
||||
m_jumpAxis.setValue(0.0f, 0.0f, 1.0f);
|
||||
setUp(up);
|
||||
setStepHeight(stepHeight);
|
||||
m_addedMargin = 0.02;
|
||||
m_walkDirection.setValue(0.0,0.0,0.0);
|
||||
m_AngVel.setValue(0.0, 0.0, 0.0);
|
||||
@@ -156,13 +154,16 @@ btKinematicCharacterController::btKinematicCharacterController (btPairCachingGho
|
||||
m_wasOnGround = false;
|
||||
m_wasJumping = false;
|
||||
m_interpolateUp = true;
|
||||
setMaxSlope(btRadians(45.0));
|
||||
m_currentStepOffset = 0.0;
|
||||
m_maxPenetrationDepth = 0.2;
|
||||
full_drop = false;
|
||||
bounce_fix = false;
|
||||
m_linearDamping = btScalar(0.0);
|
||||
m_angularDamping = btScalar(0.0);
|
||||
|
||||
setUp(up);
|
||||
setStepHeight(stepHeight);
|
||||
setMaxSlope(btRadians(45.0));
|
||||
}
|
||||
|
||||
btKinematicCharacterController::~btKinematicCharacterController ()
|
||||
|
||||
24
test/BulletDynamics/CMakeLists.txt
Normal file
24
test/BulletDynamics/CMakeLists.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
SUBDIRS(pendulum )
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
"${PROJECT_SOURCE_DIR}/src"
|
||||
"${PROJECT_SOURCE_DIR}/test/gtest-1.7.0/include")
|
||||
|
||||
ADD_DEFINITIONS(-DUSE_GTEST)
|
||||
ADD_DEFINITIONS(-D_VARIADIC_MAX=10)
|
||||
|
||||
LINK_LIBRARIES(BulletDynamics BulletCollision LinearMath gtest)
|
||||
|
||||
IF (NOT WIN32)
|
||||
LINK_LIBRARIES(pthread)
|
||||
ENDIF()
|
||||
|
||||
ADD_EXECUTABLE(Test_btKinematicCharacterController test_btKinematicCharacterController.cpp)
|
||||
|
||||
ADD_TEST(Test_btKinematicCharacterController_PASS Test_btKinematicCharacterController)
|
||||
|
||||
IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||
SET_TARGET_PROPERTIES(Test_btKinematicCharacterController PROPERTIES DEBUG_POSTFIX "_Debug")
|
||||
SET_TARGET_PROPERTIES(Test_btKinematicCharacterController PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel")
|
||||
SET_TARGET_PROPERTIES(Test_btKinematicCharacterController PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo")
|
||||
ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||
27
test/BulletDynamics/test_btKinematicCharacterController.cpp
Normal file
27
test/BulletDynamics/test_btKinematicCharacterController.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#include <BulletDynamics/Character/btKinematicCharacterController.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <BulletCollision/CollisionDispatch/btGhostObject.h>
|
||||
|
||||
|
||||
GTEST_TEST(BulletDynamics, KinematicCharacterController) {
|
||||
|
||||
btPairCachingGhostObject* ghostObject = new btPairCachingGhostObject();
|
||||
btBoxShape* convexShape = new btBoxShape(btVector3(1, 1, 1));
|
||||
|
||||
//For now only a simple test that it initializes correctly.
|
||||
btKinematicCharacterController* tested = new btKinematicCharacterController(ghostObject, convexShape, 1);
|
||||
EXPECT_TRUE(tested);
|
||||
|
||||
EXPECT_FLOAT_EQ(-9.8 * 3.0, tested->getGravity().x());
|
||||
EXPECT_FLOAT_EQ(0, tested->getGravity().y());
|
||||
EXPECT_FLOAT_EQ(0, tested->getGravity().z());
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
||||
@@ -3,5 +3,5 @@ IF(BUILD_BULLET3)
|
||||
SUBDIRS( InverseDynamics SharedMemory )
|
||||
ENDIF(BUILD_BULLET3)
|
||||
|
||||
SUBDIRS( gtest-1.7.0 collision RobotLogging BulletDynamics/pendulum )
|
||||
SUBDIRS( gtest-1.7.0 collision RobotLogging BulletDynamics )
|
||||
|
||||
|
||||
Reference in New Issue
Block a user