Commit Graph
100 Commits
Author SHA1 Message Date
Erwin Coumans b130be46f7 add InProcessExampleBrowser to make it easy to instantiate the ExampleBrowser in its own thread
example usage:

int main(int argc, char* argv[])
{

btInProcessExampleBrowserInternalData* data = btCreateInProcessExampleBrowser(argc,argv);

while (!(btIsExampleBrowserTerminated(data)))
{
}

btShutDownExampleBrowser(data);

        return 0;
}
2016-03-02 18:01:33 -08:00
Erwin Coumans d70132a901 only enable Wavefront obj support for URDF when ENABLE_URDF_OBJ is defined.
add destructor for SampleJob1
2016-03-01 09:15:55 -08:00
Erwin Coumans f90ba2eff9 fix issue, CrossSplitter.cpp cannot be disabled using #ifdef _WIN32 2016-03-01 09:10:16 -08:00
Erwin Coumans 4a70df2dfb fix some warnings 2016-02-29 15:37:03 -08:00
Erwin Coumans 25409f93c7 re-quantize for before using the data in quantize method
this fixes issue 558
2016-02-23 08:46:09 -08:00
erwin coumans 6c9bfce975 Support btMultiBody soft contact using ERP and CFM. Also support custom relaxation parameter to allow successive over relaxation.
Added demos for rigid and multi body soft (compliant) contact.
Will also add simplified Hertz compliant contact, by dynamically modifying the ERP/CFM to mimic a non-linear spring.
Note that btManifoldPoint is growing too big, we need to implement proper contact constraints derived from btTypedConstraint.
2016-02-22 18:40:00 -08:00
Erwin Coumans a3154f7a56 use b3ConnectSharedMemory in PhysicsClient example, instead of b3ConnectPhysicsLoopback 2016-01-27 13:36:33 -08:00
Erwin Coumans dabccd184d fixes in test/SharedMemory 2015-12-15 13:45:34 -08:00
Erwin Coumans 52f074bcb2 Merge remote-tracking branch 'bp/master'
Conflicts:
	examples/ExampleBrowser/CMakeLists.txt
	examples/OpenGLWindow/CMakeLists.txt
2015-12-07 16:42:45 -08:00
Erwin Coumans 13f314f401 allow CMake to build on Linux without X11/OpenGL system headers (use local one) 2015-12-07 16:38:43 -08:00
Erwin Coumans 433a7aa9b6 fix C++11 issue 2015-12-07 11:44:43 -08:00
Erwin Coumans acbf60ddfd typo fixes in InverseDynamicsExample 2015-12-05 09:02:02 -08:00
Erwin Coumans b22e968cdd re-enable inverse dynamics/computed torque, instead of PD control in InverseDynamicsExample 2015-12-02 23:16:41 -08:00
Erwin Coumans 332017ff23 remove dependency on gflags, C++11 from test_invdyn_bullet.cpp
add support for premake for test_invdyn_bullet
2015-12-02 17:49:25 -08:00
Erwin Coumans 3dfebe0c45 show inverse dynamics demo to use floating base 2015-12-02 09:33:12 -08:00
Erwin Coumans 4205e976f6 another fix for dynamic libs of BulletInverseDynamicsUtils 2015-11-24 12:20:59 -08:00
Erwin Coumans 03cc4f0554 add InverseDynamics example for example browser
add CMake support for BulletInverseDynamics and BulletInverseDynamicsUtils
2015-11-24 11:12:02 -08:00
Erwin Coumans b4701613c8 consistent *API.* in examples/SharedMemory 2015-11-23 08:00:42 -08:00
Erwin Coumans 069936218a [InverseDynamics] Add custom namespaces per configuration
BulletInverseDynamics can be configured to compile using Eigen
instead of Bullet's LinearMath.

Adds a preprocessor defined specific namespace for each
configuration to produce linker errors if incompatible
libraries are linked (eg, builtin core library and
utilities for bullet types).
2015-11-18 08:01:32 -08:00
Erwin Coumans aa4d119f98 add real-time safe Inverse Dynamics library+test+utils
an example for the example browser will follow.
thanks to Thomas Buschmann
2015-11-17 08:27:38 -08:00
Erwin Coumans 7d9365319c add InverseDynamics test/lib to premake 2015-11-17 08:26:27 -08:00
Erwin Coumans 7d6c2b77f7 Merge remote-tracking branch 'bp/master' 2015-11-11 12:44:36 -08:00
Erwin Coumans f6a8079353 sync repo 2015-11-11 12:44:26 -08:00
Erwin Coumans 7ef06d532e remove debug test 2015-11-05 17:35:05 -08:00
Erwin Coumans 2317307a22 Add b3GetStatusActualState() to C_API.
Change pick-and-move C_API to use handlers
2015-11-04 16:08:28 -08:00
Erwin Coumans 6e042b1901 re-enable wireframe in PhysicsClient
inintialize variables in constructor of PhysicsClient
2015-10-30 13:24:02 -07:00
erwin coumans c68c215ead add rudimentary command logging for shared memory physics server 2015-10-30 10:30:48 -07:00
erwin coumans 819c4f1951 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2015-10-29 11:26:01 -07:00
erwin coumans f7bbbd88e6 preparation for CommandLogging for PhysicsServer. 2015-10-29 11:25:50 -07:00
erwin coumans 9442791cf1 Fix PhysicsServer connection issue, in cases where shared memory was not properly shut down. 2015-10-29 11:18:26 -07:00
Erwin Coumans 8a956318e5 fix case sensitive issue 2015-10-28 16:02:55 -07:00
Erwin Coumans 6a6c0297fe Merge branch 'master' of https://github.com/erwincoumans/bullet3 2015-10-28 13:44:30 -07:00
erwin coumans dc81e31e74 upload work-in-progress Collision example using C-API. 2015-10-28 11:48:36 -07:00
erwin coumans 2d5d89d999 Allow to request the state of a rigid body (position, orientation, lin/ang velocity) through shared memory API
PhysicsClientC_API: b3RequestActualStateCommandInit requires a body unique Id as second argument
2015-10-27 15:46:13 -07:00
erwin coumans 9cc2b1ec12 Physics SharedMemory:
Add flags BOX_SHAPE_HAS_MASS and  BOX_SHAPE_HAS_COLLISION_SHAPE_TYPE to CMD_CREATE_RIGID_BODY
(which maps to CMD_CREATE_BOX_COLLISION_SHAPE for backward compatibility for now)
Need to add way to receive world transform
2015-10-27 14:55:46 -07:00
Erwin Coumans ec1947bbbd add SIM_PARAM_UPDATE_DELTA_TIME flag to fix setting the time step
in shared memory API
2015-10-24 13:50:11 -07:00
Erwin Coumans 818037c011 Fix issue related to CMD_RESET_SIMULATION 2015-10-24 13:49:25 -07:00
Erwin Coumans f28150c368 catch setting of invalid joint angles in PhysicsClientC_Api
use the proper m_bodyUniqueIndex (todo: fix this field, move to shared command data)
2015-10-24 13:48:53 -07:00
Erwin Coumans 25fb92c4c9 fix for Mac OSX El Captain 10.11, OpenGL Window was blue, until first resize.
fixes Issue 498
2015-10-21 21:30:44 -07:00
erwin coumans 3d9218e07d Add plane shape and profile timing support in examples/Collide
Use View/Profiler in example browser, in optimized build/Release mode
and look for plCollideWorld
2015-10-20 18:30:43 -07:00
Erwin Coumans abcaa19bc8 make the compiler happy with Collision example 2015-10-19 18:21:45 -07:00
Erwin Coumans abb7e22027 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2015-10-17 22:03:36 -07:00
Erwin Coumans 21b7a47129 although still not implemented, IMU enum had wrong value, thanks JF 2015-10-17 20:12:50 -07:00
Erwin Coumans e5175cde9a although still not implemented, IMU enum had wrong value, thanks JF 2015-10-17 18:52:48 -07:00
erwin coumans 2909b5fae3 add picking to shared memory physics server 2015-09-04 11:28:08 -07:00
erwin coumans 40d07139a9 fix build 2015-09-04 10:28:32 -07:00
erwin coumans f75df90d82 Allow batches of debug lines. The PhysicsClientExample rendering is still slow (one line at a time, instead of batches)
Prepare for IMU sensor in Shared Memory Server
2015-09-03 14:18:22 -07:00
Erwin Coumans (Google) 98c93a7330 fix inline, __inline for _WIN32 2015-08-27 18:13:54 -07:00
Erwin Coumans (Google) 3d130d9d66 reset simulation in test/SharedMemory/test for proper cleanup,
and it can restart without shutting down/restarting physics server
w
2015-08-27 17:51:31 -07:00
Erwin Coumans 2e7949bb3e fix some warnings 2015-08-26 15:26:53 -07:00
Erwin Coumans 77f78358d2 Merge remote-tracking branch 'bp/master' 2015-08-26 14:24:35 -07:00
erwin coumans faab737738 add a robot joint sensor example, reading joint reaction forces/torques using the shared memory API 2015-08-24 15:26:29 -07:00
erwin coumans 46f161ec02 fix WIN32 build for b3Win32ThreadSupport 2015-08-24 10:12:13 -07:00
Erwin Coumans 74fda9ff85 simple multi threading test 2015-08-21 15:18:18 -07:00
Erwin Coumans 362887987c add example/MultiThreading functions 2015-08-21 11:09:53 -07:00
erwin coumans 6d8ad72d68 add Tutorial.cpp files
load textured sphere8.obj by default as a test
tiny_obj_loader don't crash when mtl is not found
fix camera perspectives for some examples
2015-08-05 19:22:48 -07:00
erwin coumans a5669d2ffd add a textured sphere8.obj test with obj loader
fix shaders, so that shadowed and non-shadowed are matching
fix registerGraphicsUnitSphereShape API (level of detail), support textured sphere too
add support for textured cube
add start for a Tutorial.cpp
2015-08-05 19:03:27 -07:00
Erwin Coumans 26531f3fbc fix some warnings, disable gimpact by default in world importer,
use DIRECTLY_UPDATE_VELOCITY_DURING_SOLVER_ITERATIONS by default for now,
until we find the issue with some failing test cases in btMultiBody
fix a crashing issue in MyMultiBodyCreator.cpp (uninitialized variable)
disable excessive debug printf in URDF2Bullet
2015-07-27 13:28:47 -07:00
Erwin Coumans 812c67e221 fix various warnings, more work on shared memory API 2015-07-22 18:06:05 -07:00
Erwin Coumans 2de1f29995 add xacro_standalone.py tool, to convert a urdf.xacro to urdf
It has no dependencies, except for a python installation
2015-07-21 12:42:46 -07:00
Erwin Coumans 7f4beba7ee add forceFixedBase option for URDF import example 2015-07-07 15:39:36 -07:00
Erwin Coumans (Google) 8517e85b21 fix various warning
add b3ResourcePath utility, to locate resources relative to executable
2015-07-03 18:17:14 -07:00
Erwin Coumans 45d4816c44 fix case-sensitivity issue 2015-07-01 08:58:14 -07:00
Erwin Coumans bc8b95dd9d remove some warnings 2015-06-26 12:59:48 -07:00
erwin coumans 3b4ad1cd5a add the option to shift the applied force/torque for a multibody joint (mobilizer) to the joint frame origin 2015-06-25 15:09:35 -07:00
erwin coumans b14afba350 more work-in-progress on joint-torque sensor sample and server/client shared memory API 2015-06-22 15:30:57 -07:00
erwin coumans 6e9eb13235 implement joint reaction forces for mobilizer motor/limit, by passing the constraint forces as 'external forces' and going through the Articulated Body Algorithm
minor refactor for forwardKinematics, store the cached world transform in each btMultiBody::link
2015-06-19 15:51:24 -07:00
Erwin Coumans 02fbcd2a05 reorder initializer 2015-06-11 11:48:43 -07:00
Erwin Coumans 92a612a146 fix in btSoftBodyInternals.h to avoid infinite recursion 'getMargin'
but call base class instead
2015-06-05 16:43:17 -07:00
Erwin Coumans 1a4ce475f7 fix an issue with btMultiBodyConstraint, automatically 'finalizeMultiDof' to pre-allocate jacobian data
enable joint limit for slider/prismatic joint in btMultiBody version of URDF loader
2015-06-05 11:46:53 -07:00
Erwin Coumans 85acb2a009 fix an OpenGL performance issue running on some Linux machines
(apparently searching for a framebuffer with more samples makes NVIDIA Quadro slow)
2015-06-03 17:18:56 -07:00
Erwin Coumans (Google) 190382e9ec enable posix shared memory on non-Win32 platforms (Linux and Mac) for example browser 2015-05-30 20:32:29 -07:00
erwin coumans 5b34cda617 add simple 3d debug text for OpenGL2 in example browser 2015-05-06 16:11:03 -07:00
erwin coumans 5a0b744e73 fixed premake4 issue causing the build to fail on non-Mac platforms 2015-05-06 12:05:25 -07:00
erwin coumans f9b8120e5d set upaxis for all demos (either Y/1 or Z/2) 2015-04-29 14:02:50 -07:00
erwin coumans 40375983d6 rename ExampleInterface -> CommonExampleInterface to be a little bit more consistent in 'CommonInterfaces' naming 2015-04-29 13:33:26 -07:00
erwin coumans 4ed666a72a fix double-precision compile problem
fix profile window (See View/Profiler in ExampleBrowser)
2015-04-29 13:21:26 -07:00
erwin coumans 03e53627d6 fix an issue in MPR collision detection (which is not used by default), only for testing in the VoronoiFracture demo 2015-04-29 12:09:12 -07:00
erwin coumans a165ff54c9 fix maxLinMotorForce/maxAngMotorForce in btSliderConstraint
Thanks to Stephen Peters, see also https://github.com/bulletphysics/bullet3/pull/328
2015-04-29 11:05:00 -07:00
erwin coumans d1ff63dd49 add missing files to CMakeLists.txt 2015-04-29 10:54:40 -07:00
Erwin Coumans (Google) 84f2d5b9a0 Merge remote-tracking branch 'bp/master' 2015-04-28 20:57:41 -07:00
Erwin Coumans (Google) dd6ec0bcfd fix Linux build 2015-04-28 20:56:18 -07:00
erwin coumans f4b0cc85cd add Vehicles/Hinge2Vehicle demo, based on the ForkLift demo, using btHinge2Constraint with rigid body wheels
change btHinge2Constraint to derive from new btGeneric6DofSpring2Constraint
2015-04-28 18:12:49 -07:00
erwin coumans 27227e5e4a add SoftDemo examples
add example description for all examples (with word-wrap)
add the VoronoiFractureDemo, note that the collision are disabled after breaking constraints.
add optional GwenOpenGLTest, to make it easier to see Gwen user interface features.
2015-04-27 18:35:07 -07:00
erwin coumans 619833ee00 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2015-04-23 15:41:40 -07:00
erwin coumans 05bf86d95f added LICENSE.txt and AUTHORS.txt file
add MultiBody Custom Creation example, to show how to import data from a URDF file and fill up your own data structures.
add btMultiBody::setBaseWorldTransform method
todo: fix cmake build, this patch is premake only
2015-04-23 15:41:17 -07:00
erwin coumans 51938d642e prepare for 'custom' multi body creation. 2015-04-22 18:09:00 -07:00
erwin coumans b64f5feba4 refactor of URDF importer (work-in-progress) 2015-04-22 16:35:27 -07:00
erwin coumans f2aef6b73e add additional demos/examples for MultiBody and Constraints 2015-04-22 13:02:27 -07:00
erwin coumans 13396d32bf add basic legacy OpenGL2 rendering 2015-04-20 15:28:52 -07:00
erwin coumans 482deb1fca Merge remote-tracking branch 'bp/master' 2015-04-20 10:12:29 -07:00
erwin coumans 50262d2c97 Merge remote-tracking branch 'bp/master' 2015-04-17 09:16:28 -07:00
Erwin Coumans (Google) 438cb00abd fix Linux build (cmake, case-sensitive folder name) 2015-04-16 22:29:10 -07:00
Erwin Coumans (Google) 9e2eff9a1e fix Linux modifier keys 2015-04-16 17:57:38 -07:00
Erwin Coumans (Google) bf39570ff3 fixes for Linux 2015-04-16 16:58:42 -07:00
erwin coumans f30c736fc7 Merge remote-tracking branch 'bp/master' 2015-03-30 12:09:44 -07:00
erwin coumans a883cead46 maintain backward compatibility using BT_ENABLE_GYROPSCOPIC_FORCE = BT_ENABLE_GYROSCOPIC_FORCE_IMPLICIT_BODY 2015-03-30 11:58:57 -07:00
erwin coumans cba140431e prepare to add ForkLiftDemo in App_AllBullet2Demos
rename Ewert/Catto to World/Body for implicit coriolis forces
2015-03-27 11:59:22 -07:00
erwin coumans 1e13454511 Added experimental implicit gyroscopic force implementation, one by Michael Ewert, and another by Cooper (from OpenDE)
Will also add Erin Catto's local implicit version from the GDC 2015 tutorial
Added demo for btGeneric6DofSpring2Constraint, thanks to Gabor Puhr
Add gfxBridge.autogenerateGraphicsObjects method for Bullet 2 demos in new framework (need to implement all Bullet 2 collision shape types...)
Use 1,1,1 for local scaling in btStaticPlaneShape
2015-03-24 15:55:05 -07:00
erwin coumans ebd63d92c9 ImportURDFSetup: add Wavefront/obj support
ImportURDFSetup: initialize mass/inertia to 1 by default (instead of 0)
2015-03-09 14:23:17 -07:00