Commit graph

223 commits

Author SHA1 Message Date
Andrew Meadows
0456cb298f lower threshold for ignoring rotation updates
one hundred fold smaller
2015-02-24 17:16:00 -08:00
Andrew Meadows
e6a6946027 merge upstream/master into andrew/thermonuclear 2015-02-09 12:44:52 -08:00
Andrew Meadows
450713fdaa Entitis support new (pending) API for ShapeInfo 2015-02-08 15:08:50 -08:00
Stephen Birarda
c96085eb91 repairs to warnings shown in Xcode 2015-02-06 10:12:04 -08:00
ZappoMan
8fd11e70cc clamp dt for skipTimeForward to prevent near infinite loops 2015-02-04 15:16:18 -08:00
Andrew Meadows
547a416c3b merge upstream/master into andrew/bispinor 2015-02-03 18:33:10 -08:00
Andrew Meadows
90202591fc remove legacy shapes from EntityItem and friends 2015-02-03 10:05:39 -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
ZappoMan
23892ab1e7 fixed comments 2015-01-27 11:38:14 -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
02c0700db3 support for skipping forward on new edit packets from server 2015-01-26 17:25:06 -08:00
ZappoMan
81185cfe56 removed some debugging 2015-01-26 12:46:22 -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
Andrew Meadows
eb4678659a remove EntityItem::getDistanceToBottomOfEntity()
and also isRestingOnSurface()
2015-01-23 15:56:44 -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
ZappoMan
fa485d21b7 added comment 2015-01-23 13:52:28 -08:00
ZappoMan
3c38a9eb53 add last simulated to the protocal 2015-01-23 13:32:38 -08:00
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
ZappoMan
838a549abe debugging stutter 2015-01-22 13:31:09 -08:00
ZappoMan
14c7dc8eb9 debugging stutter 2015-01-22 13:13:18 -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
Andrew Meadows
ec1f11c1a8 route more entity updates into physics engine 2014-11-24 11:21:40 -08:00
Andrew Meadows
51da678675 update entity MotionType when it changes 2014-11-19 17:05:31 -08:00
Andrew Meadows
8bd3779d7d merge andrew/thermonuclear into andrew/inertia
Conflicts:
	libraries/entities/src/EntityItem.h
2014-11-19 15:55:10 -08:00
Andrew Meadows
11e7339e9e add UPDATE_COLLISION_GROUP and UPDATE_MOTION_TYPE 2014-11-19 15:52:57 -08:00
Andrew Meadows
961dc5a231 merge andrew/thermonuclear into andrew/inertia
Conflicts:
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityItem.h
2014-11-19 15:41:53 -08:00
Andrew Meadows
97d1dc4200 use updateFoo() where entity properties need relay
clear EntityItem updateFlags when processed
2014-11-19 15:12:22 -08:00
Andrew Meadows
a183248f38 add updateFoo() methods that accumulate flags
about properties that have changed
2014-11-19 14:12:26 -08:00
Andrew Meadows
3b85805048 add EntityItem::updateFoo() methods that set flags
when properties are actually changed
2014-11-19 14:01:55 -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
af606f01a9 combined SimulationStates Moving and Changing
also funnel entity updates by UDP packet through a single list
2014-11-17 17:35:44 -08:00
Andrew Meadows
dd0bdabfe1 setSimulationState() --> computeSimulationState() 2014-11-17 15:50:35 -08:00
Andrew Meadows
5eb606c44a merge upstream/master into andrew/inertia 2014-11-14 09:04:27 -08:00
Atlante45
9fc7451581 Move macros to the end 2014-11-13 17:06:57 -08:00
Atlante45
40576b3c03 moved append to the end 2014-11-13 17:02:45 -08:00
Atlante45
f8be98260c String specific macros 2014-11-13 16:32:15 -08:00
Atlante45
f47620231e Entities have user data 2014-11-13 16:16:20 -08:00
Andrew Meadows
66857b823f EntityTree has a PhysicsWorld 2014-11-11 17:34:00 -08:00
Andrew Meadows
fa48da6c98 merge upstream/master into andrew/inertia
Conflicts:
	libraries/entities/src/EntityItem.cpp
2014-11-11 11:14:12 -08:00
Andrew Meadows
053b16783c initial impl of PhysicsWorld::addEntity() 2014-11-06 16:42:07 -08:00
ZappoMan
5333f0eb19 quiet some debug 2014-11-06 13:45:30 -08:00
ZappoMan
2b62402a57 possible fix for entities not always updating bug 2014-11-06 13:17:46 -08:00
ZappoMan
c650cabb5d support for locked property, some plumbing for textures property 2014-10-30 10:05:20 -07:00
ZappoMan
729e40881d removed some old debug 2014-10-02 17:55:55 -07:00
ZappoMan
e65f383b25 add localRenderAlpha property to entities 2014-10-01 09:43:03 -07:00
ZappoMan
2d81d7c554 add support for ignore collisions and collisions will/wont move entities 2014-09-26 11:43:56 -07:00
ZappoMan
9cd76983a2 swith to using shape collider instead of spheres 2014-09-25 14:35:20 -07:00
ZappoMan
4b52fddffd collions with voxels and avatars 2014-09-24 17:37:56 -07:00