Commit graph

131 commits

Author SHA1 Message Date
Andrew Meadows
434af8bdfb remove support for sub-contactAddecCallbacks from PhysicsEngine 2019-08-20 17:33:29 -07:00
Andrew Meadows
32400a6baf improved isStuck detection and MyAvatar::safeLanding() trigger 2019-08-20 17:33:29 -07:00
Andrew Meadows
9382fb8745 more versatile contactAddedCallback support 2019-08-20 17:33:29 -07:00
Andrew Meadows
3eed8218ca overhaul of MotionState and shape creations 2019-05-06 17:37:35 -07:00
Andrew Meadows
fb5ef95a5b disable bf triangle collisions for flying MyAvatar 2019-01-29 11:00:18 -08:00
sabrina-shanman
87b5605d69 Add normalOnPick to CollisionPickResult 2018-09-12 10:36:00 -07:00
sabrina-shanman
397b03d5d5 Add threshold parameter to collision pick with minimum of 0 2018-08-27 14:12:24 -07:00
Andrew Meadows
10d0833c19 use DynamicsWorld::numCollisionObjects instead of our own count 2018-08-23 15:57:54 -07:00
Andrew Meadows
777b90bdc0 add 'physics body count' to debug stats 2018-08-23 12:59:28 -07:00
Andrew Meadows
87223946ad add/remove avatars according to workload region 2018-08-23 12:59:28 -07:00
sabrina-shanman
74f482b361 Revert "Convert entityIntersections/avatarIntersections lists in"
This reverts commit aa4a6b2eae.
2018-08-20 10:15:28 -07:00
sabrina-shanman
2933038d04 Rename PhysicsEngine::getCollidingInRegion to contactTest and change it to accept collision flags instead of a MotionState enum 2018-08-17 14:22:42 -07:00
sabrina-shanman
aa4a6b2eae Convert entityIntersections/avatarIntersections lists in
CollisionPickResult to shared pointers
2018-08-16 08:59:29 -07:00
sabrina-shanman
61d12923ea Do not copy list of collision pick contact points when filtering them 2018-08-15 11:12:50 -07:00
sabrina-shanman
2576d502ab Remove unused getter for btCollisionWorld in PhysicsEngine 2018-08-13 17:27:57 -07:00
sabrina-shanman
de7d974336 Re-name EntityIntersection to ContactTestResult and remove its default constructor, plus update related variables 2018-07-30 16:45:31 -07:00
sabrina-shanman
8f993e4740 Change meaning/naming of collision points in CollisionPick API to better match spec and be more clear 2018-07-25 11:45:13 -07:00
sabrina-shanman
5ec277e458 Move bullet references in collision pick API to PhysicsEngine 2018-07-24 15:47:49 -07:00
sabrina-shanman
f33ee55f9e Create CollisionPick API 2018-07-19 10:33:21 -07:00
Andrew Meadows
1612d90cd3 minor DynamicsWorld optimizations and track global steps count therein 2018-05-25 08:31:09 -07:00
Anthony J. Thibault
4fa9af5534 Added items to the developer menu for debugging physics
Hooked up Bullet's internal debug draw functionality to our client.
Under the Developer > Physics Menu there are five new items:

  * Show Bullet Collision - will draw all collision shapes in wireframe. WARNING: can be slow on large scenes.
  * Show Bullet Bounding Boxes - will draw axis aligned bounding boxes around all physics shapes.
  * Show Bullet Contact Points - will draw all contact points where two or more objects are colliding.
  * Show Bullet Constraints - will render wire frame axes for each constraint connecting bodies together.
  * Show Bullet Constraint Limits - will render the joint limits for each constraint.
2018-05-02 10:51:00 -07:00
Andrew Meadows
623a29b14a add ownership infection for constraints 2018-01-04 16:48:06 -08:00
Andrew Meadows
2538204b1e expose physics simulation stats to Test JS API 2017-12-11 11:31:00 -08:00
Andrew Meadows
4540e9e483 add ability to save simulation stats to file 2017-12-11 11:31:00 -08:00
Andrew Meadows
068d04c58d abstraction of recursion through bullet perf stats 2017-12-11 11:31:00 -08:00
Seth Alves
142739eec7 Merge pull request #10602 from AndrewMeadows/simulation-ownership-002
fixes for some simulation ownership problems
2017-06-02 14:23:19 -07:00
Andrew Meadows
74827fc4c8 recently moved static objects added to changelist
since static objects are not active this will make the interface
release ownership of recently changed static objects
2017-06-01 17:39:21 -07:00
Andrew Meadows
c22e4ef883 rename method to clarify where it is called 2017-05-25 13:48:19 -07:00
Andrew Meadows
a31a861e19 fix typo: physcis --> physics 2017-05-05 09:33:50 -07:00
Andrew Meadows
aceac12398 use 'using' instead of 'typedef' 2017-04-27 13:11:57 -07:00
Seth Alves
2dab3069da fix bug that was causing spring action to cause constant re-insertion of its rigidbody into bullet. store UUIDs rather than shared pointers in _objectDynamicsByBody so that refcounting works right and actions get their destructors called. 2017-04-14 11:06:40 -07:00
Seth Alves
f5a5369055 attempt to remove dynamics associated with a rigid-body before removing the rigid-body 2017-04-14 07:06:53 -07:00
Seth Alves
52aee63e05 keep track of objectDynamics per rigidBody 2017-04-14 06:08:58 -07:00
Seth Alves
afa8fc161b allow hinge constraint between two entities 2017-04-13 15:37:28 -07:00
Seth Alves
74c0a70cb0 rename base action classes to dynamics, start on constraints 2017-04-11 20:39:13 -07:00
Andrew Meadows
8ddcae2a15 restore transform of deactivated entities 2017-03-09 17:26:53 -08:00
Anthony J. Thibault
89ae3b3d6e Revert "Merge pull request #8691 from highfidelity/out-of-body-experience"
This reverts commit efe9571ab8, reversing
changes made to 333e9ec7f4.
2016-12-05 15:18:03 -08:00
Andrew Meadows
2bbe2be516 fix spelling: physcis --> physics 2016-12-01 10:50:10 -08:00
Andrew Meadows
e44672180a add Bullet profile info to PerformanceTimer stats 2016-10-21 13:22:22 -07:00
Andrew Meadows
bb59860cfe update Aabb's of static objects when they move 2016-04-14 11:18:10 -07:00
Andrew Meadows
dcf28937cf cleanup cached Physics::sessionUUID 2016-04-14 11:18:10 -07:00
Seth Alves
69bb0ebd74 Revert "faster kinematic motion for entities" 2016-04-04 16:11:54 -07:00
Andrew Meadows
25fbf926df CollisionWorld only updates _active_ Aabbs
we manually set/clear active state of static objects
  that need their Aabbs updated
also fixing a bug when starting kinematic motion
2016-04-01 13:14:03 -07:00
Andrew Meadows
532f0683e8 remove all contact info before removing objects 2016-02-10 17:58:38 -08:00
Andrew Meadows
a92c512c17 move collision group/mask calculus into EntityItem 2016-01-19 19:52:08 -08:00
Andrew Meadows
6c49d81475 collision mask bit reinterpretation
also cache sessionID in static methods inside PhysicsEngine
2016-01-12 15:08:52 -08:00
Andrew Meadows
e1ba4ff0a8 add CollisionMask entity property 2016-01-12 15:08:52 -08:00
Andrew Meadows
42711e5bad remove unused variable 2016-01-07 10:20:03 -08:00
Andrew Meadows
6eb177091b overhaul of MotionState cleanup
Moved MotionState deletes out of PhysicsEngine.
EntityMotionStates are deleted by the PhysicsEntitySimulation.
AvatarMotionStates are deleted in the Avatar dtor.
2016-01-07 10:19:46 -08:00
Andrew Meadows
4208380d1c namechange 2016-01-07 10:19:46 -08:00