Merge pull request #1297 from erwincoumans/master
Add Extras/BulletRobotics library for Roboschool, Re-enable Physics Server (Logging) and Physics Server (Replay Log), small fixes
This commit is contained in:
@@ -38,6 +38,20 @@ IF (BULLET2_USE_THREAD_LOCKS)
|
||||
ENDIF (MSVC)
|
||||
ENDIF (BULLET2_USE_THREAD_LOCKS)
|
||||
|
||||
IF(NOT WIN32)
|
||||
SET(DL dl)
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
SET(OSDEF -D_LINUX)
|
||||
ELSE(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
IF(APPLE)
|
||||
SET(OSDEF -D_DARWIN)
|
||||
ELSE(APPLE)
|
||||
SET(OSDEF -D_BSD)
|
||||
SET(DL "")
|
||||
ENDIF(APPLE)
|
||||
ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
ENDIF(NOT WIN32)
|
||||
|
||||
OPTION(USE_MSVC_INCREMENTAL_LINKING "Use MSVC Incremental Linking" OFF)
|
||||
OPTION(USE_CUSTOM_VECTOR_MATH "Use custom vectormath library" OFF)
|
||||
|
||||
@@ -392,7 +406,6 @@ IF(BUILD_EXTRAS)
|
||||
ENDIF(BUILD_EXTRAS)
|
||||
|
||||
|
||||
#Maya Dynamica plugin is moved to http://dynamica.googlecode.com
|
||||
|
||||
SUBDIRS(src)
|
||||
|
||||
@@ -407,7 +420,15 @@ ELSE()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
|
||||
IF(INSTALL_LIBS)
|
||||
#INSTALL of other files requires CMake 2.6
|
||||
IF(BUILD_EXTRAS)
|
||||
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
OPTION(INSTALL_EXTRA_LIBS "Set when you want extra libraries installed" ON)
|
||||
ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
ENDIF(BUILD_EXTRAS)
|
||||
|
||||
SET (LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
|
||||
SET (LIB_DESTINATION "lib${LIB_SUFFIX}" CACHE STRING "Library directory name")
|
||||
## the following are directories where stuff will be installed to
|
||||
@@ -421,12 +442,8 @@ IF(INSTALL_LIBS)
|
||||
DESTINATION
|
||||
${PKGCONFIG_INSTALL_PREFIX})
|
||||
ENDIF(NOT MSVC)
|
||||
ENDIF(INSTALL_LIBS)
|
||||
ENDIF()
|
||||
|
||||
#INSTALL of other files requires CMake 2.6
|
||||
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
OPTION(INSTALL_EXTRA_LIBS "Set when you want extra libraries installed" OFF)
|
||||
ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
||||
|
||||
OPTION(BUILD_UNIT_TESTS "Build Unit Tests" ON)
|
||||
|
||||
@@ -437,9 +454,8 @@ ENDIF()
|
||||
|
||||
set (BULLET_CONFIG_CMAKE_PATH lib${LIB_SUFFIX}/cmake/bullet )
|
||||
list (APPEND BULLET_LIBRARIES LinearMath)
|
||||
IF(BUILD_BULLET3)
|
||||
list (APPEND BULLET_LIBRARIES BulletInverseDynamics)
|
||||
ENDIF(BUILD_BULLET3)
|
||||
list (APPEND BULLET_LIBRARIES Bullet3Common)
|
||||
list (APPEND BULLET_LIBRARIES BulletInverseDynamics)
|
||||
list (APPEND BULLET_LIBRARIES BulletCollision)
|
||||
list (APPEND BULLET_LIBRARIES BulletDynamics)
|
||||
list (APPEND BULLET_LIBRARIES BulletSoftBody)
|
||||
|
||||
188
Extras/BulletRobotics/CMakeLists.txt
Normal file
188
Extras/BulletRobotics/CMakeLists.txt
Normal file
@@ -0,0 +1,188 @@
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/enet/include
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/clsocket/src
|
||||
)
|
||||
|
||||
SET(BulletRobotics_SRCS
|
||||
../../examples/SharedMemory/IKTrajectoryHelper.cpp
|
||||
../../examples/SharedMemory/IKTrajectoryHelper.h
|
||||
../../examples/SharedMemory/TinyRendererVisualShapeConverter.cpp
|
||||
../../examples/SharedMemory/TinyRendererVisualShapeConverter.h
|
||||
../../examples/OpenGLWindow/SimpleCamera.cpp
|
||||
../../examples/OpenGLWindow/SimpleCamera.h
|
||||
../../examples/TinyRenderer/geometry.cpp
|
||||
../../examples/TinyRenderer/model.cpp
|
||||
../../examples/TinyRenderer/tgaimage.cpp
|
||||
../../examples/TinyRenderer/our_gl.cpp
|
||||
../../examples/TinyRenderer/TinyRenderer.cpp
|
||||
../../examples/SharedMemory/InProcessMemory.cpp
|
||||
../../examples/SharedMemory/PhysicsClient.cpp
|
||||
../../examples/SharedMemory/PhysicsClient.h
|
||||
../../examples/SharedMemory/PhysicsServer.cpp
|
||||
../../examples/SharedMemory/PhysicsServer.h
|
||||
../../examples/SharedMemory/PhysicsServerSharedMemory.cpp
|
||||
../../examples/SharedMemory/PhysicsServerSharedMemory.h
|
||||
../../examples/SharedMemory/PhysicsDirect.cpp
|
||||
../../examples/SharedMemory/PhysicsDirect.h
|
||||
../../examples/SharedMemory/PhysicsDirectC_API.cpp
|
||||
../../examples/SharedMemory/PhysicsDirectC_API.h
|
||||
../../examples/SharedMemory/PhysicsServerCommandProcessor.cpp
|
||||
../../examples/SharedMemory/PhysicsServerCommandProcessor.h
|
||||
../../examples/SharedMemory/PhysicsClientSharedMemory.cpp
|
||||
../../examples/SharedMemory/PhysicsClientSharedMemory.h
|
||||
../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.cpp
|
||||
../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.h
|
||||
../../examples/SharedMemory/PhysicsClientC_API.cpp
|
||||
|
||||
../../examples/SharedMemory/PhysicsClientC_API.h
|
||||
../../examples/SharedMemory/SharedMemoryPublic.h
|
||||
|
||||
../../examples/SharedMemory/Win32SharedMemory.cpp
|
||||
../../examples/SharedMemory/Win32SharedMemory.h
|
||||
../../examples/SharedMemory/PosixSharedMemory.cpp
|
||||
../../examples/SharedMemory/PosixSharedMemory.h
|
||||
|
||||
../../examples/Utils/b3ResourcePath.cpp
|
||||
../../examples/Utils/b3ResourcePath.h
|
||||
../../examples/Utils/RobotLoggingUtil.cpp
|
||||
../../examples/Utils/RobotLoggingUtil.h
|
||||
../../examples/Utils/b3Clock.cpp
|
||||
../../examples/Utils/b3ResourcePath.cpp
|
||||
../../examples/Utils/b3ERPCFMHelper.hpp
|
||||
../../examples/Utils/b3ReferenceFrameHelper.hpp
|
||||
../../examples/Utils/ChromeTraceUtil.cpp
|
||||
|
||||
../../examples/ThirdPartyLibs/tinyxml/tinystr.cpp
|
||||
../../examples/ThirdPartyLibs/tinyxml/tinyxml.cpp
|
||||
../../examples/ThirdPartyLibs/tinyxml/tinyxmlerror.cpp
|
||||
../../examples/ThirdPartyLibs/tinyxml/tinyxmlparser.cpp
|
||||
|
||||
../../examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.cpp
|
||||
../../examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.h
|
||||
|
||||
../../examples/ThirdPartyLibs/stb_image/stb_image.cpp
|
||||
|
||||
../../examples/ThirdPartyLibs/BussIK/Jacobian.cpp
|
||||
../../examples/ThirdPartyLibs/BussIK/LinearR2.cpp
|
||||
../../examples/ThirdPartyLibs/BussIK/LinearR3.cpp
|
||||
../../examples/ThirdPartyLibs/BussIK/LinearR4.cpp
|
||||
../../examples/ThirdPartyLibs/BussIK/MatrixRmn.cpp
|
||||
../../examples/ThirdPartyLibs/BussIK/Misc.cpp
|
||||
../../examples/ThirdPartyLibs/BussIK/Node.cpp
|
||||
../../examples/ThirdPartyLibs/BussIK/Tree.cpp
|
||||
../../examples/ThirdPartyLibs/BussIK/VectorRn.cpp
|
||||
|
||||
../../examples/Importers/ImportColladaDemo/LoadMeshFromCollada.cpp
|
||||
../../examples/Importers/ImportObjDemo/LoadMeshFromObj.cpp
|
||||
../../examples/Importers/ImportObjDemo/Wavefront2GLInstanceGraphicsShape.cpp
|
||||
../../examples/Importers/ImportMJCFDemo/BulletMJCFImporter.cpp
|
||||
../../examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp
|
||||
../../examples/Importers/ImportURDFDemo/MyMultiBodyCreator.cpp
|
||||
../../examples/Importers/ImportURDFDemo/URDF2Bullet.cpp
|
||||
../../examples/Importers/ImportURDFDemo/UrdfParser.cpp
|
||||
../../examples/Importers/ImportURDFDemo/urdfStringSplit.cpp
|
||||
../../examples/Importers/ImportMeshUtility/b3ImportMeshUtility.cpp
|
||||
|
||||
../../examples/MultiThreading/b3PosixThreadSupport.cpp
|
||||
../../examples/MultiThreading/b3Win32ThreadSupport.cpp
|
||||
../../examples/MultiThreading/b3ThreadSupportInterface.cpp
|
||||
|
||||
|
||||
)
|
||||
|
||||
IF(BUILD_CLSOCKET)
|
||||
ADD_DEFINITIONS(-DBT_ENABLE_CLSOCKET)
|
||||
ENDIF(BUILD_CLSOCKET)
|
||||
|
||||
IF(WIN32)
|
||||
LINK_LIBRARIES(
|
||||
${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
|
||||
)
|
||||
IF(BUILD_ENET)
|
||||
ADD_DEFINITIONS(-DWIN32 -DBT_ENABLE_ENET)
|
||||
ENDIF(BUILD_ENET)
|
||||
IF(BUILD_CLSOCKET)
|
||||
ADD_DEFINITIONS(-DWIN32)
|
||||
ENDIF(BUILD_CLSOCKET)
|
||||
|
||||
ELSE(WIN32)
|
||||
IF(BUILD_ENET)
|
||||
ADD_DEFINITIONS(-DHAS_SOCKLEN_T -DBT_ENABLE_ENET)
|
||||
ENDIF(BUILD_ENET)
|
||||
|
||||
IF(BUILD_CLSOCKET)
|
||||
ADD_DEFINITIONS(${OSDEF})
|
||||
ENDIF(BUILD_CLSOCKET)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(BUILD_ENET)
|
||||
set(BulletRobotics_SRCS ${BulletRobotics_SRCS}
|
||||
../../examples/SharedMemory/PhysicsClientUDP.cpp
|
||||
../../examples/SharedMemory/PhysicsClientUDP_C_API.cpp
|
||||
../../examples/SharedMemory/PhysicsClientUDP.h
|
||||
../../examples/SharedMemory/PhysicsClientUDP_C_API.h
|
||||
../../examples/ThirdPartyLibs/enet/win32.c
|
||||
../../examples/ThirdPartyLibs/enet/unix.c
|
||||
../../examples/ThirdPartyLibs/enet/callbacks.c
|
||||
../../examples/ThirdPartyLibs/enet/compress.c
|
||||
../../examples/ThirdPartyLibs/enet/host.c
|
||||
../../examples/ThirdPartyLibs/enet/list.c
|
||||
../../examples/ThirdPartyLibs/enet/packet.c
|
||||
../../examples/ThirdPartyLibs/enet/peer.c
|
||||
../../examples/ThirdPartyLibs/enet/protocol.c
|
||||
)
|
||||
|
||||
ENDIF(BUILD_ENET)
|
||||
|
||||
IF(BUILD_CLSOCKET)
|
||||
set(BulletRobotics_SRCS ${BulletRobotics_SRCS}
|
||||
../../examples/SharedMemory/PhysicsClientTCP.cpp
|
||||
../../examples/SharedMemory/PhysicsClientTCP.h
|
||||
../../examples/SharedMemory/PhysicsClientTCP_C_API.cpp
|
||||
../../examples/SharedMemory/PhysicsClientTCP_C_API.h
|
||||
../../examples/ThirdPartyLibs/clsocket/src/SimpleSocket.cpp
|
||||
../../examples/ThirdPartyLibs/clsocket/src/ActiveSocket.cpp
|
||||
../../examples/ThirdPartyLibs/clsocket/src/PassiveSocket.cpp
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
ADD_DEFINITIONS(-DPHYSICS_SERVER_DIRECT)
|
||||
|
||||
|
||||
ADD_LIBRARY(BulletRobotics ${BulletRobotics_SRCS})
|
||||
|
||||
SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES VERSION ${BULLET_VERSION})
|
||||
SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES SOVERSION ${BULLET_VERSION})
|
||||
|
||||
IF (BUILD_SHARED_LIBS)
|
||||
TARGET_LINK_LIBRARIES(BulletRobotics BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common)
|
||||
ENDIF (BUILD_SHARED_LIBS)
|
||||
|
||||
IF (INSTALL_EXTRA_LIBS)
|
||||
INSTALL(FILES
|
||||
../../examples/SharedMemory/PhysicsClientC_API.h
|
||||
../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.h
|
||||
../../examples/SharedMemory/PhysicsClientSharedMemory2_C_API.h
|
||||
../../examples/SharedMemory/PhysicsDirectC_API.h
|
||||
../../examples/SharedMemory/PhysicsClientUDP_C_API.h
|
||||
../../examples/SharedMemory/PhysicsClientTCP_C_API.h
|
||||
../../examples/SharedMemory/SharedMemoryInProcessPhysicsC_API.h
|
||||
../../examples/SharedMemory/SharedMemoryPublic.h
|
||||
DESTINATION include/bullet
|
||||
)
|
||||
INSTALL(TARGETS
|
||||
BulletRobotics
|
||||
LIBRARY DESTINATION lib${LIB_SUFFIX}
|
||||
ARCHIVE DESTINATION lib${LIB_SUFFIX}
|
||||
)
|
||||
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES FRAMEWORK true)
|
||||
SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES PUBLIC_HEADER "PhysicsClientC_API.h" )
|
||||
ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
|
||||
ENDIF (INSTALL_EXTRA_LIBS)
|
||||
@@ -1,8 +1,6 @@
|
||||
SUBDIRS( obj2sdf Serialize ConvexDecomposition HACD GIMPACTUtils )
|
||||
SUBDIRS( InverseDynamics BulletRobotics obj2sdf Serialize ConvexDecomposition HACD GIMPACTUtils )
|
||||
|
||||
|
||||
IF(BUILD_BULLET3)
|
||||
SUBDIRS( InverseDynamics)
|
||||
ENDIF()
|
||||
|
||||
#Maya Dynamica plugin is moved to http://dynamica.googlecode.com
|
||||
|
||||
|
||||
@@ -49,7 +49,10 @@ IF (INSTALL_EXTRA_LIBS)
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS ConvexDecomposition DESTINATION .)
|
||||
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS ConvexDecomposition DESTINATION lib${LIB_SUFFIX})
|
||||
INSTALL(TARGETS ConvexDecomposition
|
||||
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)
|
||||
|
||||
@@ -22,7 +22,10 @@ IF (INSTALL_EXTRA_LIBS)
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS GIMPACTUtils DESTINATION .)
|
||||
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS GIMPACTUtils DESTINATION lib${LIB_SUFFIX})
|
||||
INSTALL(TARGETS GIMPACTUtils
|
||||
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)
|
||||
|
||||
@@ -36,7 +36,11 @@ IF (INSTALL_EXTRA_LIBS)
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS HACD DESTINATION .)
|
||||
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS HACD DESTINATION lib${LIB_SUFFIX})
|
||||
INSTALL(TARGETS HACD
|
||||
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 "*.inl" PATTERN
|
||||
".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE)
|
||||
|
||||
@@ -32,7 +32,10 @@ IF (INSTALL_EXTRA_LIBS)
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletInverseDynamicsUtils DESTINATION .)
|
||||
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletInverseDynamicsUtils DESTINATION lib${LIB_SUFFIX})
|
||||
INSTALL(TARGETS BulletInverseDynamicsUtils
|
||||
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)
|
||||
|
||||
@@ -34,7 +34,10 @@ IF (INSTALL_EXTRA_LIBS)
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletFileLoader DESTINATION .)
|
||||
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletFileLoader DESTINATION lib${LIB_SUFFIX})
|
||||
INSTALL(TARGETS BulletFileLoader
|
||||
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
|
||||
|
||||
@@ -25,7 +25,10 @@ IF (INSTALL_EXTRA_LIBS)
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletWorldImporter DESTINATION .)
|
||||
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletWorldImporter DESTINATION lib${LIB_SUFFIX})
|
||||
INSTALL(TARGETS BulletWorldImporter
|
||||
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)
|
||||
|
||||
@@ -32,7 +32,11 @@ IF (INSTALL_EXTRA_LIBS)
|
||||
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletXmlWorldImporter DESTINATION .)
|
||||
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
||||
INSTALL(TARGETS BulletXmlWorldImporter DESTINATION lib${LIB_SUFFIX})
|
||||
INSTALL(TARGETS BulletXmlWorldImporter
|
||||
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)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
mkdir build_cmake
|
||||
cd build_cmake
|
||||
cmake -DBUILD_PYBULLET=ON -DUSE_DOUBLE_PRECISION=ON -DCMAKE_BUILD_TYPE=Release -DPYTHON_INCLUDE_DIR=c:\python-3.5.2\include -DPYTHON_LIBRARY=c:\python-3.5.2\libs\python35.lib -DPYTHON_DEBUG_LIBRARY=c:\python-3.5.2\libs\python35_d.lib -G "Visual Studio 14 2015" ..
|
||||
cmake -DBUILD_PYBULLET=ON -DUSE_DOUBLE_PRECISION=ON -DCMAKE_BUILD_TYPE=Release -DPYTHON_INCLUDE_DIR=c:\python-3.5.3.amd64\include -DPYTHON_LIBRARY=c:\python-3.5.3.amd64\libs\python35.lib -DPYTHON_DEBUG_LIBRARY=c:\python-3.5.3.amd64\libs\python35_d.lib -G "Visual Studio 14 2015 Win64" ..
|
||||
start .
|
||||
|
||||
@@ -1,16 +1,5 @@
|
||||
SUBDIRS( HelloWorld BasicDemo )
|
||||
IF(BUILD_BULLET3)
|
||||
SET(DL dl)
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
SET(OSDEF -D_LINUX)
|
||||
ELSE(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
IF(APPLE)
|
||||
SET(OSDEF -D_DARWIN)
|
||||
ELSE(APPLE)
|
||||
SET(OSDEF -D_BSD)
|
||||
SET(DL "")
|
||||
ENDIF(APPLE)
|
||||
ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
SUBDIRS( ExampleBrowser RobotSimulator SharedMemory ThirdPartyLibs/Gwen ThirdPartyLibs/BussIK ThirdPartyLibs/clsocket OpenGLWindow )
|
||||
ENDIF()
|
||||
IF(BUILD_PYBULLET)
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
#include "../DynamicControlDemo/MotorDemo.h"
|
||||
#include "../RollingFrictionDemo/RollingFrictionDemo.h"
|
||||
#include "../SharedMemory/PhysicsServerExampleBullet2.h"
|
||||
#include "../SharedMemory/PhysicsServerExample.h"
|
||||
#include "../SharedMemory/PhysicsClientExample.h"
|
||||
#include "../Constraints/TestHingeTorque.h"
|
||||
#include "../RenderingExamples/TimeSeriesExample.h"
|
||||
@@ -141,10 +142,10 @@ static ExampleEntry gDefaultExamples[]=
|
||||
PhysicsServerCreateFuncBullet2),
|
||||
ExampleEntry(1, "Physics Client (Shared Mem)", "Create a physics client that can communicate with a physics server over shared memory.", PhysicsClientCreateFunc),
|
||||
|
||||
// ExampleEntry(1,"Physics Server (Logging)", "Create a physics server that communicates with a physics client over shared memory. It will log all commands to a file.",
|
||||
// PhysicsServerCreateFunc,PHYSICS_SERVER_ENABLE_COMMAND_LOGGING),
|
||||
// ExampleEntry(1,"Physics Server (Replay Log)", "Create a physics server that replay a command log from disk.",
|
||||
// PhysicsServerCreateFunc,PHYSICS_SERVER_REPLAY_FROM_COMMAND_LOG),
|
||||
ExampleEntry(1,"Physics Server (Logging)", "Create a physics server that communicates with a physics client over shared memory. It will log all commands to a file.",
|
||||
PhysicsServerCreateFuncBullet2,PHYSICS_SERVER_ENABLE_COMMAND_LOGGING),
|
||||
ExampleEntry(1,"Physics Server (Replay Log)", "Create a physics server that replay a command log from disk.",
|
||||
PhysicsServerCreateFuncBullet2,PHYSICS_SERVER_REPLAY_FROM_COMMAND_LOG),
|
||||
//
|
||||
// ExampleEntry(1, "Physics Client (Direct)", "Create a physics client that can communicate with a physics server directly in-process.", PhysicsClientCreateFunc,eCLIENTEXAMPLE_DIRECT),
|
||||
|
||||
|
||||
@@ -324,4 +324,4 @@ IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||
SET_TARGET_PROPERTIES(App_PhysicsServer_SharedMemory_VR PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo")
|
||||
ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||
|
||||
ENDIF(WIN32)
|
||||
ENDIF(WIN32 OR APPLE)
|
||||
|
||||
@@ -15,7 +15,15 @@ B3_DECLARE_HANDLE(b3SharedMemoryStatusHandle);
|
||||
#include "PhysicsClientSharedMemory_C_API.h"
|
||||
#include "PhysicsClientSharedMemory2_C_API.h"
|
||||
#include "PhysicsDirectC_API.h"
|
||||
|
||||
#ifdef BT_ENABLE_ENET
|
||||
#include "PhysicsClientUDP_C_API.h"
|
||||
#endif
|
||||
|
||||
#ifdef BT_ENABLE_CLSOCKET
|
||||
#include "PhysicsClientTCP_C_API.h"
|
||||
#endif
|
||||
|
||||
#include "SharedMemoryInProcessPhysicsC_API.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -293,29 +293,108 @@ struct CommandLogger
|
||||
|
||||
void logCommand(const SharedMemoryCommand& command)
|
||||
{
|
||||
btCommandChunk chunk;
|
||||
chunk.m_chunkCode = command.m_type;
|
||||
chunk.m_oldPtr = 0;
|
||||
chunk.m_dna_nr = 0;
|
||||
chunk.m_length = sizeof(SharedMemoryCommand);
|
||||
chunk.m_number = 1;
|
||||
fwrite((const char*)&chunk,sizeof(btCommandChunk), 1,m_file);
|
||||
fwrite((const char*)&command,sizeof(SharedMemoryCommand),1,m_file);
|
||||
if (m_file)
|
||||
{
|
||||
btCommandChunk chunk;
|
||||
chunk.m_chunkCode = command.m_type;
|
||||
chunk.m_oldPtr = 0;
|
||||
chunk.m_dna_nr = 0;
|
||||
chunk.m_length = sizeof(SharedMemoryCommand);
|
||||
chunk.m_number = 1;
|
||||
fwrite((const char*)&chunk,sizeof(btCommandChunk), 1,m_file);
|
||||
|
||||
switch (command.m_type)
|
||||
{
|
||||
|
||||
case CMD_LOAD_MJCF:
|
||||
{
|
||||
fwrite((const char*)&command.m_updateFlags,sizeof(int), 1,m_file);
|
||||
fwrite((const char*)&command.m_mjcfArguments , sizeof(MjcfArgs),1,m_file);
|
||||
break;
|
||||
}
|
||||
case CMD_REQUEST_BODY_INFO:
|
||||
{
|
||||
fwrite((const char*)&command.m_updateFlags,sizeof(int), 1,m_file);
|
||||
fwrite((const char*)&command.m_sdfRequestInfoArgs, sizeof(SdfRequestInfoArgs),1,m_file);
|
||||
break;
|
||||
}
|
||||
case CMD_REQUEST_VISUAL_SHAPE_INFO:
|
||||
{
|
||||
fwrite((const char*)&command.m_updateFlags,sizeof(int), 1,m_file);
|
||||
fwrite((const char*)&command.m_requestVisualShapeDataArguments, sizeof(RequestVisualShapeDataArgs),1,m_file);
|
||||
break;
|
||||
}
|
||||
case CMD_LOAD_URDF:
|
||||
{
|
||||
fwrite((const char*)&command.m_updateFlags,sizeof(int), 1,m_file);
|
||||
fwrite((const char*)&command.m_urdfArguments, sizeof(UrdfArgs),1,m_file);
|
||||
break;
|
||||
}
|
||||
case CMD_INIT_POSE:
|
||||
{
|
||||
fwrite((const char*)&command.m_updateFlags,sizeof(int), 1,m_file);
|
||||
fwrite((const char*)&command.m_initPoseArgs,sizeof(InitPoseArgs),1,m_file);
|
||||
break;
|
||||
};
|
||||
case CMD_REQUEST_ACTUAL_STATE:
|
||||
{
|
||||
fwrite((const char*)&command.m_updateFlags,sizeof(int), 1,m_file);
|
||||
fwrite((const char*)&command.m_requestActualStateInformationCommandArgument,
|
||||
sizeof(RequestActualStateArgs),1,m_file);
|
||||
break;
|
||||
};
|
||||
case CMD_SEND_DESIRED_STATE:
|
||||
{
|
||||
fwrite((const char*)&command.m_updateFlags,sizeof(int), 1,m_file);
|
||||
fwrite((const char*)&command.m_sendDesiredStateCommandArgument,sizeof(SendDesiredStateArgs),1,m_file);
|
||||
break;
|
||||
}
|
||||
case CMD_SEND_PHYSICS_SIMULATION_PARAMETERS:
|
||||
{
|
||||
fwrite((const char*)&command.m_updateFlags,sizeof(int), 1,m_file);
|
||||
fwrite((const char*)&command.m_physSimParamArgs, sizeof(SendPhysicsSimulationParameters), 1,m_file);
|
||||
break;
|
||||
}
|
||||
case CMD_REQUEST_CONTACT_POINT_INFORMATION:
|
||||
{
|
||||
fwrite((const char*)&command.m_updateFlags,sizeof(int), 1,m_file);
|
||||
fwrite((const char*)&command.m_requestContactPointArguments,sizeof(RequestContactDataArgs),1,m_file);
|
||||
break;
|
||||
}
|
||||
case CMD_STEP_FORWARD_SIMULATION:
|
||||
case CMD_RESET_SIMULATION:
|
||||
case CMD_REQUEST_INTERNAL_DATA:
|
||||
{
|
||||
break;
|
||||
};
|
||||
default:
|
||||
{
|
||||
fwrite((const char*)&command,sizeof(SharedMemoryCommand),1,m_file);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
CommandLogger(const char* fileName)
|
||||
{
|
||||
m_file = fopen(fileName,"wb");
|
||||
unsigned char buf[15];
|
||||
buf[12] = 12;
|
||||
buf[13] = 13;
|
||||
buf[14] = 14;
|
||||
writeHeader(buf);
|
||||
fwrite(buf,12,1,m_file);
|
||||
if (m_file)
|
||||
{
|
||||
unsigned char buf[15];
|
||||
buf[12] = 12;
|
||||
buf[13] = 13;
|
||||
buf[14] = 14;
|
||||
writeHeader(buf);
|
||||
fwrite(buf,12,1,m_file);
|
||||
}
|
||||
}
|
||||
virtual ~CommandLogger()
|
||||
{
|
||||
fclose(m_file);
|
||||
if (m_file)
|
||||
{
|
||||
fclose(m_file);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -355,28 +434,162 @@ struct CommandLogPlayback
|
||||
}
|
||||
bool processNextCommand(SharedMemoryCommand* cmd)
|
||||
{
|
||||
//for a little while, keep this flag to be able to read 'old' log files
|
||||
//#define BACKWARD_COMPAT
|
||||
#if BACKWARD_COMPAT
|
||||
SharedMemoryCommand unused;
|
||||
#endif//BACKWARD_COMPAT
|
||||
bool result = false;
|
||||
|
||||
if (m_file)
|
||||
{
|
||||
size_t s = 0;
|
||||
|
||||
int commandType = -1;
|
||||
|
||||
if (m_fileIs64bit)
|
||||
{
|
||||
bCommandChunkPtr8 chunk8;
|
||||
s = fread((void*)&chunk8,sizeof(bCommandChunkPtr8),1,m_file);
|
||||
commandType = chunk8.code;
|
||||
} else
|
||||
{
|
||||
bCommandChunkPtr4 chunk4;
|
||||
s = fread((void*)&chunk4,sizeof(bCommandChunkPtr4),1,m_file);
|
||||
commandType = chunk4.code;
|
||||
}
|
||||
|
||||
if (s==1)
|
||||
{
|
||||
s = fread(cmd,sizeof(SharedMemoryCommand),1,m_file);
|
||||
return (s==1);
|
||||
memset(cmd,0,sizeof(SharedMemoryCommand));
|
||||
cmd->m_type = commandType;
|
||||
|
||||
#ifdef BACKWARD_COMPAT
|
||||
s = fread(&unused,sizeof(SharedMemoryCommand),1,m_file);
|
||||
cmd->m_updateFlags = unused.m_updateFlags;
|
||||
#endif
|
||||
|
||||
|
||||
switch (commandType)
|
||||
{
|
||||
case CMD_LOAD_MJCF:
|
||||
{
|
||||
#ifdef BACKWARD_COMPAT
|
||||
cmd->m_mjcfArguments = unused.m_mjcfArguments;
|
||||
#else
|
||||
fread(&cmd->m_updateFlags,sizeof(int),1,m_file);
|
||||
fread(&cmd->m_mjcfArguments,sizeof(MjcfArgs),1,m_file);
|
||||
#endif
|
||||
result=true;
|
||||
break;
|
||||
}
|
||||
case CMD_REQUEST_BODY_INFO:
|
||||
{
|
||||
#ifdef BACKWARD_COMPAT
|
||||
cmd->m_sdfRequestInfoArgs = unused.m_sdfRequestInfoArgs;
|
||||
#else
|
||||
fread(&cmd->m_updateFlags,sizeof(int),1,m_file);
|
||||
fread(&cmd->m_sdfRequestInfoArgs,sizeof(SdfRequestInfoArgs),1,m_file);
|
||||
#endif
|
||||
result=true;
|
||||
break;
|
||||
}
|
||||
case CMD_REQUEST_VISUAL_SHAPE_INFO:
|
||||
{
|
||||
#ifdef BACKWARD_COMPAT
|
||||
cmd->m_requestVisualShapeDataArguments = unused.m_requestVisualShapeDataArguments;
|
||||
#else
|
||||
fread(&cmd->m_updateFlags,sizeof(int),1,m_file);
|
||||
fread(&cmd->m_requestVisualShapeDataArguments,sizeof(RequestVisualShapeDataArgs),1,m_file);
|
||||
#endif
|
||||
result=true;
|
||||
break;
|
||||
}
|
||||
case CMD_LOAD_URDF:
|
||||
{
|
||||
#ifdef BACKWARD_COMPAT
|
||||
cmd->m_urdfArguments = unused.m_urdfArguments;
|
||||
#else
|
||||
fread(&cmd->m_updateFlags,sizeof(int),1,m_file);
|
||||
fread(&cmd->m_urdfArguments,sizeof(UrdfArgs),1,m_file);
|
||||
#endif
|
||||
result=true;
|
||||
break;
|
||||
}
|
||||
case CMD_INIT_POSE:
|
||||
{
|
||||
#ifdef BACKWARD_COMPAT
|
||||
cmd->m_initPoseArgs = unused.m_initPoseArgs;
|
||||
#else
|
||||
fread(&cmd->m_updateFlags,sizeof(int),1,m_file);
|
||||
fread(&cmd->m_initPoseArgs,sizeof(InitPoseArgs),1,m_file);
|
||||
|
||||
#endif
|
||||
result=true;
|
||||
break;
|
||||
};
|
||||
case CMD_REQUEST_ACTUAL_STATE:
|
||||
{
|
||||
#ifdef BACKWARD_COMPAT
|
||||
cmd->m_requestActualStateInformationCommandArgument = unused.m_requestActualStateInformationCommandArgument;
|
||||
#else
|
||||
fread(&cmd->m_updateFlags,sizeof(int),1,m_file);
|
||||
fread(&cmd->m_requestActualStateInformationCommandArgument,sizeof(RequestActualStateArgs),1,m_file);
|
||||
#endif
|
||||
result=true;
|
||||
break;
|
||||
};
|
||||
case CMD_SEND_DESIRED_STATE:
|
||||
{
|
||||
#ifdef BACKWARD_COMPAT
|
||||
cmd->m_sendDesiredStateCommandArgument = unused.m_sendDesiredStateCommandArgument;
|
||||
#else
|
||||
fread(&cmd->m_updateFlags,sizeof(int),1,m_file);
|
||||
fread(&cmd->m_sendDesiredStateCommandArgument ,sizeof(SendDesiredStateArgs),1,m_file);
|
||||
|
||||
#endif
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
case CMD_SEND_PHYSICS_SIMULATION_PARAMETERS:
|
||||
{
|
||||
#ifdef BACKWARD_COMPAT
|
||||
cmd->m_physSimParamArgs = unused.m_physSimParamArgs;
|
||||
#else
|
||||
fread(&cmd->m_updateFlags,sizeof(int),1,m_file);
|
||||
fread(&cmd->m_physSimParamArgs ,sizeof(SendPhysicsSimulationParameters),1,m_file);
|
||||
|
||||
#endif
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
case CMD_REQUEST_CONTACT_POINT_INFORMATION:
|
||||
{
|
||||
#ifdef BACKWARD_COMPAT
|
||||
cmd->m_requestContactPointArguments = unused.m_requestContactPointArguments;
|
||||
#else
|
||||
fread(&cmd->m_updateFlags,sizeof(int),1,m_file);
|
||||
fread(&cmd->m_requestContactPointArguments ,sizeof(RequestContactDataArgs),1,m_file);
|
||||
|
||||
#endif
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
case CMD_STEP_FORWARD_SIMULATION:
|
||||
case CMD_RESET_SIMULATION:
|
||||
case CMD_REQUEST_INTERNAL_DATA:
|
||||
{
|
||||
result=true;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
s = fread(cmd,sizeof(SharedMemoryCommand),1,m_file);
|
||||
result=(s==1);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return result;
|
||||
|
||||
}
|
||||
};
|
||||
@@ -3458,7 +3671,7 @@ bool PhysicsServerCommandProcessor::processCommand(const struct SharedMemoryComm
|
||||
serverStatusOut.m_dataStreamArguments.m_bodyUniqueId = sdfInfoArgs.m_bodyUniqueId;
|
||||
serverStatusOut.m_dataStreamArguments.m_bodyName[0] = 0;
|
||||
|
||||
InternalBodyHandle* bodyHandle = m_data->m_bodyHandles.getHandle(clientCmd.m_calculateJacobianArguments.m_bodyUniqueId);
|
||||
InternalBodyHandle* bodyHandle = m_data->m_bodyHandles.getHandle(sdfInfoArgs.m_bodyUniqueId);
|
||||
if (bodyHandle)
|
||||
{
|
||||
strcpy(serverStatusOut.m_dataStreamArguments.m_bodyName,bodyHandle->m_bodyName.c_str());
|
||||
|
||||
@@ -31,29 +31,35 @@ def readLogFile(filename, verbose = True):
|
||||
print('Columns:'),
|
||||
print(ncols)
|
||||
|
||||
# Read data
|
||||
wholeFile = f.read()
|
||||
# split by alignment word
|
||||
chunks = wholeFile.split(b'\xaa\xbb')
|
||||
lenChunk = sz
|
||||
log = list()
|
||||
if verbose:
|
||||
print("num chunks:")
|
||||
print(len(chunks))
|
||||
chunkIndex = 0
|
||||
for chunk in chunks:
|
||||
print("len(chunk)=",len(chunk)," sz = ", sz)
|
||||
if len(chunk) == sz:
|
||||
print("chunk #",chunkIndex)
|
||||
chunkIndex=chunkIndex+1
|
||||
values = struct.unpack(fmt, chunk)
|
||||
record = list()
|
||||
for i in range(ncols):
|
||||
record.append(values[i])
|
||||
if verbose:
|
||||
print(" ",keys[i],"=",values[i])
|
||||
|
||||
log.append(record)
|
||||
|
||||
while (lenChunk):
|
||||
check = f.read(2)
|
||||
lenChunk = 0
|
||||
if (check == b'\xaa\xbb'):
|
||||
mychunk = f.read(sz)
|
||||
lenChunk = len(mychunk)
|
||||
chunks = [mychunk]
|
||||
if verbose:
|
||||
print("num chunks:")
|
||||
print(len(chunks))
|
||||
|
||||
for chunk in chunks:
|
||||
print("len(chunk)=",len(chunk)," sz = ", sz)
|
||||
if len(chunk) == sz:
|
||||
print("chunk #",chunkIndex)
|
||||
chunkIndex=chunkIndex+1
|
||||
values = struct.unpack(fmt, chunk)
|
||||
record = list()
|
||||
for i in range(ncols):
|
||||
record.append(values[i])
|
||||
if verbose:
|
||||
print(" ",keys[i],"=",values[i])
|
||||
|
||||
log.append(record)
|
||||
else:
|
||||
print("Error, expected aabb terminal")
|
||||
return log
|
||||
|
||||
|
||||
@@ -64,11 +70,11 @@ print ('Argument List:', str(sys.argv))
|
||||
fileName = "log.bin"
|
||||
|
||||
if (numArgs>1):
|
||||
fileName = sys.argv[1]
|
||||
fileName = sys.argv[1]
|
||||
|
||||
print("filename=")
|
||||
print(fileName)
|
||||
|
||||
verbose = True
|
||||
|
||||
|
||||
readLogFile(fileName,verbose)
|
||||
|
||||
107
examples/pybullet/gym/pybullet_data/stadium_no_collision.sdf
Normal file
107
examples/pybullet/gym/pybullet_data/stadium_no_collision.sdf
Normal file
@@ -0,0 +1,107 @@
|
||||
<sdf version='1.6'>
|
||||
<world name='default'>
|
||||
<gravity>0 0 -9.8</gravity>
|
||||
<model name='roboschool/models_outdoor/stadium/part0.obj'>
|
||||
<static>1</static>
|
||||
<pose frame=''>0 0 0 0 0 0</pose>
|
||||
<link name='link_d0'>
|
||||
<inertial>
|
||||
<mass>0</mass>
|
||||
<inertia>
|
||||
<ixx>0.166667</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.166667</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.166667</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<visual name='visual'>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>roboschool/models_outdoor/stadium/part0.obj</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<ambient>1 1 1 1</ambient>
|
||||
<diffuse>1.00000 1.00000 1.000000 1</diffuse>
|
||||
<specular>0.1 .1 .1 1</specular>
|
||||
<emissive>0 0 0 0</emissive>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
</model>
|
||||
<model name='roboschool/models_outdoor/stadium/part1.obj'>
|
||||
<static>1</static>
|
||||
<pose frame=''>0 0 0 0 0 0</pose>
|
||||
<link name='link_d1'>
|
||||
<inertial>
|
||||
<mass>0</mass>
|
||||
<inertia>
|
||||
<ixx>0.166667</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.166667</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.166667</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
<collision name='collision_1'>
|
||||
<geometry>
|
||||
<plane>
|
||||
<normal>0 0 1</normal>
|
||||
<size>100 100</size>
|
||||
</plane>
|
||||
</geometry>
|
||||
</collision>
|
||||
<visual name='visual'>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>roboschool/models_outdoor/stadium/part1.obj</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<ambient>1 1 1 1</ambient>
|
||||
<diffuse>0.600000 0.400000 0.000000 1</diffuse>
|
||||
<specular>.5 .5 .5 1</specular>
|
||||
<emissive>0 0 0 0</emissive>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
</model>
|
||||
<model name='part2.obj'>
|
||||
<static>1</static>
|
||||
<pose frame=''>0 0 0 0 0 0</pose>
|
||||
<link name='link_d2'>
|
||||
<inertial>
|
||||
<mass>0</mass>
|
||||
<inertia>
|
||||
<ixx>0.166667</ixx>
|
||||
<ixy>0</ixy>
|
||||
<ixz>0</ixz>
|
||||
<iyy>0.166667</iyy>
|
||||
<iyz>0</iyz>
|
||||
<izz>0.166667</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
|
||||
<visual name='visual'>
|
||||
<geometry>
|
||||
<mesh>
|
||||
<scale>1 1 1</scale>
|
||||
<uri>roboschool/models_outdoor/stadium/part2.obj</uri>
|
||||
</mesh>
|
||||
</geometry>
|
||||
<material>
|
||||
<ambient>1 0 0 1</ambient>
|
||||
<diffuse>0.000000 0.500000 0.000000 1</diffuse>
|
||||
<specular>0.4 0.4 0.4 1</specular>
|
||||
<emissive>0 0 0 0</emissive>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
</model>
|
||||
</world>
|
||||
</sdf>
|
||||
@@ -133,6 +133,3 @@ register(
|
||||
reward_threshold=2500.0
|
||||
)
|
||||
|
||||
def getList():
|
||||
btenvs = ['- ' + spec.id for spec in gym.envs.registry.all() if spec.id.find('Bullet')>=0])
|
||||
return btenvs
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
|
||||
IF(BUILD_BULLET3)
|
||||
SUBDIRS( Bullet3OpenCL Bullet3Serialize/Bullet2FileLoader Bullet3Dynamics Bullet3Collision Bullet3Geometry Bullet3Common )
|
||||
SUBDIRS( BulletInverseDynamics )
|
||||
SUBDIRS( Bullet3OpenCL Bullet3Serialize/Bullet2FileLoader Bullet3Dynamics Bullet3Collision Bullet3Geometry )
|
||||
ENDIF(BUILD_BULLET3)
|
||||
|
||||
SUBDIRS( BulletSoftBody BulletCollision BulletDynamics LinearMath )
|
||||
|
||||
SUBDIRS( BulletInverseDynamics BulletSoftBody BulletCollision BulletDynamics LinearMath Bullet3Common)
|
||||
|
||||
|
||||
IF(INSTALL_LIBS)
|
||||
|
||||
@@ -335,9 +335,9 @@ int main(int argc, char* argv[])
|
||||
#ifdef PHYSICS_IN_PROCESS_EXAMPLE_BROWSER
|
||||
|
||||
#ifdef __APPLE__
|
||||
b3PhysicsClientHandle sm = b3CreateInProcessPhysicsServerAndConnectMainThread(argc,argv,1);
|
||||
b3PhysicsClientHandle sm = b3CreateInProcessPhysicsServerAndConnectMainThread(argc,argv);
|
||||
#else
|
||||
b3PhysicsClientHandle sm = b3CreateInProcessPhysicsServerAndConnect(argc,argv,1);
|
||||
b3PhysicsClientHandle sm = b3CreateInProcessPhysicsServerAndConnect(argc,argv);
|
||||
#endif //__APPLE__
|
||||
#endif
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ int main(int argc, char* argv[]) {
|
||||
#ifdef _WIN32
|
||||
gets_s(message, 1024);
|
||||
#else
|
||||
gets(message);
|
||||
fgets(message,1024,stdin);
|
||||
#endif
|
||||
if (strcmp(message, "exit") == 0 ||
|
||||
strcmp(message, "quit") == 0) {
|
||||
|
||||
Reference in New Issue
Block a user