Commit graph

150 commits

Author SHA1 Message Date
Andrew Meadows
36c20c24fe fix for velocity in units of domain size 2015-01-23 13:20:12 -08:00
Andrew Meadows
f2bcdfa2b4 update _lastSimulated for kinematic motion 2015-01-23 13:10:41 -08:00
Andrew Meadows
d173afaa70 add support for non-physical kinematic movement 2015-01-23 11:01:46 -08:00
Philip Rosedale
1ff90bec5d Merge pull request #4124 from AndrewMeadows/inertia
support for simple kinematic motion
2015-01-16 13:33:44 -08:00
Andrew Meadows
4392af3b3a Remove pre-Bullet server-side EntityItem motion 2015-01-16 09:26:43 -08:00
Andrew Meadows
3fed38793e merge andrew/origin/inertia to andrew/local/inertia 2015-01-15 17:55:51 -08:00
Andrew Meadows
250fd98fee support for simple kinematic motion 2015-01-15 17:51:01 -08:00
Andrew Meadows
ccc50dd94f use density instead of mass 2015-01-14 15:47:44 -08:00
Andrew Meadows
03b8badd81 EntityItem stores density rather than mass. 2015-01-14 15:00:57 -08:00
Andrew Meadows
04b4a95ccb fix for bad cleanup (3 places) 2015-01-13 14:21:41 -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
7a2ecd27fd fix typo 2015-01-12 14:32:32 -08:00
Andrew Meadows
bece05a994 entity prop defaults move to their own header 2015-01-12 11:49:31 -08:00
Andrew Meadows
e711b86519 scale DEFAULT_DIMENSIONS correctly
also remove a block of commented out cruft
2015-01-10 19:07:58 -08:00
Andrew Meadows
1184f5b668 merge upstream/master into andrew/inertia 2015-01-10 12:45:14 -08:00
Andrew Meadows
25e64d619c move statics out of EntityItem
This makes for much more readable core dumps
2015-01-10 11:46:42 -08:00
Andrew Meadows
99e1fdd46e fix for EntityServer crash
adding EntityItem::_element backpointer for easier add/remove logic
2015-01-10 07:44:26 -08:00
Andrew Meadows
4946ec18b6 remove some TODO comments 2015-01-09 09:28:01 -08:00
Andrew Meadows
b0b2eb5d38 use exact equality for filtering dimension changes 2015-01-08 11:09:32 -08:00
Andrew Meadows
af9bafae87 fix typo 2015-01-07 12:48:16 -08:00
Andrew Meadows
1745548665 fix rapid attenuation of angular velocity 2015-01-07 12:42:50 -08:00
Andrew Meadows
162854c5a5 Merge pull request #4025 from ZappoMan/voxelEctomy
Voxel ectomy
2015-01-05 13:20:30 -08:00
Andrew Meadows
6fb4e1f622 oops, need to update angularVelocity after damping 2015-01-05 12:23:55 -08:00
Andrew Meadows
bf6b8f9ca7 do not zero small velocities for non-bullet case 2015-01-05 12:01:09 -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
d032eab0de merge upstream/master into andrew/inertia 2015-01-05 09:19:37 -08:00
Atlante45
022beff569 Initialize entities' _locked and _script 2015-01-02 12:37:00 -08:00
Andrew Meadows
0d3e78fdb8 modify extrapolation behavior when bullet enabled
Allows Bullet to specify an object as "at rest"
by setting velocity to zero.
Also, moved velocity damping above position integration
to get the same order of operations as Bullet.
2014-12-31 16:32:09 -08:00
ZappoMan
9630279459 Merge branch 'master' of https://github.com/highfidelity/hifi into voxelEctomy
Conflicts:
	examples/editVoxels.js
	examples/fallingSand.js
	examples/growTrees.js
	interface/src/Application.cpp
	interface/src/Application.h
	libraries/avatars/CMakeLists.txt
	libraries/entities/src/EntityItem.h
2014-12-31 10:50:53 -08:00
ZappoMan
4ea9bbc309 first major pass at voxelEctomy 2014-12-30 18:08:58 -08:00
Andrew Meadows
da551a0a76 restore script change detection to what it was 2014-12-30 11:56:39 -08:00
Andrew Meadows
ba873deb49 ignore Entity updates that don't change anything 2014-12-30 11:38:24 -08:00
Andrew Meadows
97f44b64fc assert NULL EntityItem::_physicsInfo in dtor 2014-12-29 15:27:54 -08:00
Andrew Meadows
dab1f026d7 simpler EntityItem::simulate() bypass for bullet 2014-12-18 13:56:18 -08:00
Andrew Meadows
85fd1fc14f merge andrew/thermonuclear into andrew/inertia
Conflicts:
	interface/src/Application.cpp
	libraries/entities/src/EntityItem.cpp
2014-12-18 13:46:06 -08:00
Andrew Meadows
28381a3b70 cleanup of EntityItem::_created timestamp logic
EntityItem::_created initializes to 0 in ctor
and must be set either by EntityItemProperties (via server update)
or manually whenever a script creates a fresh entity
2014-12-18 11:39:02 -08:00
Andrew Meadows
756d09d895 fix typo that broke the build 2014-12-17 16:06:15 -08:00
Andrew Meadows
75d468da9e set _lastEdited to _created rather than to zero 2014-12-17 15:59:16 -08:00
Andrew Meadows
44ebf37510 handle case where obj at rest but still falls 2014-12-17 15:52:34 -08:00
Andrew Meadows
1e5c44f117 accept changes with the same Edit timestamp 2014-12-17 15:48:49 -08:00
Andrew Meadows
547c4cdaf9 make non-bullet entity simulation work again 2014-12-17 14:52:38 -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
8de309a7a9 more correct _created and _lastEdited 2014-12-17 12:38:26 -08:00
Andrew Meadows
e36ee2a961 more correct creation and edit times for entities 2014-12-17 12:19:34 -08:00
Andrew Meadows
0f488bca02 differentiation btw _lastEdited and _lastSimulated 2014-12-15 14:28:53 -08:00
Andrew Meadows
3fd2f12a73 merge upstream/master into andrew/inertia
Conflicts:
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityItem.h
	libraries/entities/src/EntitySimulation.h
	libraries/entities/src/EntityTree.cpp
	libraries/entities/src/EntityTreeElement.cpp
	libraries/entities/src/SimpleEntitySimulation.cpp
	libraries/entities/src/SimpleEntitySimulation.h
	libraries/entities/src/SphereEntityItem.cpp
2014-12-09 12:41:53 -08:00
Andrew Meadows
3ce1d4a38d set dirty bit when script changes simulation stuff
also fixes for linear and angular damping
2014-12-08 11:21:01 -08:00
Andrew Meadows
7d96ad5836 cleanup of EntitySimulation API
* remove EntityItem::_simulationState (only useful to EntitySimulation)
* move code from SimpleEntitySimuation to EntitySimulation
* EntitySimulation now maintans many QSets of entities
* cleanup and clarify use of EnityTree::updateEntity()
* reduced cost of polling for entity expiries
* changed "UpdateFlags" to "DirtyFlags" and clarified what they're for
2014-12-05 18:08:53 -08:00
Andrew Meadows
85e7c6166b support for spherical entities 2014-12-03 12:10:26 -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