Merge pull request #535 from erwincoumans/master
add collision and inverse dynamics unit tests to cmake, .travis.yml a…
This commit is contained in:
@@ -10,10 +10,13 @@ script:
|
||||
- echo "CC="$CC
|
||||
- cmake . -G "Unix Makefiles" #-DCMAKE_CXX_FLAGS=-Werror
|
||||
- make -j8
|
||||
# Test again with double precision
|
||||
- ctest -j8 --output-on-failure
|
||||
# Build again with double precision
|
||||
- cmake . -G "Unix Makefiles" -DUSE_DOUBLE_PRECISION=ON #-DCMAKE_CXX_FLAGS=-Werror
|
||||
- make -j8
|
||||
# Test again with shared libraries
|
||||
- ctest -j8 --output-on-failure
|
||||
# Build again with shared libraries
|
||||
- cmake . -G "Unix Makefiles" -DBUILD_SHARED_LIBS=ON
|
||||
- make -j8
|
||||
- ctest -j8 --output-on-failure
|
||||
- sudo make install
|
||||
|
||||
@@ -80,12 +80,12 @@ IF(MSVC)
|
||||
ELSE()
|
||||
OPTION(USE_MSVC_SSE "Use MSVC /arch:sse option" ON)
|
||||
IF (USE_MSVC_SSE)
|
||||
ADD_DEFINITIONS(/arch:SSE)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
OPTION(USE_MSVC_FAST_FLOATINGPOINT "Use MSVC /fp:fast option" ON)
|
||||
IF (USE_MSVC_FAST_FLOATINGPOINT)
|
||||
ADD_DEFINITIONS(/fp:fast)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:fast")
|
||||
ENDIF()
|
||||
ENDIF(MSVC)
|
||||
|
||||
@@ -273,6 +273,7 @@ ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
OPTION(BUILD_UNIT_TESTS "Build Unit Tests" ON)
|
||||
|
||||
IF (BUILD_UNIT_TESTS)
|
||||
ENABLE_TESTING()
|
||||
SUBDIRS(test)
|
||||
ENDIF()
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ int DillCreator::recurseDill(const int level, const int parent, const idScalar d
|
||||
return -1;
|
||||
}
|
||||
|
||||
idScalar size = std::max(level, 1);
|
||||
idScalar size = BT_ID_MAX(level, 1);
|
||||
const int body = m_current_body;
|
||||
// length = 0.1 * size;
|
||||
// with = 2 * 0.01 * size;
|
||||
|
||||
10
appveyor.yml
10
appveyor.yml
@@ -1,9 +1,19 @@
|
||||
build:
|
||||
project: build3/vs2010/0_Bullet3Solution.sln
|
||||
|
||||
build_script:
|
||||
- mkdir cmake
|
||||
- cd cmake
|
||||
- cmake .. -G"Visual Studio 14 2015 Win64"
|
||||
- cmake --build . --target ALL_BUILD --config Release -- /maxcpucount:4 /verbosity:quiet
|
||||
|
||||
test_script:
|
||||
- ctest --parallel 4 --build-config Release --output-on-failure
|
||||
|
||||
before_build:
|
||||
- echo %CD%
|
||||
- ps: cd build3
|
||||
- echo %CD%
|
||||
- premake4 vs2010
|
||||
- ps: cd ..
|
||||
|
||||
|
||||
@@ -28,12 +28,20 @@
|
||||
#ifndef btInverseDynamics
|
||||
#error "custom inverse dynamics config, but no custom namespace defined"
|
||||
#endif
|
||||
|
||||
#define BT_ID_MAX(a,b) std::max(a,b)
|
||||
#define BT_ID_MIN(a,b) std::min(a,b)
|
||||
|
||||
#else
|
||||
#define btInverseDynamics btInverseDynamicsBullet3
|
||||
// Use default configuration with bullet's types
|
||||
// Use the same scalar type as rest of bullet library
|
||||
#include "LinearMath/btScalar.h"
|
||||
typedef btScalar idScalar;
|
||||
#include "LinearMath/btMinMax.h"
|
||||
#define BT_ID_MAX(a,b) btMax(a,b)
|
||||
#define BT_ID_MIN(a,b) btMin(a,b)
|
||||
|
||||
#ifdef BT_USE_DOUBLE_PRECISION
|
||||
#define BT_ID_USE_DOUBLE_PRECISION
|
||||
#endif
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#SUBDIRS( gtest-1.7.0 TestBullet3OpenCL)
|
||||
SUBDIRS( gtest-1.7.0 )
|
||||
SUBDIRS( gtest-1.7.0 collision InverseDynamics)
|
||||
|
||||
|
||||
33
test/InverseDynamics/CMakeLists.txt
Normal file
33
test/InverseDynamics/CMakeLists.txt
Normal file
@@ -0,0 +1,33 @@
|
||||
|
||||
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
.
|
||||
../../src
|
||||
../gtest-1.7.0/include
|
||||
../../Extras/InverseDynamics
|
||||
)
|
||||
|
||||
|
||||
#ADD_DEFINITIONS(-DGTEST_HAS_PTHREAD=1)
|
||||
ADD_DEFINITIONS(-D_VARIADIC_MAX=10)
|
||||
|
||||
LINK_LIBRARIES(
|
||||
BulletInverseDynamicsUtils BulletInverseDynamics Bullet3Common LinearMath gtest
|
||||
)
|
||||
IF (NOT WIN32)
|
||||
LINK_LIBRARIES( pthread )
|
||||
ENDIF()
|
||||
|
||||
|
||||
ADD_EXECUTABLE(Test_BulletInverseDynamics
|
||||
test_invdyn_kinematics.cpp
|
||||
)
|
||||
|
||||
ADD_TEST(Test_BulletInverseDynamics_PASS Test_BulletInverseDynamics)
|
||||
|
||||
IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||
SET_TARGET_PROPERTIES(Test_Collision PROPERTIES DEBUG_POSTFIX "_Debug")
|
||||
SET_TARGET_PROPERTIES(Test_Collision PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel")
|
||||
SET_TARGET_PROPERTIES(Test_Collision PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo")
|
||||
ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||
@@ -349,7 +349,7 @@ TEST(InvDynKinematicsDifferentiation, errorOrder) {
|
||||
const idScalar expected_angular_acceleration_error_1 =
|
||||
max_angular_acceleration_error[0] * pow(kDeltaTs[1] / kDeltaTs[0], 2);
|
||||
|
||||
printf("linear vel error: %e %e %e\n", max_linear_velocity_error[1],
|
||||
/* printf("linear vel error: %e %e %e\n", max_linear_velocity_error[1],
|
||||
expected_linear_velocity_error_1,
|
||||
max_linear_velocity_error[1] - expected_linear_velocity_error_1);
|
||||
printf("angular vel error: %e %e %e\n", max_angular_velocity_error[1],
|
||||
@@ -361,6 +361,7 @@ TEST(InvDynKinematicsDifferentiation, errorOrder) {
|
||||
printf("angular acc error: %e %e %e\n", max_angular_acceleration_error[1],
|
||||
expected_angular_acceleration_error_1,
|
||||
max_angular_acceleration_error[1] - expected_angular_acceleration_error_1);
|
||||
*/
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
|
||||
39
test/collision/CMakeLists.txt
Normal file
39
test/collision/CMakeLists.txt
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
.
|
||||
../../src
|
||||
../gtest-1.7.0/include
|
||||
)
|
||||
|
||||
|
||||
#ADD_DEFINITIONS(-DGTEST_HAS_PTHREAD=1)
|
||||
ADD_DEFINITIONS(-D_VARIADIC_MAX=10)
|
||||
|
||||
LINK_LIBRARIES(
|
||||
LinearMath gtest
|
||||
)
|
||||
|
||||
IF (NOT WIN32)
|
||||
LINK_LIBRARIES( pthread )
|
||||
ENDIF()
|
||||
|
||||
ADD_EXECUTABLE(Test_Collision
|
||||
main.cpp
|
||||
../../src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp
|
||||
../../src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h
|
||||
../../src/BulletCollision/CollisionShapes/btSphereShape.cpp
|
||||
../../src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp
|
||||
../../src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp
|
||||
../../src/BulletCollision/CollisionShapes/btConvexShape.cpp
|
||||
../../src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp
|
||||
../../src/BulletCollision/CollisionShapes/btCollisionShape.cpp
|
||||
../../src/BulletCollision/CollisionShapes/btConvexPolyhedron.cpp
|
||||
)
|
||||
|
||||
ADD_TEST(Test_Collision_PASS Test_Collision)
|
||||
|
||||
IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||
SET_TARGET_PROPERTIES(Test_Collision PROPERTIES DEBUG_POSTFIX "_Debug")
|
||||
SET_TARGET_PROPERTIES(Test_Collision PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel")
|
||||
SET_TARGET_PROPERTIES(Test_Collision PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo")
|
||||
ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||
@@ -179,12 +179,12 @@ void testSphereSphereDistance(SphereSphereTestMethod method, btScalar abs_error)
|
||||
ASSERT_EQ(btScalar(0), distInfo.m_distance);
|
||||
}
|
||||
|
||||
for (int rb=1;rb<10;rb++)
|
||||
for (int z=-20;z<20;z++)
|
||||
for (int rb=1;rb<5;rb++)
|
||||
for (int z=-5;z<5;z++)
|
||||
{
|
||||
for (int j=1;j<10;j++)
|
||||
for (int j=1;j<5;j++)
|
||||
{
|
||||
for (int i=-20;i<20;i++)
|
||||
for (int i=-5;i<5;i++)
|
||||
{
|
||||
if (i!=z)//skip co-centric spheres for now (todo(erwincoumans) fix this)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user