Commit Graph

6884 Commits

Author SHA1 Message Date
erwincoumans
12409f1118
Merge pull request #1860 from erwincoumans/master
allow pybullet to connect to GRPC server. (need to use flag --enable_…
2018-09-05 21:20:21 -07:00
Erwin Coumans
b7d143429b Merge remote-tracking branch 'bp/master' 2018-09-05 18:54:45 -07:00
erwincoumans
0efc67841d allow pybullet to connect to GRPC server. (need to use flag --enable_grpc in premake build system)
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])
2018-09-05 17:58:14 -07:00
erwincoumans
437c0426c9
Merge pull request #1859 from erwincoumans/master
only add notifications if there is a plugin that needs them
2018-09-04 20:59:29 -07:00
Erwin Coumans
31b06f508a only add notifications if there is a plugin that needs them
call the 'reportNotifications' in GRPC server main
2018-09-04 19:24:31 -07:00
erwincoumans
c084763795
Merge pull request #1858 from erwincoumans/master
make GRPC work on Linux,
2018-09-04 17:49:49 -07:00
erwincoumans
2006f134b6
Merge pull request #1857 from erwincoumans/master
make grpc work on Mac OSX with premake
2018-09-04 17:03:27 -07:00
Erwin Coumans
18b782847d make GRPC work on Linux, 2018-09-04 16:56:34 -07:00
Erwin Coumans
51f9a6fd0d make grpc work on Mac OSX with premake 2018-09-04 14:49:12 -07:00
erwincoumans
710e660763
Merge pull request #1855 from erwincoumans/master
more work on grpc/proto/pybullet.proto
2018-09-04 12:11:03 -07:00
erwincoumans
c4842220a8
Merge pull request #1852 from RanTig/remove-visual-shape
Removes visual shape data when a body gets removed.
2018-09-04 09:42:48 -07:00
erwincoumans
5b5e4f4d74
Merge pull request #1854 from RanTig/pybullet-plugincommand-fix
Small fix in executePluginCommand
2018-09-04 09:42:32 -07:00
erwincoumans
9b66074949 add some missing GRPC files 2018-09-04 09:10:57 -07:00
erwincoumans
9e2f6c7935 more GRPC work 2018-09-03 23:13:15 -07:00
Tigran Gasparian
a670041793 Small fix in executePluginCommand, now you can pass int arguments while keeping floats null without errors. 2018-09-03 10:41:38 +02:00
Tigran Gasparian
93145f3979 Adding space to make compiler happy. 2018-09-03 10:37:22 +02:00
erwincoumans
23e84ca9b6 more work on proto/pybullet.proto 2018-09-01 13:49:56 -07:00
erwincoumans
3285143232
Merge pull request #1851 from RanTig/use-dlmopen
Uses dlmopen() instead of dlopen() in b3PluginManager.cpp. This allow…
2018-08-31 14:13:13 -07:00
erwincoumans
a9299fbd0c
Merge pull request #1853 from erwincoumans/master
fix crash in btInternalEdgeUtility when a mesh is not the expected type
2018-08-31 14:12:43 -07:00
Erwin Coumans
9a26d4aaaf fix type 2018-08-31 09:59:18 -07:00
Erwin Coumans
f1cb4fe29c fix crash in btInternalEdgeUtility when a mesh is not the expected type
(don't wrap a mesh in a btCompoundShape if you want to use the edge utility)
2018-08-31 09:25:49 -07:00
Tigran Gasparian
9799f356de . 2018-08-31 15:35:35 +02:00
Tigran Gasparian
f132b4d16b Only make the change for Linux, since OSX doesn't have dlmopen() 2018-08-31 15:33:08 +02:00
Tigran Gasparian
c062bfc2d5 Removes visual shape data when a body gets removed.
Problem description:
When you add a body, remove it and then add a new
body, the body id may be reused by Bullet.
Because the visual shape data was not being removed when a body was
removed, requesting the visual shape data for a 'recycled' body id
results in both the visual shape data of the new body as well as the old
one.
Removing the visual shape data when the body gets removed fixes this.

Changes the btAlignedObjectArray for visual shapes to a hashmap, so
that removing is faster. Additionally, functions like getNumVisualShape
don't perform a linear search anymore.
2018-08-31 15:12:28 +02:00
Tigran Gasparian
6036c027bf Uses dlmopen() instead of dlopen() in b3PluginManager.cpp. This allows plugins to be loaded in a separate namespace, avoiding symbol conflicts. 2018-08-31 10:53:46 +02:00
erwincoumans
4bf846822f
Merge pull request #1850 from erwincoumans/master
Add preliminary GRPC server for PyBullet and BulletRobotics.
2018-08-30 19:40:13 -07:00
erwincoumans
f10068b7c9 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-08-30 18:36:06 -07:00
erwincoumans
ee9fca8c29 GJK fix for https://github.com/bulletphysics/bullet3/issues/1703
In a nutshell, we added a more reliable check, based on if the origin is in the GJK simplex, to determine if we are really intersecting and need to run EPA.
See also "Real-time Collision Detection with Implicit Objects" by Leif Olvang
Todo: integrate the simplex penetration check directly inside the Bullet btVoronoiSimplexSolver
and remove this temporary code from libCCD
Note, for large differences in shapes, use double precision build!
2018-08-30 18:35:51 -07:00
Erwin Coumans
40a15053bd add createProtobufs.sh script for Mac/Linux (only tested on Mac so far) 2018-08-30 10:09:00 -07:00
Max Argus
425ecbd3e6 fix cmake, linux only (patch egl) 2018-08-30 13:24:25 +02:00
Max Argus
964a5116eb fix cmake + apple (patch egl) 2018-08-30 13:24:25 +02:00
Max Argus
902818894c fix cmake (patch egl) 2018-08-30 13:24:25 +02:00
Max Argus
c1d6c6b07d clean test scripts 2018-08-30 13:24:25 +02:00
Max Argus
425ab144bb fix setup.py 2018-08-30 13:24:25 +02:00
Max Argus
bdc0f82a8b added syncronized render test script 2018-08-30 13:24:25 +02:00
Max Argus
4d6c610682 enable egl by default for pybullet SimpleOpenGL3App 2018-08-30 13:24:25 +02:00
Max Argus
e15fb0866c rendertest + parallel pip + no debug for plugin 2018-08-30 13:24:25 +02:00
Max Argus
35b30359e3 nearly working 2018-08-30 13:24:25 +02:00
Max Argus
5f71aa859f wip 2018-08-30 13:24:25 +02:00
Max Argus
21462d1c02 update GLIR camera 2018-08-30 13:24:25 +02:00
Max Argus
a6a8b091ca wip 2018-08-30 13:24:25 +02:00
Max Argus
05f82e8867 egl plugin working 2018-08-30 13:24:25 +02:00
Max Argus
f80f0c76a4 added egl plugin commit 2018-08-30 13:24:25 +02:00
Max Argus
2707b7acb4 apple issue 2018-08-30 13:24:25 +02:00
Max Argus
1b95961617 fix build 2018-08-30 13:24:25 +02:00
Max Argus
9328d0bb5f fix build 2018-08-30 13:24:25 +02:00
Max Argus
a9ba3eb8cc fixed cmake 2018-08-30 13:24:25 +02:00
Max Argus
f0e7f266ef switched to new glad2 2018-08-30 13:24:25 +02:00
Max Argus
5dbf2373ad load gl with egl not glx 2018-08-30 13:24:25 +02:00
Max Argus
6e828688e7 activate EGL + add rendertest.py 2018-08-30 13:24:25 +02:00