Andrew Meadows
f5352333f0
entities use radians per second for angular velocity
2015-03-06 16:42:06 -08:00
Andrew Meadows
373be95297
entity cubes are in meters
2015-03-06 15:32:03 -08:00
Virendra Singh
84e05e361e
Accuracy improved to 0.01
2015-03-06 22:07:35 +05:30
Virendra Singh
42867bf98d
code revamp
2015-03-06 11:10:38 +05:30
Seth Alves
ac0c4e8512
cap max speed at MAX_WALKING_SPEED
2015-03-04 19:57:06 -08:00
Seth Alves
a8b688d540
move _velocity into base class. walking on a cube works
2015-03-04 15:26:02 -08:00
Seth Alves
b4998e9c53
falling onto an object works
2015-03-04 08:48:48 -08:00
Virendra Singh
4366525da4
Removed unused variables
2015-03-04 08:51:44 +05:30
Virendra Singh
1facbbb844
Removed MSVC specific for each blocks
2015-03-04 08:21:39 +05:30
Seth Alves
8eec66c066
merge upstream, avatar can now fall onto a cube
2015-03-03 18:37:16 -08:00
Seth Alves
7e4b597ca3
keep physics specific code in PhysicsEngine
2015-03-03 15:45:10 -08:00
Seth Alves
5d4ef8d5b8
initial flailing
2015-03-03 14:30:26 -08:00
Virendra Singh
4627d2e7b5
Parallel axis theorem correction
2015-03-04 03:52:59 +05:30
Virendra Singh
7a129235c2
Mass properties unit tests
2015-03-04 01:12:20 +05:30
Virendra Singh
3d558dae64
MassProperties of a 3D mesh
2015-03-03 01:51:35 +05:30
Philip Rosedale
c2e559342a
Merge pull request #4341 from AndrewMeadows/bispinor
...
load non-moving dynamic objects as "inactive" in physics engine
2015-02-26 09:21:49 -08:00
Andrew Meadows
5776df1012
load dynamic obj as inactive when not moving
2015-02-25 12:07:19 -08:00
Stephen Birarda
6b08b2993a
fix for bullet system include to silence warnings
2015-02-19 13:03:16 -08:00
Stephen Birarda
70a89680f5
fix bullet include to match previous format
2015-02-19 12:04:41 -08:00
Stephen Birarda
6f055ca0d7
add an external project to handle bullet
2015-02-19 12:01:40 -08:00
Stephen Birarda
b2e587dbbd
remove use of include_dependency_includes and use cmake
2015-02-18 14:12:05 -08:00
Stephen Birarda
e99012efbb
updates to build guides to remove soxr
2015-02-17 10:33:12 -08:00
Stephen Birarda
8c998a65ee
use the glm find_package and check externals
2015-02-13 12:50:32 -08:00
Stephen Birarda
d7ce10dedb
use external project glm for physics library
2015-02-13 10:33:35 -08:00
Andrew Meadows
f4a4c9786c
don't create shape for SHAPE_TYPE_NONE
2015-02-11 08:43:55 -08:00
Andrew Meadows
3239c259f9
remove commented out cruft
2015-02-11 08:43:19 -08:00
Andrew Meadows
e6a6946027
merge upstream/master into andrew/thermonuclear
2015-02-09 12:44:52 -08:00
Andrew Meadows
0ef5d42a5b
unit tests support new ShapeInfo API
2015-02-08 15:13:21 -08:00
Andrew Meadows
12a7021bb5
ShapeInfo computs own DoubleHashKey, gets new API
2015-02-08 15:12:44 -08:00
Andrew Meadows
b4da2ddd52
fix physics crash on disconnect from domainserver
2015-02-05 09:13:32 -08:00
Andrew Meadows
28a3c3f469
separate new shape types from legacy
2015-02-03 08:34:06 -08:00
Andrew Meadows
58bb137c4d
bulletRotationStep --> computeBulletRotationStep
2015-01-27 17:37:12 -08:00
Andrew Meadows
23bd3f90d9
Bullet-style rotation integration for kinematics
...
and for dead reckoning after wire-transfer
2015-01-27 17:27:15 -08:00
Andrew Meadows
d1cf6559c5
merge upstream/master into andrew/isentropic
...
Conflicts:
libraries/physics/src/ObjectMotionState.cpp
2015-01-27 16:24:11 -08:00
Andrew Meadows
d5c0c200de
optimization for when physics engine doesn't step
2015-01-27 15:54:32 -08:00
Andrew Meadows
aebdd3b335
fix bad extrapolation of rapidly spinning objects
2015-01-27 15:53:37 -08:00
ZappoMan
23892ab1e7
fixed comments
2015-01-27 11:38:14 -08:00
ZappoMan
94e04e2d7d
removed extra whitespace
2015-01-27 11:34:46 -08:00
ZappoMan
b1586d4f90
move debug into ifdef
2015-01-27 11:29:17 -08:00
ZappoMan
45dbff67f8
more hacking
2015-01-27 11:15:33 -08:00
ZappoMan
83d1cc911a
hacking
2015-01-26 19:38:24 -08:00
ZappoMan
81185cfe56
removed some debugging
2015-01-26 12:46:22 -08:00
ZappoMan
08fbcbaf40
tweaks for debugging
2015-01-26 12:38:02 -08:00
ZappoMan
a1ec44b8e0
add developer menu item to disable sending physics updates
2015-01-26 12:05:57 -08:00
ZappoMan
73b9c06ec0
added some debugging
2015-01-26 11:13:30 -08:00
ZappoMan
f85774c687
adding some debugging
2015-01-26 09:45:33 -08:00
ZappoMan
9cc61e90f7
Merge branch 'master' of https://github.com/highfidelity/hifi into fixGlitches
...
Conflicts:
libraries/entities/src/EntityItem.cpp
2015-01-23 15:01:35 -08:00
Andrew Meadows
1ad5f9c7db
merge upstream/master into andrew/isentropic
...
Conflicts:
libraries/physics/src/ObjectMotionState.cpp
2015-01-23 14:04:26 -08:00
ZappoMan
c01d2d657c
added comment
2015-01-23 13:55:12 -08:00
Andrew Meadows
b34189115d
Merge branch andrew/isentropic
2015-01-23 13:21:45 -08:00
Andrew Meadows
f2bcdfa2b4
update _lastSimulated for kinematic motion
2015-01-23 13:10:41 -08:00
Andrew Meadows
eefd32b42b
remove KinematicController classes
2015-01-23 11:04:02 -08:00
Andrew Meadows
d173afaa70
add support for non-physical kinematic movement
2015-01-23 11:01:46 -08:00
Andrew Meadows
355759d3d4
Merge pull request #4152 from ZappoMan/fixGlitches
...
Fix glitches in bullets and multiple viewers
2015-01-22 13:49:00 -08:00
ZappoMan
d34764bd55
fix whitespace diff
2015-01-22 13:33:59 -08:00
ZappoMan
6a9a6968f2
debugging stutter
2015-01-22 13:32:57 -08:00
ZappoMan
c6ad1462e6
debugging stutter
2015-01-22 13:31:59 -08:00
ZappoMan
838a549abe
debugging stutter
2015-01-22 13:31:09 -08:00
ZappoMan
14c7dc8eb9
debugging stutter
2015-01-22 13:13:18 -08:00
Andrew Meadows
3997b916c1
remove ground collision hack for physics testing
2015-01-22 09:17:51 -08:00
Andrew Meadows
77c4362991
fix typo
2015-01-21 18:14:24 -08:00
Andrew Meadows
b2e79a0157
don't process results when no simulation
2015-01-21 18:06:19 -08:00
Andrew Meadows
2751fab2c3
don't send collision events for inactive pairs
...
also throttle collision events to 30/sec
2015-01-21 18:02:13 -08:00
Andrew Meadows
1c38b08e8f
remane emitEntityCollision... to entityCollision...
2015-01-21 14:07:23 -08:00
Andrew Meadows
6840daa0b5
removing tabs from formatting
2015-01-21 11:55:28 -08:00
Andrew Meadows
e49c76656f
merge upstream/master into andrew/isentropic
...
Conflicts:
libraries/physics/src/PhysicsEngine.cpp
2015-01-21 11:35:36 -08:00
Andrew Meadows
86583f3f3f
physics collisions emit script collision events
2015-01-21 11:27:32 -08:00
Andrew Meadows
790d07d346
track known contacts and generate collision events
2015-01-20 14:18:10 -08:00
Andrew Meadows
5da38834e2
introduce notion of NumSteps vs NumSubsteps
2015-01-20 11:16:40 -08:00
Andrew Meadows
0154c613d0
change FrameCount to NumSubsteps for more accuracy
2015-01-20 11:02:48 -08:00
Andrew Meadows
549e3fac5f
store backpointer to MotionState in btRigidBody
2015-01-20 10:45:58 -08:00
Andrew Meadows
e4f29412d5
cheaper failure adding entity to physics engine
2015-01-19 18:11:14 -08:00
Andrew Meadows
171fead347
remove log about failure to add to physics engine
2015-01-19 15:55:53 -08:00
Andrew Meadows
840acecbe6
merge upstream/master into andrew/bispinor
...
Conflicts:
libraries/physics/src/EntityMotionState.cpp
2015-01-16 15:22:06 -08:00
Andrew Meadows
d5efc375d9
Merge pull request #4128 from ZappoMan/master
...
fix double targets and freezing bullets
2015-01-16 14:37:22 -08:00
Andrew Meadows
d5119b3532
merge upstream/master into andrew/bispinor
...
Conflicts:
libraries/entities/src/EntityItem.cpp
libraries/physics/src/EntityMotionState.h
libraries/physics/src/ObjectMotionState.cpp
libraries/physics/src/PhysicsEngine.cpp
libraries/physics/src/PhysicsEngine.h
2015-01-16 14:36:27 -08:00
ZappoMan
9a60896a40
fix double targets and freezing bullets
2015-01-16 14:24:50 -08:00
Andrew Meadows
7c9419aa4e
fix non-bullet build
2015-01-16 10:34:52 -08:00
Andrew Meadows
2427fa68cd
remove unnecessary Bullet #include
2015-01-16 10:06:39 -08:00
Andrew Meadows
3fed38793e
merge andrew/origin/inertia to andrew/local/inertia
2015-01-15 17:55:51 -08:00
Andrew Meadows
4c1cd991f4
remove pessimistic send of object updates
...
we have not yet seen the headache of packetloss and unreliable messages
2015-01-15 17:53:37 -08:00
Andrew Meadows
250fd98fee
support for simple kinematic motion
2015-01-15 17:51:01 -08:00
Andrew Meadows
51cc9d6d9a
alt method for repressing unused var warnings
2015-01-15 10:46:09 -08:00
Andrew Meadows
9eb4d66327
remove warnings
2015-01-15 10:36:17 -08:00
Andrew Meadows
ff171a5782
Bullet is now required dependency
2015-01-15 10:27:43 -08:00
Andrew Meadows
03b8badd81
EntityItem stores density rather than mass.
2015-01-14 15:00:57 -08:00
Andrew Meadows
dcca5d532a
fix for glitchy physics updates
...
The main problem was: ObjectMotionState::_sentPosition and friends
were not being updated when the EntityServer update arrives.
2015-01-13 14:00:37 -08:00
Andrew Meadows
4946ec18b6
remove some TODO comments
2015-01-09 09:28:01 -08:00
Andrew Meadows
1d371a9627
merge upstream/master into andrew/inertia
2015-01-08 10:24:05 -08:00
Andrew Meadows
c37c1515ba
EntitySimulation is lockable
...
also DeleteEntityOperator just removes the entities
and EntityTree does the actual delete
(after properly locking its _simulation)
2015-01-08 10:22:25 -08:00
Andrew Meadows
d2bd95703a
use degrees/sec for EntityItem angular velocity
2015-01-07 14:04:22 -08:00
Andrew Meadows
0a8437a578
increasing default restitution to 0.5
2015-01-05 17:31:23 -08:00
Andrew Meadows
e2884c56f5
only predict remote transform for moving objects
2015-01-05 15:16:03 -08:00
Andrew Meadows
75a8faec86
purge support for voxels from PhysicsEngine
2015-01-05 15:02:18 -08:00
Andrew Meadows
244a8503ef
include damping in remote extrapolation model
2015-01-05 14:48:16 -08:00
Andrew Meadows
3b7770f405
change meaning of damping to agree with bullet
...
0 = no damping
1 = 100% damping
The new formula is: velocity *= (1 - damping)^dt
2015-01-05 11:23:01 -08:00
Andrew Meadows
30200ef7eb
add damping to ObjectMotionState
2015-01-05 09:17:46 -08:00
Andrew Meadows
6f72d4ad81
easier to read Bullet to GLM conversions and back
2014-12-30 13:15:57 -08:00
Andrew Meadows
5e2246625b
fix layout to abide by the coding standard
2014-12-30 12:09:22 -08:00
Andrew Meadows
e43d7b7369
fix indentation in ctor init
2014-12-30 12:05:28 -08:00
Andrew Meadows
ce14c823a1
add comment about stubbed ObjectMotionState
...
for when Bullet lib is not found
2014-12-29 16:41:27 -08:00
Andrew Meadows
a97b8b0ea9
fix memory leak of EntityMotionState's
2014-12-29 16:33:41 -08:00
Andrew Meadows
8cb8092310
remove unused code
...
I forget what I was using UUIDHashKey for
2014-12-29 10:55:47 -08:00
Andrew Meadows
b078850c6a
remove personal TODO list from code file
2014-12-29 10:46:56 -08:00
Andrew Meadows
9b7e50858a
merge upstream/master into andrew/inertia
...
Conflicts:
libraries/avatars/CMakeLists.txt
libraries/entities/CMakeLists.txt
2014-12-29 09:15:49 -08:00
Andrew Meadows
25b00977be
fix cmake config for bullet after c++-11 changes
2014-12-18 17:34:39 -08:00
Stephen Birarda
114e3bb2ff
rename cmake macro to represent actual purpose
2014-12-18 16:51:20 -08:00
Andrew Meadows
c6afa0f7e1
remove test hack for higher than normal ground
2014-12-17 14:17:30 -08:00
Andrew Meadows
6ea766b48d
merge andrew/thermonuclear into andrew/inertia
...
Conflicts:
interface/src/Application.cpp
libraries/entities/src/EntityItem.cpp
libraries/entities/src/EntityTypes.cpp
2014-12-17 13:21:00 -08:00
Andrew Meadows
905d7f50eb
comments on TODO list
2014-12-17 12:39:48 -08:00
Andrew Meadows
8de309a7a9
more correct _created and _lastEdited
2014-12-17 12:38:26 -08:00
Andrew Meadows
31486a81c1
updated TODO notes
2014-12-15 14:41:04 -08:00
Andrew Meadows
b3731e9530
hack for "reliable" packet send when objects stop moving
2014-12-15 14:36:27 -08:00
Andrew Meadows
fd8e3f6169
add moved entities to lists for sorting
...
and also for outgoing packet updates
2014-12-12 13:28:12 -08:00
Andrew Meadows
ad7641c7e0
repairs to build when Bullet not found
2014-12-11 16:05:45 -08:00
Andrew Meadows
c3f8f8ab98
init PhysicsEngine with an EntityEditPacketSender
2014-12-11 13:29:29 -08:00
Andrew Meadows
4977bfb708
ObjectMotionState puts self on outgoing queue
2014-12-11 12:40:43 -08:00
Andrew Meadows
572ceb75a4
clarification of what outgoing flags are about
2014-12-11 12:07:53 -08:00
Andrew Meadows
cc0e82b97f
incoming changes is now QSet<ObjectMotionState*>
2014-12-11 10:56:22 -08:00
Andrew Meadows
11f1ad1d7f
move worldOffset into ObjectMotionState
...
add more methods for getting/clearing incoming/outgoing flags
2014-12-11 10:52:34 -08:00
Andrew Meadows
d9f183458a
_entityMotionStates is Qset of EntityMotionState*
2014-12-11 08:43:01 -08:00
Andrew Meadows
f9ba4d355c
implement EntitySimulation API in PhysicsEngine
2014-12-10 17:01:20 -08:00
Andrew Meadows
ab75150175
moved position/velocity send history to base class
2014-12-10 17:00:23 -08:00
Andrew Meadows
b0cc3a8509
add logic for when to update moving entity
2014-12-08 17:18:07 -08:00
Andrew Meadows
d6c97be78e
using an infinite plane for the ground
2014-12-03 20:17:42 -08:00
Andrew Meadows
85e7c6166b
support for spherical entities
2014-12-03 12:10:26 -08:00
Andrew Meadows
3c67400e13
namechange CustomMotionState to ObjectMotionState
2014-12-03 11:12:04 -08:00
Andrew Meadows
8d49b694cc
ShapeManager doesn't support tiny and giant shapes
2014-12-03 10:08:26 -08:00
Andrew Meadows
64cdef42fe
simplified API of PositionHashKey
2014-12-03 07:23:14 -08:00
Andrew Meadows
29d0d10103
track entities added to PhysicsEngine
...
also fix for RigidBody's not going dynamic
and a fix for changed entities staying on changed list
2014-12-02 17:47:48 -08:00
Andrew Meadows
9f11121df2
oops, forgot to add entities to Bullet simulation
2014-12-02 15:44:07 -08:00
Andrew Meadows
c9ea6885c1
PhysicsEngine is now an EntitySimulation
2014-12-02 15:29:41 -08:00
Andrew Meadows
919214b7cb
split ShapeInfo into shared and physics parts
2014-12-02 10:44:40 -08:00
Andrew Meadows
e6a9081184
Moving ShapeInfo to shared lib
2014-12-01 16:47:55 -08:00
Andrew Meadows
8aba2a06e0
Splitting Bullet stuff out of ShapeInfo
2014-12-01 16:47:33 -08:00
Andrew Meadows
1df6c32a4e
moving Shape* back into shared lib
...
removing dependency of entities lib on physics lib
physics lib now depends on entities lib
2014-12-01 16:03:14 -08:00
Andrew Meadows
1c569dcf33
remove some cruft
2014-11-24 15:05:09 -08:00
Andrew Meadows
0e0eaea849
fix typo that broke the build
2014-11-24 11:36:17 -08:00
Andrew Meadows
37093cbd00
merge upstream/master into andrew/inertia
...
Conflicts:
interface/src/Application.cpp
2014-11-24 11:24:39 -08:00
Andrew Meadows
ec1f11c1a8
route more entity updates into physics engine
2014-11-24 11:21:40 -08:00
Atlante45
ae3bcc8f06
No more .f
2014-11-19 16:53:39 -08:00
Andrew Meadows
48164c9399
cleanup and moving things around
2014-11-19 15:31:17 -08:00
Andrew Meadows
388830c2a2
Merge branch 'bispinor' into inertia
...
Conflicts:
interface/src/entities/RenderableModelEntityItem.cpp
libraries/entities/src/BoxEntityItem.cpp
libraries/entities/src/EntityItem.cpp
libraries/entities/src/EntityItem.h
libraries/entities/src/EntityTree.cpp
libraries/entities/src/EntityTree.h
libraries/entities/src/EntityTreeElement.cpp
2014-11-18 10:23:38 -08:00
Andrew Meadows
2d400e6ae0
rename PhysicsWorld to PhysicsEngine
2014-11-18 09:55:25 -08:00
Andrew Meadows
2f9a35412f
initial support for STATIC and KINEMATIC motion
2014-11-14 15:56:52 -08:00
Andrew Meadows
7fb7256a92
MotionState also ferries velocity
2014-11-14 09:02:22 -08:00
Andrew Meadows
14f49df44d
Application gets a ThreadSafePhysicsWorld
2014-11-13 10:02:36 -08:00
Andrew Meadows
0117233ed4
add ThreadSafeDynamicsWorld pure virtual interface
2014-11-12 15:19:33 -08:00
Andrew Meadows
9e5007a0a3
added a comment
2014-11-11 17:31:27 -08:00
Andrew Meadows
ccc3156587
PhysicsWorld::addEntity() doesn't need mass arg
2014-11-11 17:28:42 -08:00
Andrew Meadows
7c53c7a495
fix build to work when cmake does not fiind Bullet
2014-11-11 12:24:29 -08:00
Andrew Meadows
0d0f98f669
init and step physics simulation
2014-11-11 12:09:59 -08:00
Andrew Meadows
82d7b70ec9
add offset to physics simulation
2014-11-11 10:56:31 -08:00
Andrew Meadows
ed90bf00b9
add offset to physics simulation
...
we anticipate floating point error problems at distances far from origin
and we don't want the simulation to span a big space anyway
so world-frame objects are simulated in a local frame
and positions are translated back and forth as necessary
2014-11-07 08:51:57 -08:00
Andrew Meadows
053b16783c
initial impl of PhysicsWorld::addEntity()
2014-11-06 16:42:07 -08:00
Andrew Meadows
94b6d89b4e
namechange EntityMotionState to CustomMotionState
2014-11-06 10:59:04 -08:00
Andrew Meadows
01b76af9d0
moved EntityMotionState.* to CustomMotionState.*
2014-11-06 10:58:04 -08:00
Andrew Meadows
1097e7f1f2
stubbery for EntityMotionState
2014-11-05 16:35:06 -08:00
Andrew Meadows
8e90cca290
PhysicsWorld can add and remove voxels
2014-11-05 13:05:43 -08:00
Andrew Meadows
2734afcf9a
Adding BulletUtil.h with tests.
2014-11-04 16:43:50 -08:00
Andrew Meadows
57e972d876
ShapeKey now derives from DoubleHashKey
2014-11-04 14:54:35 -08:00
Andrew Meadows
f1bdd2ef7b
PhysicsWorld has a ShapeManager
2014-11-03 16:02:16 -08:00
Andrew Meadows
4a1133fbc2
moved ShapeInfo tests to their own file
2014-11-03 15:25:04 -08:00
Andrew Meadows
b1b6188bb8
ShapeManager has improved HashMap
2014-11-03 14:01:19 -08:00
Andrew Meadows
d26540b029
ShapeManager now under unit test
2014-10-31 17:13:17 -07:00
Andrew Meadows
50a97849bb
Add PhysicsWorld and ShapeManager classes
2014-10-30 10:42:44 -07:00
Andrew Meadows
29fd359385
fix typo in libraries/physics/CMakeLists.txt
2014-10-29 14:39:23 -07:00
Andrew Meadows
c18121756c
fixed path to file in comments
2014-10-29 14:33:11 -07:00
Andrew Meadows
c9450bba02
Adding Bullet as non-required dependency
2014-10-28 17:32:34 -07:00
Andrew Meadows
4c3cdf5b7a
move stuff out of shared and into physics library
2014-10-28 13:51:45 -07:00