mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-12 15:14:35 +00:00
update bullet so it actually works
Moved the addSourceDirectory for physics/Bullet into the Engine/Source/CMakeLists.txt file that way it can actually appear where we expect it to in the solution explorer.
This commit is contained in:
parent
c7be48130a
commit
13fa178cf6
5986 changed files with 1811270 additions and 453803 deletions
|
|
@ -11,70 +11,89 @@ INCLUDE_DIRECTORIES(
|
|||
#ADD_DEFINITIONS(-DGTEST_HAS_PTHREAD=1)
|
||||
ADD_DEFINITIONS(-DPHYSICS_LOOP_BACK -DPHYSICS_SERVER_DIRECT -DENABLE_GTEST -D_VARIADIC_MAX=10)
|
||||
|
||||
IF (USE_SOFT_BODY_MULTI_BODY_DYNAMICS_WORLD)
|
||||
LINK_LIBRARIES(BulletSoftBody)
|
||||
ENDIF()
|
||||
|
||||
LINK_LIBRARIES(
|
||||
BulletInverseDynamicsUtils BulletInverseDynamics BulletFileLoader BulletWorldImporter Bullet3Common BulletDynamics BulletCollision LinearMath gtest BussIK
|
||||
)
|
||||
|
||||
IF (NOT WIN32)
|
||||
LINK_LIBRARIES( pthread )
|
||||
FIND_PACKAGE(Threads)
|
||||
LINK_LIBRARIES( ${CMAKE_THREAD_LIBS_INIT} )
|
||||
IF (NOT APPLE)
|
||||
LINK_LIBRARIES(${DL})
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
ADD_EXECUTABLE(Test_PhysicsClientServer
|
||||
gtestwrap.cpp
|
||||
../../examples/SharedMemory/PhysicsClient.cpp
|
||||
../../examples/SharedMemory/IKTrajectoryHelper.cpp
|
||||
../../examples/SharedMemory/IKTrajectoryHelper.h
|
||||
../../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/PhysicsClientC_API.cpp
|
||||
../../examples/SharedMemory/PhysicsClientC_API.h
|
||||
../../examples/SharedMemory/PhysicsLoopBack.cpp
|
||||
../../examples/SharedMemory/PhysicsLoopBack.h
|
||||
../../examples/SharedMemory/PhysicsLoopBackC_API.cpp
|
||||
../../examples/SharedMemory/PhysicsLoopBackC_API.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/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/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/Importers/ImportColladaDemo/LoadMeshFromCollada.cpp
|
||||
../../examples/Importers/ImportObjDemo/LoadMeshFromObj.cpp
|
||||
../../examples/Importers/ImportObjDemo/Wavefront2GLInstanceGraphicsShape.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/ThirdPartyLibs/stb_image/stb_image.cpp
|
||||
../../examples/SharedMemory/plugins/collisionFilterPlugin/collisionFilterPlugin.cpp
|
||||
../../examples/SharedMemory/plugins/pdControlPlugin/pdControlPlugin.cpp
|
||||
../../examples/SharedMemory/plugins/pdControlPlugin/pdControlPlugin.h
|
||||
../../examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.cpp
|
||||
../../examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.h
|
||||
../../examples/SharedMemory/IKTrajectoryHelper.cpp
|
||||
../../examples/SharedMemory/IKTrajectoryHelper.h
|
||||
../../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/b3PluginManager.cpp
|
||||
../../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/PhysicsLoopBack.cpp
|
||||
../../examples/SharedMemory/PhysicsLoopBack.h
|
||||
../../examples/SharedMemory/PhysicsLoopBackC_API.cpp
|
||||
../../examples/SharedMemory/PhysicsLoopBackC_API.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/b3Clock.cpp
|
||||
../../examples/Utils/b3Clock.h
|
||||
../../examples/Utils/ChromeTraceUtil.cpp
|
||||
../../examples/Utils/ChromeTraceUtil.h
|
||||
../../examples/Utils/RobotLoggingUtil.cpp
|
||||
../../examples/Utils/RobotLoggingUtil.h
|
||||
../../examples/SharedMemory/plugins/tinyRendererPlugin/tinyRendererPlugin.cpp
|
||||
../../examples/SharedMemory/plugins/tinyRendererPlugin/TinyRendererVisualShapeConverter.cpp
|
||||
../../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/ThirdPartyLibs/tinyxml2/tinyxml2.cpp
|
||||
../../examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.cpp
|
||||
../../examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.h
|
||||
../../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/ThirdPartyLibs/stb_image/stb_image.cpp
|
||||
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -6,18 +6,15 @@ void myprintf(const char* bla)
|
|||
{
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
b3SetCustomPrintfFunc(myprintf);
|
||||
b3SetCustomWarningMessageFunc(myprintf);
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
b3SetCustomPrintfFunc(myprintf);
|
||||
b3SetCustomWarningMessageFunc(myprintf);
|
||||
|
||||
#if _MSC_VER
|
||||
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
|
||||
//void *testWhetherMemoryLeakDetectionWorks = malloc(1);
|
||||
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
|
||||
//void *testWhetherMemoryLeakDetectionWorks = malloc(1);
|
||||
#endif
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,15 +17,133 @@ project ("Test_SharedMemoryPhysicsClient")
|
|||
"../../examples/SharedMemory/PhysicsClient.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/Win32SharedMemory.cpp",
|
||||
"../../examples/SharedMemory/Win32SharedMemory.h",
|
||||
"../../examples/SharedMemory/PosixSharedMemory.cpp",
|
||||
"../../examples/SharedMemory/PosixSharedMemory.h",
|
||||
"../../examples/Utils/b3Clock.cpp",
|
||||
"../../examples/Utils/b3Clock.h",
|
||||
"../../examples/Utils/b3ResourcePath.cpp",
|
||||
"../../examples/Utils/b3ResourcePath.h",
|
||||
}
|
||||
|
||||
project ("Test_PhysicsClientUDP")
|
||||
|
||||
language "C++"
|
||||
kind "ConsoleApp"
|
||||
|
||||
includedirs {
|
||||
"../../src",
|
||||
"../../examples",
|
||||
"../../examples/ThirdPartyLibs/enet/include"
|
||||
}
|
||||
links {
|
||||
"enet",
|
||||
"BulletFileLoader",
|
||||
"Bullet3Common",
|
||||
"LinearMath"
|
||||
}
|
||||
if os.is("Windows") then
|
||||
defines { "WIN32" }
|
||||
links {"Ws2_32","Winmm"}
|
||||
end
|
||||
if os.is("Linux") then
|
||||
links {"pthread"}
|
||||
end
|
||||
|
||||
defines {"PHYSICS_UDP"}
|
||||
|
||||
files {
|
||||
"test.c",
|
||||
"../../examples/SharedMemory/PhysicsClient.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClient.h",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory.h",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.h",
|
||||
"../../examples/SharedMemory/PhysicsClientUDP.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientUDP.h",
|
||||
"../../examples/SharedMemory/PhysicsClientUDP_C_API.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientUDP_C_API.h",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.h",
|
||||
"../../examples/SharedMemory/PhysicsClientC_API.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientC_API.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/SharedMemory/PhysicsDirect.cpp",
|
||||
"../../examples/Utils/b3Clock.cpp",
|
||||
"../../examples/MultiThreading/b3PosixThreadSupport.cpp",
|
||||
"../../examples/MultiThreading/b3Win32ThreadSupport.cpp",
|
||||
"../../examples/MultiThreading/b3ThreadSupportInterface.cpp",
|
||||
}
|
||||
|
||||
|
||||
project ("Test_PhysicsClientTCP")
|
||||
|
||||
language "C++"
|
||||
kind "ConsoleApp"
|
||||
|
||||
includedirs {
|
||||
"../../src",
|
||||
"../../examples",
|
||||
"../../examples/ThirdPartyLibs/clsocket/src"
|
||||
}
|
||||
links {
|
||||
"clsocket",
|
||||
"BulletFileLoader",
|
||||
"Bullet3Common",
|
||||
"LinearMath"
|
||||
}
|
||||
if os.is("Windows") then
|
||||
defines { "WIN32" }
|
||||
links {"Ws2_32","Winmm"}
|
||||
end
|
||||
|
||||
if os.is("Windows") then
|
||||
defines { "WIN32","_WINSOCK_DEPRECATED_NO_WARNINGS" }
|
||||
end
|
||||
if os.is("Linux") then
|
||||
defines {"_LINUX"}
|
||||
end
|
||||
if os.is("MacOSX") then
|
||||
defines {"_DARWIN"}
|
||||
end
|
||||
|
||||
defines {"PHYSICS_TCP"}
|
||||
|
||||
files {
|
||||
"test.c",
|
||||
"../../examples/SharedMemory/PhysicsClient.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClient.h",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory.h",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.h",
|
||||
"../../examples/SharedMemory/PhysicsClientTCP.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientTCP.h",
|
||||
"../../examples/SharedMemory/PhysicsClientTCP_C_API.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientTCP_C_API.h",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.h",
|
||||
"../../examples/SharedMemory/PhysicsClientC_API.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientC_API.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/SharedMemory/PhysicsDirect.cpp",
|
||||
"../../examples/Utils/b3Clock.cpp",
|
||||
}
|
||||
|
||||
|
||||
project ("Test_PhysicsServerLoopBack")
|
||||
|
||||
|
|
@ -34,7 +152,7 @@ project ("Test_PhysicsServerLoopBack")
|
|||
|
||||
includedirs {"../../src", "../../examples",
|
||||
"../../examples/ThirdPartyLibs"}
|
||||
defines {"PHYSICS_LOOP_BACK"}
|
||||
defines {"PHYSICS_LOOP_BACK", "SKIP_SOFT_BODY_MULTI_BODY_DYNAMICS_WORLD"}
|
||||
links {
|
||||
"BulletInverseDynamicsUtils",
|
||||
"BulletInverseDynamics",
|
||||
|
|
@ -46,9 +164,17 @@ project ("Test_PhysicsServerLoopBack")
|
|||
"BussIK",
|
||||
"LinearMath"
|
||||
}
|
||||
if os.is("Linux") then
|
||||
links{"dl"}
|
||||
end
|
||||
|
||||
files {
|
||||
"test.c",
|
||||
"../../examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.cpp",
|
||||
"../../examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.h",
|
||||
"../../examples/SharedMemory/plugins/collisionFilterPlugin/collisionFilterPlugin.cpp",
|
||||
"../../examples/SharedMemory/plugins/pdControlPlugin/pdControlPlugin.cpp",
|
||||
"../../examples/SharedMemory/plugins/pdControlPlugin/pdControlPlugin.h",
|
||||
"../../examples/SharedMemory/IKTrajectoryHelper.cpp",
|
||||
"../../examples/SharedMemory/IKTrajectoryHelper.h",
|
||||
"../../examples/SharedMemory/PhysicsClient.cpp",
|
||||
|
|
@ -59,10 +185,14 @@ project ("Test_PhysicsServerLoopBack")
|
|||
"../../examples/SharedMemory/PhysicsServerSharedMemory.h",
|
||||
"../../examples/SharedMemory/PhysicsServerCommandProcessor.cpp",
|
||||
"../../examples/SharedMemory/PhysicsServerCommandProcessor.h",
|
||||
"../../examples/SharedMemory/b3PluginManager.cpp",
|
||||
"../../examples/SharedMemory/PhysicsDirect.cpp",
|
||||
"../../examples/SharedMemory/PhysicsLoopBack.cpp",
|
||||
"../../examples/SharedMemory/PhysicsLoopBack.h",
|
||||
"../../examples/SharedMemory/PhysicsLoopBackC_API.cpp",
|
||||
"../../examples/SharedMemory/PhysicsLoopBackC_API.h",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.h",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory.h",
|
||||
"../../examples/SharedMemory/PhysicsClientC_API.cpp",
|
||||
|
|
@ -71,8 +201,8 @@ project ("Test_PhysicsServerLoopBack")
|
|||
"../../examples/SharedMemory/Win32SharedMemory.h",
|
||||
"../../examples/SharedMemory/PosixSharedMemory.cpp",
|
||||
"../../examples/SharedMemory/PosixSharedMemory.h",
|
||||
"../../examples/SharedMemory/TinyRendererVisualShapeConverter.cpp",
|
||||
"../../examples/SharedMemory/TinyRendererVisualShapeConverter.h",
|
||||
"../../examples/SharedMemory/plugins/tinyRendererPlugin/tinyRendererPlugin.cpp",
|
||||
"../../examples/SharedMemory/plugins/tinyRendererPlugin/TinyRendererVisualShapeConverter.cpp",
|
||||
"../../examples/OpenGLWindow/SimpleCamera.cpp",
|
||||
"../../examples/OpenGLWindow/SimpleCamera.h",
|
||||
"../../examples/TinyRenderer/geometry.cpp",
|
||||
|
|
@ -82,23 +212,31 @@ project ("Test_PhysicsServerLoopBack")
|
|||
"../../examples/TinyRenderer/TinyRenderer.cpp",
|
||||
"../../examples/Utils/b3ResourcePath.cpp",
|
||||
"../../examples/Utils/b3ResourcePath.h",
|
||||
"../../examples/ThirdPartyLibs/tinyxml/tinystr.cpp",
|
||||
"../../examples/ThirdPartyLibs/tinyxml/tinyxml.cpp",
|
||||
"../../examples/ThirdPartyLibs/tinyxml/tinyxmlerror.cpp",
|
||||
"../../examples/ThirdPartyLibs/tinyxml/tinyxmlparser.cpp",
|
||||
"../../examples/Utils/RobotLoggingUtil.cpp",
|
||||
"../../examples/Utils/RobotLoggingUtil.h",
|
||||
"../../examples/Utils/b3Clock.cpp",
|
||||
"../../examples/Utils/b3Clock.h",
|
||||
"../../examples/Utils/ChromeTraceUtil.cpp",
|
||||
"../../examples/Utils/ChromeTraceUtil.h",
|
||||
"../../examples/ThirdPartyLibs/tinyxml2/tinyxml2.cpp",
|
||||
"../../examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.cpp",
|
||||
"../../examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.h",
|
||||
"../../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/ThirdPartyLibs/stb_image/stb_image.cpp",
|
||||
"../../examples/ThirdPartyLibs/stb_image/stb_image.cpp",
|
||||
}
|
||||
|
||||
if (_OPTIONS["enable_static_plugins"]) then
|
||||
files {"../../examples/SharedMemory/plugins/vrSyncPlugin/vrSyncPlugin.cpp"}
|
||||
end
|
||||
|
||||
project ("Test_PhysicsServerDirect")
|
||||
|
||||
|
|
@ -107,7 +245,7 @@ project ("Test_PhysicsServerLoopBack")
|
|||
|
||||
includedirs {"../../src", "../../examples",
|
||||
"../../examples/ThirdPartyLibs"}
|
||||
defines {"PHYSICS_SERVER_DIRECT"}
|
||||
defines {"PHYSICS_SERVER_DIRECT","SKIP_SOFT_BODY_MULTI_BODY_DYNAMICS_WORLD"}
|
||||
links {
|
||||
"BulletInverseDynamicsUtils",
|
||||
"BulletInverseDynamics",
|
||||
|
|
@ -119,9 +257,17 @@ project ("Test_PhysicsServerLoopBack")
|
|||
"BussIK",
|
||||
"LinearMath"
|
||||
}
|
||||
if os.is("Linux") then
|
||||
links{"dl"}
|
||||
end
|
||||
|
||||
files {
|
||||
"test.c",
|
||||
"../../examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.cpp",
|
||||
"../../examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.h",
|
||||
"../../examples/SharedMemory/plugins/collisionFilterPlugin/collisionFilterPlugin.cpp",
|
||||
"../../examples/SharedMemory/plugins/pdControlPlugin/pdControlPlugin.cpp",
|
||||
"../../examples/SharedMemory/plugins/pdControlPlugin/pdControlPlugin.h",
|
||||
"../../examples/SharedMemory/IKTrajectoryHelper.cpp",
|
||||
"../../examples/SharedMemory/IKTrajectoryHelper.h",
|
||||
"../../examples/SharedMemory/PhysicsClient.cpp",
|
||||
|
|
@ -136,6 +282,7 @@ project ("Test_PhysicsServerLoopBack")
|
|||
"../../examples/SharedMemory/PhysicsDirectC_API.h",
|
||||
"../../examples/SharedMemory/PhysicsServerCommandProcessor.cpp",
|
||||
"../../examples/SharedMemory/PhysicsServerCommandProcessor.h",
|
||||
"../../examples/SharedMemory/b3PluginManager.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory.h",
|
||||
"../../examples/SharedMemory/PhysicsClientC_API.cpp",
|
||||
|
|
@ -144,8 +291,8 @@ project ("Test_PhysicsServerLoopBack")
|
|||
"../../examples/SharedMemory/Win32SharedMemory.h",
|
||||
"../../examples/SharedMemory/PosixSharedMemory.cpp",
|
||||
"../../examples/SharedMemory/PosixSharedMemory.h",
|
||||
"../../examples/SharedMemory/TinyRendererVisualShapeConverter.cpp",
|
||||
"../../examples/SharedMemory/TinyRendererVisualShapeConverter.h",
|
||||
"../../examples/SharedMemory/plugins/tinyRendererPlugin/tinyRendererPlugin.cpp",
|
||||
"../../examples/SharedMemory/plugins/tinyRendererPlugin/TinyRendererVisualShapeConverter.cpp",
|
||||
"../../examples/TinyRenderer/geometry.cpp",
|
||||
"../../examples/TinyRenderer/model.cpp",
|
||||
"../../examples/TinyRenderer/tgaimage.cpp",
|
||||
|
|
@ -155,15 +302,18 @@ project ("Test_PhysicsServerLoopBack")
|
|||
"../../examples/OpenGLWindow/SimpleCamera.h",
|
||||
"../../examples/Utils/b3ResourcePath.cpp",
|
||||
"../../examples/Utils/b3ResourcePath.h",
|
||||
"../../examples/ThirdPartyLibs/tinyxml/tinystr.cpp",
|
||||
"../../examples/ThirdPartyLibs/tinyxml/tinyxml.cpp",
|
||||
"../../examples/ThirdPartyLibs/tinyxml/tinyxmlerror.cpp",
|
||||
"../../examples/ThirdPartyLibs/tinyxml/tinyxmlparser.cpp",
|
||||
"../../examples/Utils/RobotLoggingUtil.cpp",
|
||||
"../../examples/Utils/RobotLoggingUtil.h",
|
||||
"../../examples/Utils/b3Clock.cpp",
|
||||
"../../examples/Utils/ChromeTraceUtil.cpp",
|
||||
"../../examples/Utils/ChromeTraceUtil.h",
|
||||
"../../examples/ThirdPartyLibs/tinyxml2/tinyxml2.cpp",
|
||||
"../../examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.cpp",
|
||||
"../../examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.h",
|
||||
"../../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",
|
||||
|
|
@ -172,7 +322,9 @@ project ("Test_PhysicsServerLoopBack")
|
|||
"../../examples/Importers/ImportMeshUtility/b3ImportMeshUtility.cpp",
|
||||
"../../examples/ThirdPartyLibs/stb_image/stb_image.cpp",
|
||||
}
|
||||
|
||||
if (_OPTIONS["enable_static_plugins"]) then
|
||||
files {"../../examples/SharedMemory/plugins/vrSyncPlugin/vrSyncPlugin.cpp"}
|
||||
end
|
||||
|
||||
project ("Test_PhysicsServerInProcessExampleBrowser")
|
||||
|
||||
|
|
@ -181,7 +333,7 @@ project ("Test_PhysicsServerInProcessExampleBrowser")
|
|||
|
||||
includedirs {"../../src", "../../examples",
|
||||
"../../examples/ThirdPartyLibs"}
|
||||
defines {"PHYSICS_IN_PROCESS_EXAMPLE_BROWSER"}
|
||||
defines {"PHYSICS_IN_PROCESS_EXAMPLE_BROWSER", "SKIP_SOFT_BODY_MULTI_BODY_DYNAMICS_WORLD"}
|
||||
-- links {
|
||||
-- "BulletExampleBrowserLib",
|
||||
-- "BulletFileLoader",
|
||||
|
|
@ -218,10 +370,45 @@ project ("Test_PhysicsServerInProcessExampleBrowser")
|
|||
}
|
||||
end
|
||||
|
||||
if not _OPTIONS["no-clsocket"] then
|
||||
|
||||
includedirs {"../../examples/ThirdPartyLibs/clsocket/src"}
|
||||
|
||||
if os.is("Windows") then
|
||||
defines { "WIN32" }
|
||||
links {"Ws2_32","Winmm"}
|
||||
end
|
||||
if os.is("Linux") then
|
||||
defines {"_LINUX"}
|
||||
end
|
||||
if os.is("MacOSX") then
|
||||
defines {"_DARWIN"}
|
||||
end
|
||||
|
||||
links {"clsocket"}
|
||||
|
||||
files {
|
||||
"../../examples/SharedMemory/PhysicsClientTCP.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientTCP.h",
|
||||
"../../examples/SharedMemory/PhysicsClientTCP_C_API.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientTCP_C_API.h",
|
||||
}
|
||||
defines {"BT_ENABLE_CLSOCKET"}
|
||||
end
|
||||
|
||||
|
||||
files {
|
||||
"test.c",
|
||||
"../../examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.cpp",
|
||||
"../../examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.h",
|
||||
"../../examples/SharedMemory/plugins/collisionFilterPlugin/collisionFilterPlugin.cpp",
|
||||
"../../examples/SharedMemory/plugins/pdControlPlugin/pdControlPlugin.cpp",
|
||||
"../../examples/SharedMemory/plugins/pdControlPlugin/pdControlPlugin.h",
|
||||
"../../examples/SharedMemory/IKTrajectoryHelper.cpp",
|
||||
"../../examples/SharedMemory/IKTrajectoryHelper.h",
|
||||
"../../examples/SharedMemory/RemoteGUIHelper.cpp",
|
||||
"../../examples/SharedMemory/RemoteGUIHelperTCP.cpp",
|
||||
"../../examples/SharedMemory/GraphicsServerExample.cpp",
|
||||
"../../examples/ExampleBrowser/InProcessExampleBrowser.cpp",
|
||||
"../../examples/SharedMemory/InProcessMemory.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClient.cpp",
|
||||
|
|
@ -229,6 +416,7 @@ project ("Test_PhysicsServerInProcessExampleBrowser")
|
|||
"../../examples/SharedMemory/PhysicsServer.cpp",
|
||||
"../../examples/SharedMemory/PhysicsServer.h",
|
||||
"../../examples/SharedMemory/PhysicsServerExample.cpp",
|
||||
"../../examples/SharedMemory/PhysicsServerExampleBullet2.cpp",
|
||||
"../../examples/SharedMemory/SharedMemoryInProcessPhysicsC_API.cpp",
|
||||
"../../examples/SharedMemory/PhysicsServerSharedMemory.cpp",
|
||||
"../../examples/SharedMemory/PhysicsServerSharedMemory.h",
|
||||
|
|
@ -238,6 +426,7 @@ project ("Test_PhysicsServerInProcessExampleBrowser")
|
|||
"../../examples/SharedMemory/PhysicsDirectC_API.h",
|
||||
"../../examples/SharedMemory/PhysicsServerCommandProcessor.cpp",
|
||||
"../../examples/SharedMemory/PhysicsServerCommandProcessor.h",
|
||||
"../../examples/SharedMemory/b3PluginManager.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory.cpp",
|
||||
"../../examples/SharedMemory/PhysicsClientSharedMemory.h",
|
||||
"../../examples/SharedMemory/PhysicsClientC_API.cpp",
|
||||
|
|
@ -246,24 +435,22 @@ project ("Test_PhysicsServerInProcessExampleBrowser")
|
|||
"../../examples/SharedMemory/Win32SharedMemory.h",
|
||||
"../../examples/SharedMemory/PosixSharedMemory.cpp",
|
||||
"../../examples/SharedMemory/PosixSharedMemory.h",
|
||||
"../../examples/SharedMemory/TinyRendererVisualShapeConverter.cpp",
|
||||
"../../examples/SharedMemory/TinyRendererVisualShapeConverter.h",
|
||||
"../../examples/SharedMemory/plugins/tinyRendererPlugin/tinyRendererPlugin.cpp",
|
||||
"../../examples/SharedMemory/plugins/tinyRendererPlugin/TinyRendererVisualShapeConverter.cpp",
|
||||
"../../examples/TinyRenderer/geometry.cpp",
|
||||
"../../examples/TinyRenderer/model.cpp",
|
||||
"../../examples/TinyRenderer/tgaimage.cpp",
|
||||
"../../examples/TinyRenderer/our_gl.cpp",
|
||||
"../../examples/TinyRenderer/TinyRenderer.cpp",
|
||||
"../../examples/Utils/b3ResourcePath.cpp",
|
||||
"../../examples/Utils/b3ResourcePath.h",
|
||||
"../../examples/ThirdPartyLibs/tinyxml/tinystr.cpp",
|
||||
"../../examples/ThirdPartyLibs/tinyxml/tinyxml.cpp",
|
||||
"../../examples/ThirdPartyLibs/tinyxml/tinyxmlerror.cpp",
|
||||
"../../examples/ThirdPartyLibs/tinyxml/tinyxmlparser.cpp",
|
||||
"../../examples/Utils/RobotLoggingUtil.cpp",
|
||||
"../../examples/Utils/RobotLoggingUtil.h",
|
||||
"../../examples/ThirdPartyLibs/tinyxml2/tinyxml2.cpp",
|
||||
"../../examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.cpp",
|
||||
"../../examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.h",
|
||||
"../../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",
|
||||
|
|
@ -275,6 +462,10 @@ project ("Test_PhysicsServerInProcessExampleBrowser")
|
|||
"../../examples/Importers/ImportMeshUtility/b3ImportMeshUtility.cpp",
|
||||
"../../examples/ThirdPartyLibs/stb_image/stb_image.cpp",
|
||||
}
|
||||
if (_OPTIONS["enable_static_vr_plugin"]) then
|
||||
files {"../../examples/SharedMemory/plugins/vrSyncPlugin/vrSyncPlugin.cpp"}
|
||||
end
|
||||
|
||||
if os.is("Linux") then
|
||||
initX11()
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,75 +1,97 @@
|
|||
|
||||
//#include "SharedMemoryCommands.h"
|
||||
#ifdef PHYSICS_SHARED_MEMORY
|
||||
#include "SharedMemory/PhysicsClientC_API.h"
|
||||
#endif //PHYSICS_SHARED_MEMORY
|
||||
#endif //PHYSICS_SHARED_MEMORY
|
||||
|
||||
#ifdef PHYSICS_UDP
|
||||
#include "SharedMemory/PhysicsClientUDP_C_API.h"
|
||||
#endif //PHYSICS_UDP
|
||||
|
||||
#ifdef PHYSICS_TCP
|
||||
#include "SharedMemory/PhysicsClientTCP_C_API.h"
|
||||
#endif //PHYSICS_TCP
|
||||
|
||||
#ifdef PHYSICS_LOOP_BACK
|
||||
#include "SharedMemory/PhysicsLoopBackC_API.h"
|
||||
#endif //PHYSICS_LOOP_BACK
|
||||
#endif //PHYSICS_LOOP_BACK
|
||||
|
||||
#ifdef PHYSICS_SERVER_DIRECT
|
||||
#include "SharedMemory/PhysicsDirectC_API.h"
|
||||
#endif //PHYSICS_SERVER_DIRECT
|
||||
#endif //PHYSICS_SERVER_DIRECT
|
||||
|
||||
#ifdef PHYSICS_IN_PROCESS_EXAMPLE_BROWSER
|
||||
#include "SharedMemory/SharedMemoryInProcessPhysicsC_API.h"
|
||||
#endif//PHYSICS_IN_PROCESS_EXAMPLE_BROWSER
|
||||
#endif //PHYSICS_IN_PROCESS_EXAMPLE_BROWSER
|
||||
|
||||
#include "SharedMemory/SharedMemoryPublic.h"
|
||||
#include "Bullet3Common/b3Logging.h"
|
||||
#include <string.h>
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#ifndef ENABLE_GTEST
|
||||
#include <assert.h>
|
||||
#define ASSERT_EQ(a,b) assert((a)==(b));
|
||||
#define ASSERT_EQ(a, b) assert((a) == (b));
|
||||
#else
|
||||
#define printf
|
||||
#endif
|
||||
|
||||
void testSharedMemory(b3PhysicsClientHandle sm)
|
||||
{
|
||||
int i, dofCount , posVarCount, ret ,numJoints ;
|
||||
int sensorJointIndexLeft=-1;
|
||||
int sensorJointIndexRight=-1;
|
||||
int i, dofCount, posVarCount, ret, numJoints;
|
||||
int sensorJointIndexLeft = -1;
|
||||
int sensorJointIndexRight = -1;
|
||||
const char* urdfFileName = "r2d2.urdf";
|
||||
const char* sdfFileName = "kuka_iiwa/model.sdf";
|
||||
double gravx=0, gravy=0, gravz=-9.8;
|
||||
double timeStep = 1./60.;
|
||||
double startPosX, startPosY,startPosZ;
|
||||
double gravx = 0, gravy = 0, gravz = -9.8;
|
||||
double timeStep = 1. / 60.;
|
||||
double startPosX, startPosY, startPosZ;
|
||||
int imuLinkIndex = -1;
|
||||
int bodyIndex = -1;
|
||||
|
||||
if (b3CanSubmitCommand(sm))
|
||||
{
|
||||
{
|
||||
b3SharedMemoryCommandHandle command = b3InitPhysicsParamCommand(sm);
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
ret = b3PhysicsParamSetGravity(command, gravx,gravy, gravz);
|
||||
ret = b3PhysicsParamSetTimeStep(command, timeStep);
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
ASSERT_EQ(b3GetStatusType(statusHandle), CMD_CLIENT_COMMAND_COMPLETED);
|
||||
}
|
||||
{
|
||||
b3SharedMemoryCommandHandle command = b3InitPhysicsParamCommand(sm);
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
ret = b3PhysicsParamSetGravity(command, gravx, gravy, gravz);
|
||||
ret = b3PhysicsParamSetTimeStep(command, timeStep);
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
ASSERT_EQ(b3GetStatusType(statusHandle), CMD_CLIENT_COMMAND_COMPLETED);
|
||||
}
|
||||
|
||||
{
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
int statusType;
|
||||
int bodyIndicesOut[10];//MAX_SDF_BODIES = 10
|
||||
int numJoints, numBodies;
|
||||
{
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
int statusType;
|
||||
int bodyIndicesOut[10]; //MAX_SDF_BODIES = 10
|
||||
int numJoints, numBodies;
|
||||
int bodyUniqueId;
|
||||
b3SharedMemoryCommandHandle command = b3LoadSdfCommandInit(sm, sdfFileName);
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
b3SharedMemoryCommandHandle command = b3LoadSdfCommandInit(sm, sdfFileName);
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
statusType = b3GetStatusType(statusHandle);
|
||||
ASSERT_EQ(statusType, CMD_SDF_LOADING_COMPLETED);
|
||||
|
||||
|
||||
numBodies = b3GetStatusBodyIndices(statusHandle, bodyIndicesOut, 10);
|
||||
ASSERT_EQ(numBodies,1);
|
||||
bodyUniqueId = bodyIndicesOut[0];
|
||||
|
||||
numJoints = b3GetNumJoints(sm,bodyUniqueId);
|
||||
ASSERT_EQ(numJoints,7);
|
||||
ASSERT_EQ(numBodies, 1);
|
||||
bodyUniqueId = bodyIndicesOut[0];
|
||||
{
|
||||
{
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
int statusType;
|
||||
b3SharedMemoryCommandHandle command = b3InitRequestVisualShapeInformation(sm, bodyUniqueId);
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
statusType = b3GetStatusType(statusHandle);
|
||||
if (statusType == CMD_VISUAL_SHAPE_INFO_COMPLETED)
|
||||
{
|
||||
struct b3VisualShapeInformation vi;
|
||||
b3GetVisualShapeInformation(sm, &vi);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
numJoints = b3GetNumJoints(sm, bodyUniqueId);
|
||||
ASSERT_EQ(numJoints, 7);
|
||||
|
||||
#if 0
|
||||
b3Printf("numJoints: %d\n", numJoints);
|
||||
|
|
@ -82,120 +104,116 @@ void testSharedMemory(b3PhysicsClientHandle sm)
|
|||
}
|
||||
}
|
||||
#endif
|
||||
{
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
b3SharedMemoryCommandHandle commandHandle;
|
||||
double jointAngle = 0.f;
|
||||
int jointIndex;
|
||||
commandHandle = b3CreatePoseCommandInit(sm, bodyUniqueId);
|
||||
for (jointIndex=0;jointIndex<numJoints;jointIndex++)
|
||||
{
|
||||
b3CreatePoseCommandSetJointPosition(sm, commandHandle, jointIndex, jointAngle);
|
||||
}
|
||||
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, commandHandle);
|
||||
{
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
b3SharedMemoryCommandHandle commandHandle;
|
||||
double jointAngle = 0.f;
|
||||
int jointIndex;
|
||||
commandHandle = b3CreatePoseCommandInit(sm, bodyUniqueId);
|
||||
for (jointIndex = 0; jointIndex < numJoints; jointIndex++)
|
||||
{
|
||||
b3CreatePoseCommandSetJointPosition(sm, commandHandle, jointIndex, jointAngle);
|
||||
}
|
||||
|
||||
ASSERT_EQ(b3GetStatusType(statusHandle), CMD_CLIENT_COMMAND_COMPLETED);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, commandHandle);
|
||||
|
||||
ASSERT_EQ(b3GetStatusType(statusHandle), CMD_CLIENT_COMMAND_COMPLETED);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
int statusType;
|
||||
b3SharedMemoryCommandHandle command = b3LoadUrdfCommandInit(sm, urdfFileName);
|
||||
|
||||
//setting the initial position, orientation and other arguments are optional
|
||||
startPosX =2;
|
||||
startPosY =0;
|
||||
startPosZ = 1;
|
||||
ret = b3LoadUrdfCommandSetStartPosition(command, startPosX,startPosY,startPosZ);
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
|
||||
//setting the initial position, orientation and other arguments are optional
|
||||
startPosX = 2;
|
||||
startPosY = 0;
|
||||
startPosZ = 1;
|
||||
ret = b3LoadUrdfCommandSetStartPosition(command, startPosX, startPosY, startPosZ);
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
statusType = b3GetStatusType(statusHandle);
|
||||
ASSERT_EQ(statusType, CMD_URDF_LOADING_COMPLETED);
|
||||
bodyIndex = b3GetStatusBodyIndex(statusHandle);
|
||||
}
|
||||
|
||||
if (bodyIndex>=0)
|
||||
}
|
||||
|
||||
if (bodyIndex >= 0)
|
||||
{
|
||||
numJoints = b3GetNumJoints(sm,bodyIndex);
|
||||
for (i=0;i<numJoints;i++)
|
||||
numJoints = b3GetNumJoints(sm, bodyIndex);
|
||||
for (i = 0; i < numJoints; i++)
|
||||
{
|
||||
struct b3JointInfo jointInfo;
|
||||
b3GetJointInfo(sm,bodyIndex, i,&jointInfo);
|
||||
|
||||
// printf("jointInfo[%d].m_jointName=%s\n",i,jointInfo.m_jointName);
|
||||
b3GetJointInfo(sm, bodyIndex, i, &jointInfo);
|
||||
|
||||
// printf("jointInfo[%d].m_jointName=%s\n",i,jointInfo.m_jointName);
|
||||
//pick the IMU link index based on torso name
|
||||
if (strstr(jointInfo.m_linkName,"base_link"))
|
||||
if (strstr(jointInfo.m_linkName, "base_link"))
|
||||
{
|
||||
imuLinkIndex = i;
|
||||
}
|
||||
|
||||
|
||||
//pick the joint index based on joint name
|
||||
if (strstr(jointInfo.m_jointName,"base_to_left_leg"))
|
||||
if (strstr(jointInfo.m_jointName, "base_to_left_leg"))
|
||||
{
|
||||
sensorJointIndexLeft = i;
|
||||
}
|
||||
if (strstr(jointInfo.m_jointName,"base_to_right_leg"))
|
||||
if (strstr(jointInfo.m_jointName, "base_to_right_leg"))
|
||||
{
|
||||
sensorJointIndexRight = i;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ((sensorJointIndexLeft>=0) || (sensorJointIndexRight>=0))
|
||||
|
||||
if ((sensorJointIndexLeft >= 0) || (sensorJointIndexRight >= 0))
|
||||
{
|
||||
b3SharedMemoryCommandHandle command = b3CreateSensorCommandInit(sm, bodyIndex);
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
if (imuLinkIndex>=0)
|
||||
if (imuLinkIndex >= 0)
|
||||
{
|
||||
ret = b3CreateSensorEnableIMUForLink(command, imuLinkIndex, 1);
|
||||
ret = b3CreateSensorEnableIMUForLink(command, imuLinkIndex, 1);
|
||||
}
|
||||
|
||||
if (sensorJointIndexLeft>=0)
|
||||
|
||||
if (sensorJointIndexLeft >= 0)
|
||||
{
|
||||
ret = b3CreateSensorEnable6DofJointForceTorqueSensor(command, sensorJointIndexLeft, 1);
|
||||
ret = b3CreateSensorEnable6DofJointForceTorqueSensor(command, sensorJointIndexLeft, 1);
|
||||
}
|
||||
if(sensorJointIndexRight>=0)
|
||||
if (sensorJointIndexRight >= 0)
|
||||
{
|
||||
ret = b3CreateSensorEnable6DofJointForceTorqueSensor(command, sensorJointIndexRight, 1);
|
||||
}
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
ASSERT_EQ(b3GetStatusType(statusHandle), CMD_CLIENT_COMMAND_COMPLETED);
|
||||
ASSERT_EQ(b3GetStatusType(statusHandle), CMD_CLIENT_COMMAND_COMPLETED);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
b3SharedMemoryCommandHandle command = b3CreateBoxShapeCommandInit(sm);
|
||||
ret = b3CreateBoxCommandSetStartPosition(command, 0,0,-1);
|
||||
ret = b3CreateBoxCommandSetStartOrientation(command,0,0,0,1);
|
||||
ret = b3CreateBoxCommandSetHalfExtents(command, 10,10,1);
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
ASSERT_EQ(b3GetStatusType(statusHandle), CMD_RIGID_BODY_CREATION_COMPLETED);
|
||||
|
||||
}
|
||||
{
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
b3SharedMemoryCommandHandle command = b3CreateBoxShapeCommandInit(sm);
|
||||
ret = b3CreateBoxCommandSetStartPosition(command, 0, 0, -1);
|
||||
ret = b3CreateBoxCommandSetStartOrientation(command, 0, 0, 0, 1);
|
||||
ret = b3CreateBoxCommandSetHalfExtents(command, 10, 10, 1);
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
ASSERT_EQ(b3GetStatusType(statusHandle), CMD_RIGID_BODY_CREATION_COMPLETED);
|
||||
}
|
||||
|
||||
{
|
||||
int statusType;
|
||||
b3SharedMemoryCommandHandle command = b3RequestActualStateCommandInit(sm,bodyIndex);
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
statusType = b3GetStatusType(statusHandle);
|
||||
ASSERT_EQ(statusType, CMD_ACTUAL_STATE_UPDATE_COMPLETED);
|
||||
|
||||
if (statusType == CMD_ACTUAL_STATE_UPDATE_COMPLETED)
|
||||
{
|
||||
b3GetStatusActualState(statusHandle,
|
||||
0, &posVarCount, &dofCount,
|
||||
0, 0, 0, 0);
|
||||
ASSERT_EQ(posVarCount,15);
|
||||
ASSERT_EQ(dofCount,14);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
{
|
||||
int statusType;
|
||||
b3SharedMemoryCommandHandle command = b3RequestActualStateCommandInit(sm, bodyIndex);
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
statusType = b3GetStatusType(statusHandle);
|
||||
ASSERT_EQ(statusType, CMD_ACTUAL_STATE_UPDATE_COMPLETED);
|
||||
|
||||
if (statusType == CMD_ACTUAL_STATE_UPDATE_COMPLETED)
|
||||
{
|
||||
b3GetStatusActualState(statusHandle,
|
||||
0, &posVarCount, &dofCount,
|
||||
0, 0, 0, 0);
|
||||
ASSERT_EQ(posVarCount, 15);
|
||||
ASSERT_EQ(dofCount, 14);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
#if 0
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
b3SharedMemoryCommandHandle command = b3JointControlCommandInit( sm, CONTROL_MODE_VELOCITY);
|
||||
|
|
@ -206,108 +224,126 @@ void testSharedMemory(b3PhysicsClientHandle sm)
|
|||
}
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
#endif
|
||||
}
|
||||
///perform some simulation steps for testing
|
||||
for ( i=0;i<100;i++)
|
||||
{
|
||||
}
|
||||
///perform some simulation steps for testing
|
||||
for (i = 0; i < 1000; i++)
|
||||
{
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
int statusType;
|
||||
|
||||
if (b3CanSubmitCommand(sm))
|
||||
{
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, b3InitStepSimulationCommand(sm));
|
||||
statusType = b3GetStatusType(statusHandle);
|
||||
ASSERT_EQ(statusType, CMD_STEP_FORWARD_SIMULATION_COMPLETED);
|
||||
} else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (b3CanSubmitCommand(sm))
|
||||
{
|
||||
b3SharedMemoryStatusHandle state = b3SubmitClientCommandAndWaitStatus(sm, b3RequestActualStateCommandInit(sm,bodyIndex));
|
||||
|
||||
if (sensorJointIndexLeft>=0)
|
||||
if (b3CanSubmitCommand(sm))
|
||||
{
|
||||
|
||||
struct b3JointSensorState sensorState;
|
||||
b3GetJointState(sm,state,sensorJointIndexLeft,&sensorState);
|
||||
|
||||
b3Printf("Sensor for joint [%d] = %f,%f,%f\n", sensorJointIndexLeft,
|
||||
sensorState.m_jointForceTorque[0],
|
||||
sensorState.m_jointForceTorque[1],
|
||||
sensorState.m_jointForceTorque[2]);
|
||||
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, b3InitStepSimulationCommand(sm));
|
||||
statusType = b3GetStatusType(statusHandle);
|
||||
ASSERT_EQ(statusType, CMD_STEP_FORWARD_SIMULATION_COMPLETED);
|
||||
}
|
||||
|
||||
if (sensorJointIndexRight>=0)
|
||||
else
|
||||
{
|
||||
struct b3JointSensorState sensorState;
|
||||
b3GetJointState(sm,state,sensorJointIndexRight,&sensorState);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
b3SharedMemoryCommandHandle command;
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
int width = 1024;
|
||||
int height = 1024;
|
||||
|
||||
command = b3InitRequestCameraImage(sm);
|
||||
|
||||
b3RequestCameraImageSetPixelResolution(command, width, height);
|
||||
b3RequestCameraImageSelectRenderer(command, ER_BULLET_HARDWARE_OPENGL);
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command);
|
||||
}
|
||||
|
||||
if (b3CanSubmitCommand(sm))
|
||||
{
|
||||
b3SharedMemoryStatusHandle state = b3SubmitClientCommandAndWaitStatus(sm, b3RequestActualStateCommandInit(sm, bodyIndex));
|
||||
|
||||
if (sensorJointIndexLeft >= 0)
|
||||
{
|
||||
struct b3JointSensorState sensorState;
|
||||
b3GetJointState(sm, state, sensorJointIndexLeft, &sensorState);
|
||||
|
||||
b3Printf("Sensor for joint [%d] = %f,%f,%f\n", sensorJointIndexLeft,
|
||||
sensorState.m_jointForceTorque[0],
|
||||
sensorState.m_jointForceTorque[1],
|
||||
sensorState.m_jointForceTorque[2]);
|
||||
}
|
||||
|
||||
if (sensorJointIndexRight >= 0)
|
||||
{
|
||||
struct b3JointSensorState sensorState;
|
||||
b3GetJointState(sm, state, sensorJointIndexRight, &sensorState);
|
||||
|
||||
b3Printf("Sensor for joint [%d] = %f,%f,%f\n", sensorJointIndexRight,
|
||||
sensorState.m_jointForceTorque[0],
|
||||
sensorState.m_jointForceTorque[1],
|
||||
sensorState.m_jointForceTorque[2]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, b3InitResetSimulationCommand(sm));
|
||||
ASSERT_EQ(b3GetStatusType(statusHandle), CMD_RESET_SIMULATION_COMPLETED);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, b3InitResetSimulationCommand(sm));
|
||||
ASSERT_EQ(b3GetStatusType(statusHandle), CMD_RESET_SIMULATION_COMPLETED);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
b3Warning("Cannot submit commands.\n");
|
||||
}
|
||||
|
||||
|
||||
b3DisconnectSharedMemory(sm);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ifdef ENABLE_GTEST
|
||||
|
||||
|
||||
TEST(BulletPhysicsClientServerTest, DirectConnection) {
|
||||
b3PhysicsClientHandle sm = b3ConnectPhysicsDirect();
|
||||
testSharedMemory(sm);
|
||||
TEST(BulletPhysicsClientServerTest, DirectConnection)
|
||||
{
|
||||
b3PhysicsClientHandle sm = b3ConnectPhysicsDirect();
|
||||
testSharedMemory(sm);
|
||||
}
|
||||
|
||||
TEST(BulletPhysicsClientServerTest, LoopBackSharedMemory) {
|
||||
b3PhysicsClientHandle sm = b3ConnectPhysicsLoopback(SHARED_MEMORY_KEY);
|
||||
testSharedMemory(sm);
|
||||
TEST(BulletPhysicsClientServerTest, LoopBackSharedMemory)
|
||||
{
|
||||
b3PhysicsClientHandle sm = b3ConnectPhysicsLoopback(SHARED_MEMORY_KEY);
|
||||
testSharedMemory(sm);
|
||||
}
|
||||
|
||||
|
||||
#else
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
#ifdef PHYSICS_LOOP_BACK
|
||||
b3PhysicsClientHandle sm = b3ConnectPhysicsLoopback(SHARED_MEMORY_KEY);
|
||||
b3PhysicsClientHandle sm = b3ConnectPhysicsLoopback(SHARED_MEMORY_KEY);
|
||||
#endif
|
||||
|
||||
#ifdef PHYSICS_SERVER_DIRECT
|
||||
b3PhysicsClientHandle sm = b3ConnectPhysicsDirect();
|
||||
b3PhysicsClientHandle sm = b3ConnectPhysicsDirect();
|
||||
#endif
|
||||
|
||||
#ifdef PHYSICS_IN_PROCESS_EXAMPLE_BROWSER
|
||||
|
||||
#ifdef __APPLE__
|
||||
b3PhysicsClientHandle sm = b3CreateInProcessPhysicsServerAndConnectMainThread(argc,argv);
|
||||
b3PhysicsClientHandle sm = b3CreateInProcessPhysicsServerAndConnectMainThread(argc, argv);
|
||||
#else
|
||||
b3PhysicsClientHandle sm = b3CreateInProcessPhysicsServerAndConnect(argc,argv);
|
||||
#endif //__APPLE__
|
||||
b3PhysicsClientHandle sm = b3CreateInProcessPhysicsServerAndConnect(argc, argv);
|
||||
#endif //__APPLE__
|
||||
#endif
|
||||
|
||||
#ifdef PHYSICS_SHARED_MEMORY
|
||||
b3PhysicsClientHandle sm = b3ConnectSharedMemory(SHARED_MEMORY_KEY);
|
||||
#endif //PHYSICS_SHARED_MEMORY
|
||||
b3PhysicsClientHandle sm = b3ConnectSharedMemory(SHARED_MEMORY_KEY);
|
||||
#endif //PHYSICS_SHARED_MEMORY
|
||||
|
||||
#ifdef PHYSICS_UDP
|
||||
b3PhysicsClientHandle sm = b3ConnectPhysicsUDP("localhost", 1234);
|
||||
#endif //PHYSICS_UDP
|
||||
|
||||
#ifdef PHYSICS_TCP
|
||||
b3PhysicsClientHandle sm = b3ConnectPhysicsTCP("localhost", 6667);
|
||||
#endif //PHYSICS_UDP
|
||||
|
||||
testSharedMemory(sm);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue