mirror of
https://github.com/bulletphysics/bullet3
synced 2024-12-13 21:30:09 +00:00
0efc67841d
add grpcPlugin, it can work in GUI, SHARED_MEMORY_SERVER, DIRECT and other modes. example script to start server from pybullet: import pybullet as p p.connect(p.GUI) #if statically linked plugin id = p.loadPlugin("grpcPlugin") #dynamics loading the plugin #id = p.loadPlugin("E:/develop/bullet3/bin/pybullet_grpcPlugin_vs2010_x64_debug.dll", postFix="_grpcPlugin") #start the GRPC server at hostname, port if (id>=0): p.executePluginCommand(id, "localhost:1234") Only in DIRECT mode, since there is no 'ping' you need to call to handle RCPs: numRPC = 10 while (1): p.executePluginCommand(id, intArgs=[numRPC])
191 lines
7.1 KiB
Lua
191 lines
7.1 KiB
Lua
|
|
|
|
project ("pybullet")
|
|
language "C++"
|
|
kind "SharedLib"
|
|
|
|
if _OPTIONS["enable_grpc"] then
|
|
initGRPC()
|
|
|
|
files {
|
|
"../../examples/SharedMemory/PhysicsClientGRPC.cpp",
|
|
"../../examples/SharedMemory/PhysicsClientGRPC.h",
|
|
"../../examples/SharedMemory/PhysicsClientGRPC_C_API.cpp",
|
|
"../../examples/SharedMemory/PhysicsClientGRPC_C_API.h",
|
|
}
|
|
end
|
|
|
|
includedirs {"../../src", "../../examples",
|
|
"../../examples/ThirdPartyLibs"}
|
|
defines {"PHYSICS_IN_PROCESS_EXAMPLE_BROWSER"}
|
|
hasCL = findOpenCL("clew")
|
|
|
|
links{"BulletExampleBrowserLib","gwen", "BulletFileLoader","BulletWorldImporter","OpenGL_Window","BulletSoftBody", "BulletInverseDynamicsUtils", "BulletInverseDynamics", "BulletDynamics","BulletCollision","LinearMath","BussIK", "Bullet3Common"}
|
|
initOpenGL()
|
|
initGlew()
|
|
|
|
includedirs {
|
|
".",
|
|
"../../src",
|
|
"../ThirdPartyLibs",
|
|
}
|
|
|
|
if os.is("MacOSX") then
|
|
-- targetextension {"so"}
|
|
links{"Cocoa.framework","Python"}
|
|
end
|
|
|
|
if (hasCL) then
|
|
links {
|
|
"Bullet3OpenCL_clew",
|
|
"Bullet3Dynamics",
|
|
"Bullet3Collision",
|
|
"Bullet3Geometry",
|
|
"Bullet3Common",
|
|
}
|
|
end
|
|
|
|
if not _OPTIONS["no-enet"] then
|
|
|
|
includedirs {"../../examples/ThirdPartyLibs/enet/include"}
|
|
|
|
if os.is("Windows") then
|
|
-- targetextension {"dylib"}
|
|
defines { "WIN32" }
|
|
links {"Ws2_32","Winmm"}
|
|
end
|
|
if os.is("Linux") then
|
|
end
|
|
if os.is("MacOSX") then
|
|
end
|
|
|
|
links {"enet"}
|
|
|
|
files {
|
|
"../../examples/SharedMemory/PhysicsClientUDP.cpp",
|
|
"../../examples/SharedMemory/PhysicsClientUDP.h",
|
|
"../../examples/SharedMemory/PhysicsClientUDP_C_API.cpp",
|
|
"../../examples/SharedMemory/PhysicsClientUDP_C_API.h",
|
|
}
|
|
defines {"BT_ENABLE_ENET"}
|
|
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 {
|
|
"pybullet.c",
|
|
"../../examples/SharedMemory/IKTrajectoryHelper.cpp",
|
|
"../../examples/SharedMemory/IKTrajectoryHelper.h",
|
|
"../../examples/ExampleBrowser/InProcessExampleBrowser.cpp",
|
|
"../../examples/SharedMemory/plugins/tinyRendererPlugin/tinyRendererPlugin.cpp",
|
|
"../../examples/SharedMemory/plugins/tinyRendererPlugin/tinyRendererPlugin.h",
|
|
"../../examples/SharedMemory/plugins/tinyRendererPlugin/TinyRendererVisualShapeConverter.cpp",
|
|
"../../examples/SharedMemory/plugins/tinyRendererPlugin/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/b3RobotSimulatorClientAPI_NoDirect.cpp",
|
|
"../../examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.h",
|
|
"../../examples/SharedMemory/PhysicsClient.cpp",
|
|
"../../examples/SharedMemory/PhysicsClient.h",
|
|
"../../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",
|
|
"../../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/b3PluginManager.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/SharedMemory/SharedMemoryCommands.h",
|
|
"../../examples/SharedMemory/SharedMemoryPublic.h",
|
|
"../../examples/Utils/b3ResourcePath.cpp",
|
|
"../../examples/Utils/b3ResourcePath.h",
|
|
"../../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/ThirdPartyLibs/stb_image/stb_image.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",
|
|
"../../examples/SharedMemory/plugins/collisionFilterPlugin/collisionFilterPlugin.cpp",
|
|
"../../examples/SharedMemory/plugins/pdControlPlugin/pdControlPlugin.cpp",
|
|
"../../examples/SharedMemory/plugins/pdControlPlugin/pdControlPlugin.h",
|
|
}
|
|
|
|
if (_OPTIONS["enable_static_vr_plugin"]) then
|
|
files {"../../examples/SharedMemory/plugins/vrSyncPlugin/vrSyncPlugin.cpp"}
|
|
end
|
|
|
|
|
|
includedirs {
|
|
_OPTIONS["python_include_dir"],
|
|
}
|
|
libdirs {
|
|
_OPTIONS["python_lib_dir"]
|
|
}
|
|
|
|
if os.is("Linux") then
|
|
initX11()
|
|
end
|
|
|
|
|